Class: ApiValve::Middleware::PermissionCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/api_valve/middleware/permission_check.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ PermissionCheck

Returns a new instance of PermissionCheck.



3
4
5
6
# File 'lib/api_valve/middleware/permission_check.rb', line 3

def initialize(app, options = {})
  @app = app
  @options = options
end

Instance Method Details

#call(env) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/api_valve/middleware/permission_check.rb', line 8

def call(env)
  env['permission_handler'] = @handler
  if handler(env).allowed?
    @app.call(env)
  else
    message = handler(env).message
    ApiValve.logger.info { message }
    render_error ApiValve::Error::Forbidden.new message
  end
end