Module: LiveActivity::Actor

Extended by:
ActiveSupport::Concern
Defined in:
lib/live_activity/actor.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#activity_classObject



37
38
39
# File 'lib/live_activity/actor.rb', line 37

def activity_class
  @activity_klass ||= activity_klass ? activity_klass.classify.constantize : ::Activity
end

#activity_stream(options = {}) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/live_activity/actor.rb', line 41

def activity_stream(options = {})

  if options.empty?
    activities
  else
    activities.where(options)
  end

end

#publish_activity(name, options = {}) ⇒ Object

Publishes the activity to the receivers

Examples:

publish an activity with a act_object and act_target

current_user.publish_activity(:enquiry, :act_object => @enquiry, :act_target => @listing)

Parameters:

  • options (Hash) (defaults to: {})

    The options to publish with.



32
33
34
35
# File 'lib/live_activity/actor.rb', line 32

def publish_activity(name, options={})
  options[:receivers] = self.send(options[:receivers]) if options[:receivers].is_a?(Symbol)
  activity = activity_class.publish(name, {:actor => self}.merge(options))
end