Class: Rddd::Authorization::Authorize

Inherits:
Object
  • Object
show all
Defined in:
lib/rddd/authorization/authorize.rb

Instance Method Summary collapse

Constructor Details

#initialize(rules, user) ⇒ Authorize

Initialize.

Parameters:

  • List (Array)

    of Rddd::Authorization::Rule.

  • User (Object)

    we are gonna authorize.



16
17
18
19
# File 'lib/rddd/authorization/authorize.rb', line 16

def initialize(rules, user)
  @rules = rules
  @user = user
end

Instance Method Details

#can?(action, params = {}) ⇒ Boolean

Authorize given action.

Parameters:

  • Action (Symbol)

    to be authorized.

  • Auxiliary (Hash)

    attributes to decide authorization.

Returns:

  • (Boolean)


27
28
29
30
31
32
33
# File 'lib/rddd/authorization/authorize.rb', line 27

def can?(action, params = {})
  rule = find_rule(action)

  return true unless rule
  
  rule.can?(@user, params)
end