Module: ActiveRecord::Has::Permission::SingletonMethods

Defined in:
lib/active_record/has/permission.rb

Instance Method Summary collapse

Instance Method Details

#permission_classObject



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/active_record/has/permission.rb', line 28

def permission_class
  if respond_to?(:base_class)
    begin
      [permission_namespace, "#{self.to_s}Permission"].join('::').constantize
    rescue
      [permission_namespace ,"#{self.base_class.to_s}Permission"].join('::').constantize
    end
  elsif respond_to?(:proxy_reflection)
    begin
      [permission_namespace, "#{self.proxy_reflection.class_name}Permsission"].join('::').constantize
    rescue
      [permission_namespace, "#{self.proxy_reflection.class_name.constantize.base_class.to_s}Permission"].join('::').constantize
    end
  else
    begin
      [permission_namespace, "#{self.to_s}Permission"].join('::').constantize
    rescue
      [permission_namespace, "#{self.superclass.to_s}Permission"].join('::').constantize
    end
  end
end

#with_permission(user) ⇒ Object



24
25
26
# File 'lib/active_record/has/permission.rb', line 24

def with_permission(user)
  permission_class.new :user => user, :object => self
end