module ActiveRecord::Acts::Indulgent::ClassMethods

Public Instance Methods

acts_as_indulgent(args = {}) click to toggle source
# File lib/active_record/acts/indulgent.rb, line 10
def acts_as_indulgent(args = {})
  include Indulgence::Indulgent::InstanceMethods
  extend Indulgence::Indulgent::ClassMethods
  
  alias_method args[:compare_single_method], :indulge? if args[:compare_single_method]
  singleton_class.send(:alias_method, args[:filter_many_method], :indulgence) if args[:filter_many_method]
  singleton_class.send(:alias_method, args[:compare_single_method], :indulge?) if args[:compare_single_method]
  self.indulgent_permission_class = args[:using]
end
indulgent_permission_class() click to toggle source
# File lib/active_record/acts/indulgent.rb, line 20
def indulgent_permission_class
  @indulgent_permission_class
end

Private Instance Methods

default_indulgence_permission_class() click to toggle source
# File lib/active_record/acts/indulgent.rb, line 25
def default_indulgence_permission_class
  class_name = to_s
  name = class_name + "Permission"
  require name.underscore
  if const_defined? name
    class_eval name
  end
end
indulgent_permission_class=(klass = nil) click to toggle source
# File lib/active_record/acts/indulgent.rb, line 34
def indulgent_permission_class=(klass = nil)
  @indulgent_permission_class = klass || default_indulgence_permission_class
end