Class: Satchel::ActivityBuilder
- Inherits:
-
Object
- Object
- Satchel::ActivityBuilder
- Defined in:
- lib/satchel/activity_builder.rb
Instance Attribute Summary collapse
-
#activity_receiver ⇒ Object
readonly
Returns the value of attribute activity_receiver.
-
#activity_type ⇒ Object
Returns the value of attribute activity_type.
-
#configuration_proc ⇒ Object
readonly
Returns the value of attribute configuration_proc.
-
#current_user ⇒ Object
Returns the value of attribute current_user.
-
#message ⇒ Object
Returns the value of attribute message.
-
#subject ⇒ Object
Returns the value of attribute subject.
Instance Method Summary collapse
- #call(context) ⇒ Object
-
#initialize(activity_receiver, configuration_proc) ⇒ ActivityBuilder
constructor
A new instance of ActivityBuilder.
- #to_activity_data_structure ⇒ Object
Constructor Details
#initialize(activity_receiver, configuration_proc) ⇒ ActivityBuilder
Returns a new instance of ActivityBuilder.
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/satchel/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 |
Instance Attribute Details
#activity_receiver ⇒ Object
Returns the value of attribute activity_receiver.
6 7 8 |
# File 'lib/satchel/activity_builder.rb', line 6 def activity_receiver @activity_receiver end |
#activity_type ⇒ Object
Returns the value of attribute activity_type.
43 44 45 |
# File 'lib/satchel/activity_builder.rb', line 43 def activity_type @activity_type end |
#configuration_proc ⇒ Object
Returns the value of attribute configuration_proc.
6 7 8 |
# File 'lib/satchel/activity_builder.rb', line 6 def configuration_proc @configuration_proc end |
#current_user ⇒ Object
Returns the value of attribute current_user.
43 44 45 |
# File 'lib/satchel/activity_builder.rb', line 43 def current_user @current_user end |
#message ⇒ Object
Returns the value of attribute message.
43 44 45 |
# File 'lib/satchel/activity_builder.rb', line 43 def @message end |
#subject ⇒ Object
Returns the value of attribute subject.
42 43 44 |
# File 'lib/satchel/activity_builder.rb', line 42 def subject @subject end |
Instance Method Details
#call(context) ⇒ Object
20 21 22 23 |
# File 'lib/satchel/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 ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/satchel/activity_builder.rb', line 25 def to_activity_data_structure ActivityDataStructure.new.tap {|ads| ads.subject = subject ads.current_user = current_user ads. = ads.activity_type = activity_type } end |