Class: Radmin::Authorization

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/radmin/authorization.rb

Defined Under Namespace

Classes: DSLMethods

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Authorization

Returns a new instance of Authorization.



17
18
19
20
21
22
23
# File 'lib/radmin/authorization.rb', line 17

def initialize(user)
  self.user = user
  run_role(:guest) unless self.user.role_symbols.any?
  self.user.role_symbols.each do |r|
    run_role(r)
  end
end

Instance Attribute Details

#userObject

Returns the value of attribute user.



13
14
15
# File 'lib/radmin/authorization.rb', line 13

def user
  @user
end

Class Method Details

.authorized?(user, action, subject) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
34
35
36
# File 'lib/radmin/authorization.rb', line 31

def self.authorized?(user, action, subject)
  new(user).authorize!(action.to_sym, subject)
  true
rescue CanCan::AccessDenied
  false
end

.define_rules(file) ⇒ Object



38
39
40
# File 'lib/radmin/authorization.rb', line 38

def self.define_rules(file)
  DSLMethods.new.instance_eval(File.read(file)) if File.exist?(file)
end

Instance Method Details

#includes(*role_names) ⇒ Object



25
26
27
28
29
# File 'lib/radmin/authorization.rb', line 25

def includes(*role_names)
  role_names.each do |role_name|
    run_role(role_name.to_sym)
  end
end