class Sand::Middleware
Constants
- DEFAULT_OPTIONS
Attributes
app[R]
options[R]
response[R]
Public Class Methods
new(app, options = {})
click to toggle source
# File lib/sand/middleware.rb, line 18 def initialize(app, options = {}) @app = app @options = DEFAULT_OPTIONS.merge(options) end
Public Instance Methods
call(env)
click to toggle source
# File lib/sand/middleware.rb, line 29 def call(env) env['sand'] = RequestMethods.new(env) result = app.call(env) return result if passed?(env) raise Sand::AuthorizationNotPerformed end
passed?(env)
click to toggle source
# File lib/sand/middleware.rb, line 23 def passed?(env) return true if options[:pass].any? { |r| r =~ env['PATH_INFO'] } return true if env['sand.pass'] == true || env['sand.scoped'] || env['sand.authorized'] == true # rubocop:disable Metrics/LineLength false end