Class: Permitted::Ability

Inherits:
Object
  • Object
show all
Defined in:
lib/permitted/ability.rb

Instance Method Summary collapse

Constructor Details

#initialize(user) ⇒ Ability

Returns a new instance of Ability.



3
4
5
# File 'lib/permitted/ability.rb', line 3

def initialize(user)
  @user = user
end

Instance Method Details

#permit!(action, subject) ⇒ Object

Raises:



7
8
9
# File 'lib/permitted/ability.rb', line 7

def permit!(action, subject)
  raise AccessDenied unless permitted_to?(action, subject)
end

#permitted_to?(action, subject) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
# File 'lib/permitted/ability.rb', line 11

def permitted_to?(action, subject)
  @user.roles.any? do |role|
    role.subject.to_s == subject.to_s && role.action.to_s == action.to_s
  end
end