class ActivityEngine::ActivityBuilder
Attributes
activity_receiver[RW]
activity_type[RW]
configuration_proc[RW]
current_user[RW]
message[RW]
subject[RW]
Public Class Methods
new(activity_receiver, configuration_proc)
click to toggle source
# File lib/activity_engine/activity_builder.rb, line 9 def initialize(activity_receiver, configuration_proc) unless activity_receiver.respond_to?(:call) raise RuntimeError, "Excpected :activity_receiver #{activity_receiver.inspect} to be callable" end unless configuration_proc.respond_to?(:call) raise RuntimeError, "Excpected :configuration_proc #{configuration_proc.inspect} to be callable" end self.activity_receiver = activity_receiver self.configuration_proc = configuration_proc end
Public Instance Methods
call(context)
click to toggle source
# File lib/activity_engine/activity_builder.rb, line 20 def call(context) configuration_proc.call(self, context) activity_receiver.call(self.to_activity_data_structure) end
to_activity_data_structure()
click to toggle source
# File lib/activity_engine/activity_builder.rb, line 25 def to_activity_data_structure ActivityDataStructure.new.tap {|ads| ads.subject = subject ads.current_user = current_user ads.message = message ads.activity_type = activity_type } end