Module: WiserTrails::ORM::ActiveRecord::Activist::ClassMethods

Defined in:
lib/wiser_trails/orm/active_record/activist.rb

Overview

Module extending classes that serve as owners

Instance Method Summary collapse

Instance Method Details

#activistObject

Adds ActiveRecord associations to model to simplify fetching so you can list activities performed by the owner. It is completely optional. Any model can be an owner to an activity even without being an explicit activist.

Usage:

In model:

class User < ActiveRecord::Base
  include WiserTrails::Model
  activist
end

In controller:

User.first.activities


33
34
35
36
37
38
39
40
41
42
43
# File 'lib/wiser_trails/orm/active_record/activist.rb', line 33

def activist
  # Association of activities as their owner.
  # @!method activities_as_owner
  # @return [Array<Activity>] Activities which self is the owner of.
  has_many :activities_as_owner, :class_name => "::WiserTrails::Activity", :as => :owner

  # Association of activities as their recipient.
  # @!method activities_as_recipient
  # @return [Array<Activity>] Activities which self is the recipient of.
  has_many :activities_as_account, :class_name => "::WiserTrails::Activity", :as => :account
end