Module: LoyalPassport::ActsAsAuthorAble::ClassMethods

Defined in:
lib/loyal_passport/acts/acts_as_author_able.rb

Instance Method Summary collapse

Instance Method Details

#loyal_passport_acts_as_creator_able(*args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/loyal_passport/acts/acts_as_author_able.rb', line 12

def loyal_passport_acts_as_creator_able *args
  belongs_to :creator, :class_name => "User", :foreign_key => :created_by

  scope :filter_by_creator, ->(user_or_user_id) do
    where :created_by => (user_or_user_id.is_a?(::User) ? user_or_user_id.id : user_or_user_id)
  end

  define_method :creator_is? do |__user|
    self.created_by == __user.id
  end
end