Module: ActsAsActivitable::Extensions::InstanceMethods

Defined in:
lib/acts_as_activitable.rb

Instance Method Summary collapse

Instance Method Details

#activity_ownerObject



40
41
42
# File 'lib/acts_as_activitable.rb', line 40

def activity_owner
  user
end

#create_activity(activity_action) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/acts_as_activitable.rb', line 60

def create_activity(activity_action)
  unless skip_activity
    data = self.to_activity_data
    
    if data
      data.delete(:updated_at)
      data.delete(:birth_date)
      unless data.keys.empty? || !create_activity?(data)
        data[:activity_action] = activity_action
        self.activities.create(:user => activity_owner, :data => data) rescue nil
      end
    end
  end
end

#create_activity?(data) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/acts_as_activitable.rb', line 44

def create_activity?(data)
  true
end

#create_create_activityObject



48
49
50
# File 'lib/acts_as_activitable.rb', line 48

def create_create_activity
  create_activity(:create)
end

#create_destroy_activityObject



56
57
58
# File 'lib/acts_as_activitable.rb', line 56

def create_destroy_activity
  create_activity(:destroy)
end

#create_update_activityObject



52
53
54
# File 'lib/acts_as_activitable.rb', line 52

def create_update_activity
  create_activity(:update)
end

#to_activity_dataObject



75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/acts_as_activitable.rb', line 75

def to_activity_data
  attrs = nil
  if self.changed?
    attrs = self.changes.symbolize_keys
    #attrs.delete(:id)
    (self.class.exclude_from_activities||[]).each do |attribute|
      attrs.delete(attribute.to_sym)
    end
    (self.class.methods_for_activities||[]).each do |method_name|
      attrs[method_name.to_sym] = self.send(method_name.to_sym)
    end
  end
  attrs
end