Class: Activity

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

Overview

Schema Information

Table name: activities

id           :integer         not null, primary key
user_id      :integer
subject_id   :integer
subject_type :string(255)
action       :string(32)      default("created")
info         :string(255)     default("")
private      :boolean         default(FALSE)
created_at   :datetime
updated_at   :datetime

Constant Summary collapse

ASSETS =
%w(all tasks campaigns leads accounts contacts opportunities)
ACTIONS =
%w(all_actions created viewed updated deleted commented email)
DURATION =
%w(one_hour one_day two_days one_week two_weeks one_month)

Class Method Summary collapse

Class Method Details

.log(user, subject, action) ⇒ Object




57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'app/models/polymorphic/activity.rb', line 57

def self.log(user, subject, action)
  if action != :viewed
    create_activity(user, subject, action)
    if action == :created
      create_activity(user, subject, :viewed)
    elsif action == :deleted
       # Remove the subject from recently viewed list. Note that we don't
       # specify an user since we want to delete :viewed activity for all users.
      delete_activity(nil, subject, :viewed)
    end
  end
  if [:viewed, :updated, :commented].include?(action)
    update_activity(user, subject, :viewed)
  end
end