module StreamRails::Activity
Public Class Methods
included(base)
click to toggle source
# File lib/stream_rails/activity.rb, line 29 def self.included(base) base.extend ClassMethods end
Public Instance Methods
activity_actor()
click to toggle source
# File lib/stream_rails/activity.rb, line 37 def activity_actor user end
activity_actor_id()
click to toggle source
# File lib/stream_rails/activity.rb, line 45 def activity_actor_id StreamRails.create_reference(activity_actor) end
activity_extra_data()
click to toggle source
# File lib/stream_rails/activity.rb, line 75 def activity_extra_data {} end
activity_foreign_id()
click to toggle source
# File lib/stream_rails/activity.rb, line 65 def activity_foreign_id StreamRails.create_reference(self) end
activity_notify()
click to toggle source
# File lib/stream_rails/activity.rb, line 73 def activity_notify; end
activity_object()
click to toggle source
# 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()
click to toggle source
# File lib/stream_rails/activity.rb, line 61 def activity_object_id StreamRails.create_reference(activity_object) end
activity_owner_feed()
click to toggle source
# File lib/stream_rails/activity.rb, line 41 def activity_owner_feed activity_actor.class.name.downcase end
activity_owner_id()
click to toggle source
# File lib/stream_rails/activity.rb, line 33 def activity_owner_id activity_actor.id end
activity_should_sync?()
click to toggle source
# File lib/stream_rails/activity.rb, line 83 def activity_should_sync? true end
activity_target()
click to toggle source
# File lib/stream_rails/activity.rb, line 53 def activity_target nil end
activity_target_id()
click to toggle source
# File lib/stream_rails/activity.rb, line 69 def activity_target_id StreamRails.create_reference(activity_target) if activity_target end
activity_time()
click to toggle source
# File lib/stream_rails/activity.rb, line 79 def activity_time created_at.iso8601 end
activity_verb()
click to toggle source
# File lib/stream_rails/activity.rb, line 57 def activity_verb self.class.model_name.to_s end
create_activity()
click to toggle source
# 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