Module: Roadblock::Authorizer

Defined in:
lib/roadblock/authorizer.rb

Instance Method Summary collapse

Instance Method Details

#can?(action, object) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
# File 'lib/roadblock/authorizer.rb', line 8

def can?(action, object)
  if block_given?
    yield(object)
  else
    objects = [*object]
    objects
      .map { |obj| send("can_#{action}?", obj) }
      .all?
  end
end

#initialize(auth_object, scopes: []) ⇒ Object



3
4
5
6
# File 'lib/roadblock/authorizer.rb', line 3

def initialize(auth_object, scopes: [])
  self.auth_object = auth_object
  self.scopes = scopes
end