下面的语法是Sinatra,但问题也适用于Rails。
多个模型使用after_update
和after_create
挂钩。
class MyModel < Sequel::Model
include ActivityStreams
def after_create
send_to_event_stream_after_create
end
def after_update
send_to_event_stream_after_update
end
方法send_to_event_steam_*
在ActivityStreams
模块中定义。
似乎将事件发送到事件流的行为应该是Controller的责任。当创建/更新各种模型时,会发生此操作,并且没有真正的特定于域的行为,以区分更新/创建ModelA或ModelB时发生的情况。
我想干掉几乎所有型号目前乱七八糟的send_to_event_steam_*
的重复呼叫,因为创建&amp;更新挂钩在模型中可用。
这种重构是否可行?使用Observable
是唯一的方法吗?