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