class Diesel::Middleware::SetParameterBase

Public Class Methods

new(app, options) click to toggle source
# File lib/diesel/middleware/set_parameter_base.rb, line 5
def initialize(app, options)
  @app = app
  @name = options[:name]
  @schema = options[:schema]
end

Public Instance Methods

call(env) click to toggle source
# File lib/diesel/middleware/set_parameter_base.rb, line 11
def call(env)
  value = find_parameter_value(env)
  apply_parameter_value(env, value)
  @app.call(env)
end

Protected Instance Methods

apply_parameter_value(env, value) click to toggle source
# File lib/diesel/middleware/set_parameter_base.rb, line 28
def apply_parameter_value(env, value)
  raise NotImplementedError
end
find_parameter_value(env) click to toggle source
# File lib/diesel/middleware/set_parameter_base.rb, line 19
def find_parameter_value(env)
  if @schema
    @schema.build(@name, env)
  else
    context = env[:context]
    context.get_attribute(@name)
  end
end