Class: Authorizy::Core

Inherits:
Object
  • Object
show all
Defined in:
lib/authorizy/core.rb

Instance Method Summary collapse

Constructor Details

#initialize(user, params, session, cop: nil) ⇒ Core

Returns a new instance of Core.



5
6
7
8
9
10
# File 'lib/authorizy/core.rb', line 5

def initialize(user, params, session, cop: nil)
  @cop     = cop
  @params  = params
  @session = session
  @user    = user
end

Instance Method Details

#access?Boolean

Returns:

  • (Boolean)


12
13
14
15
16
17
18
19
20
21
22
# File 'lib/authorizy/core.rb', line 12

def access?
  return false if @user.blank?

  return true if @cop&.access?
  return true if session_permissions.any? { |tuple| route_match?(tuple) }
  return true if user_permissions.any? { |tuple| route_match?(tuple) }

  return false unless @cop.respond_to?(cop_controller)

  @cop.public_send(cop_controller) == true
end