Module: LoyalCore::ActsAsCreatorAble::ClassMethods

Defined in:
lib/loyal_core/acts/creator_able.rb

Instance Method Summary collapse

Instance Method Details

#loyal_core_acts_as_creator_able(*args) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/loyal_core/acts/creator_able.rb', line 11

def loyal_core_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