class RackFlags::RackMiddleware
Constants
- ENV_KEY
Public Class Methods
new( app, args )
click to toggle source
# File lib/rack-flags/rack_middleware.rb, line 5 def initialize( app, args ) @app = app @disable_config_caching = args.fetch(:disable_config_caching, false) @yaml_path = args.fetch( :yaml_path ){ raise ArgumentError.new( 'yaml_path must be provided' ) } end
Public Instance Methods
call( env )
click to toggle source
# File lib/rack-flags/rack_middleware.rb, line 11 def call( env ) overrides = CookieCodec.new.overrides_from_env( env ) reader = Reader.new( config.flags, overrides ) env[ENV_KEY] = reader @app.call(env) end
Private Instance Methods
config()
click to toggle source
# File lib/rack-flags/rack_middleware.rb, line 20 def config @config = nil if @disable_config_caching @config ||= Config.load(@yaml_path) end