class Rack::Flash
Public Class Methods
fake_session()
click to toggle source
# File lib/rack/flash/test.rb, line 3 def self.fake_session @fake_session ||= {} end
new(app, opts={})
click to toggle source
-
Rack
Middleware implementation
# File lib/rack/flash.rb, line 107 def initialize(app, opts={}) if klass = app_class(app, opts) klass.class_eval do def flash; env['x-rack.flash'] end end end @app, @opts = app, opts end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/flash.rb, line 117 def call(env) env['x-rack.flash'] ||= Rack::Flash::FlashHash.new(env['rack.session'], @opts) if @opts[:sweep] env['x-rack.flash'].flag! end res = @app.call(env) if @opts[:sweep] env['x-rack.flash'].sweep! end res end
Also aliased as: old_call
flash()
click to toggle source
# File lib/rack/flash.rb, line 110 def flash; env['x-rack.flash'] end
new_call(env)
click to toggle source
# File lib/rack/flash/test.rb, line 8 def new_call(env) env['rack.session'] ||= Rack::Flash.fake_session old_call(env) end
Also aliased as: call
Private Instance Methods
app_class(app, opts)
click to toggle source
# File lib/rack/flash.rb, line 135 def app_class(app, opts) return nil if opts.has_key?(:helper) and not opts[:helper] opts[:flash_app_class] || defined?(Sinatra::Base) && Sinatra::Base end