Class: ActivityEngine::Activity

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/activity_engine/activity.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(data) ⇒ Object



4
5
6
7
8
9
10
11
# File 'app/models/activity_engine/activity.rb', line 4

def self.call(data)
  create! do |activity|
    activity.subject = data.subject
    activity.user = data.current_user
    activity.message = data.message
    activity.activity_type = data.activity_type
  end
end

Instance Method Details

#subjectObject



27
28
29
# File 'app/models/activity_engine/activity.rb', line 27

def subject
  subject_type.constantize.find(subject_id)
end

#subject=(object) ⇒ Object



31
32
33
34
35
36
37
38
# File 'app/models/activity_engine/activity.rb', line 31

def subject=(object)
  if object.persisted?
    write_attribute(:subject_type, object.class.to_s)
    write_attribute(:subject_id, ActivityEngine.extract_subject_id(object))
  else
    raise UnpersistedSubjectError.new(object)
  end
end