Class: Authorizy::Config

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/authorizy/config.rb', line 7

def initialize
  @aliases      = {}
  @cop          = Authorizy::BaseCop
  @current_user = ->(context) { context.respond_to?(:current_user) ? context.current_user : nil }

  @denied = lambda { |context|
    info = I18n.t('authorizy.denied', controller: context.params[:controller], action: context.params[:action])

    return context.redirect_to(redirect_url.call(context), info:) if context.request.format.html?

    context.render(json: { message: info }, status: 403)
  }

  @dependencies = {}
  @field        = ->(current_user) { current_user.respond_to?(:authorizy) ? current_user.authorizy : {} }
  @redirect_url = ->(context) { context.respond_to?(:root_url) ? context.root_url : '/' }
end

Instance Attribute Details

#aliasesObject

Returns the value of attribute aliases.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def aliases
  @aliases
end

#copObject

Returns the value of attribute cop.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def cop
  @cop
end

#current_userObject

Returns the value of attribute current_user.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def current_user
  @current_user
end

#deniedObject

Returns the value of attribute denied.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def denied
  @denied
end

#dependenciesObject

Returns the value of attribute dependencies.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def dependencies
  @dependencies
end

#fieldObject

Returns the value of attribute field.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def field
  @field
end

#redirect_urlObject

Returns the value of attribute redirect_url.



5
6
7
# File 'lib/authorizy/config.rb', line 5

def redirect_url
  @redirect_url
end