10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/custom_streams/streamer.rb', line 10
def streamer args={}
has_many :activities, as: :streamable
define_method :streamer_options do
args
end
define_method :create_activity do |activity|
namespace = streamer_options.fetch(:namespace, nil)
name = namespace ? "#{namespace}.#{activity}" : activity
Activity.create streamable_id: self.id, streamable_type: self.class.to_s, name: name
end
define_method :stream do |args={}|
order = args.fetch(:order, 'created_at DESC')
self.activities.order(order)
end
end
|