Module: StreamRails::Activity
- Defined in:
- lib/stream_rails/activity.rb
Class Method Summary collapse
Instance Method Summary collapse
- #activity_actor ⇒ Object
- #activity_actor_id ⇒ Object
- #activity_extra_data ⇒ Object
- #activity_foreign_id ⇒ Object
- #activity_notify ⇒ Object
- #activity_object ⇒ Object
- #activity_object_id ⇒ Object
- #activity_owner_feed ⇒ Object
- #activity_owner_id ⇒ Object
- #activity_should_sync? ⇒ Boolean
- #activity_target ⇒ Object
- #activity_target_id ⇒ Object
- #activity_time ⇒ Object
- #activity_verb ⇒ Object
- #create_activity ⇒ Object
Class Method Details
.included(base) ⇒ Object
29 30 31 |
# File 'lib/stream_rails/activity.rb', line 29 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#activity_actor ⇒ Object
37 38 39 |
# File 'lib/stream_rails/activity.rb', line 37 def activity_actor user end |
#activity_actor_id ⇒ Object
45 46 47 |
# File 'lib/stream_rails/activity.rb', line 45 def activity_actor_id StreamRails.create_reference(activity_actor) end |
#activity_extra_data ⇒ Object
75 76 77 |
# File 'lib/stream_rails/activity.rb', line 75 def activity_extra_data {} end |
#activity_foreign_id ⇒ Object
65 66 67 |
# File 'lib/stream_rails/activity.rb', line 65 def activity_foreign_id StreamRails.create_reference(self) end |
#activity_notify ⇒ Object
73 |
# File 'lib/stream_rails/activity.rb', line 73 def activity_notify; end |
#activity_object ⇒ Object
49 50 51 |
# File 'lib/stream_rails/activity.rb', line 49 def activity_object raise NotImplementedError, "Activity models must define `#activity_object` - missing on `#{self.class}`" end |
#activity_object_id ⇒ Object
61 62 63 |
# File 'lib/stream_rails/activity.rb', line 61 def activity_object_id StreamRails.create_reference(activity_object) end |
#activity_owner_feed ⇒ Object
41 42 43 |
# File 'lib/stream_rails/activity.rb', line 41 def activity_owner_feed activity_actor.class.name.downcase end |
#activity_owner_id ⇒ Object
33 34 35 |
# File 'lib/stream_rails/activity.rb', line 33 def activity_owner_id activity_actor.id end |
#activity_should_sync? ⇒ Boolean
83 84 85 |
# File 'lib/stream_rails/activity.rb', line 83 def activity_should_sync? true end |
#activity_target ⇒ Object
53 54 55 |
# File 'lib/stream_rails/activity.rb', line 53 def activity_target nil end |
#activity_target_id ⇒ Object
69 70 71 |
# File 'lib/stream_rails/activity.rb', line 69 def activity_target_id StreamRails.create_reference(activity_target) if activity_target end |
#activity_time ⇒ Object
79 80 81 |
# File 'lib/stream_rails/activity.rb', line 79 def activity_time created_at.iso8601 end |
#activity_verb ⇒ Object
57 58 59 |
# File 'lib/stream_rails/activity.rb', line 57 def activity_verb self.class.model_name.to_s end |
#create_activity ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/stream_rails/activity.rb', line 87 def create_activity activity = { actor: activity_actor_id, verb: activity_verb, object: activity_object_id, foreign_id: activity_foreign_id, target: activity_target_id, time: activity_time } arr = activity_notify activity[:to] = arr.map(&:id) unless arr.nil? activity.merge!(activity_extra_data || {}) end |