Class: RackSessionAccess::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/rack_session_access/middleware.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ Middleware

Initialize RackSessionAccess middleware

Options:

  • :key - rack session key

Parameters:

  • app

    a rack application

  • options (defaults to: {})


13
14
15
16
17
18
19
20
21
# File 'lib/rack_session_access/middleware.rb', line 13

def initialize(app, options = {})
  @app = app
  @key = options[:key] || 'rack.session'
  @routing = [
    [ 'GET', RackSessionAccess.path,      :show   ],
    [ 'GET', RackSessionAccess.edit_path, :edit   ],
    [ 'PUT', RackSessionAccess.path,      :update ]
  ]
end

Instance Method Details

#call(env) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/rack_session_access/middleware.rb', line 23

def call(env)
  return render(500) do |xml|
    xml.h2("#{@key} env is not initialized")
  end unless env[@key]

  request = ::Rack::Request.new(env)

  if action = dispatch_action(request)
    send(action, request)
  else
    @app.call(env)
  end
end