Sha256: ea8f9354f73e7258df889fe25445051df87120b59360ed963b5e1f70b12037c0
Contents?: true
Size: 808 Bytes
Versions: 3
Compression:
Stored size: 808 Bytes
Contents
module Apiture module Middleware class SetParameterBase def initialize(app, options) @app = app @name = options[:name] @renderer = options[:renderer] @default = options[:default] end def call(env) value = find_parameter_value(env) if value == nil && @default value = @default end apply_parameter_value(env, value) @app.call(env) end protected def find_parameter_value(env) if @renderer @renderer.render_parameter(@name, env) else context = env[:context] context.get_attribute(@name) end end def apply_parameter_value(env, value) raise NotImplementedError end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
apiture-0.2.6 | lib/apiture/middleware/set_parameter_base.rb |
apiture-0.2.5 | lib/apiture/middleware/set_parameter_base.rb |
apiture-0.2.4 | lib/apiture/middleware/set_parameter_base.rb |