Class: Rails::SessionCookie::App
- Inherits:
-
Object
- Object
- Rails::SessionCookie::App
- Defined in:
- lib/rails/session_cookie/app.rb
Overview
This mini rack app allows easily get rails session cookie
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
Class Method Summary collapse
Instance Method Summary collapse
- #call(env = {}) ⇒ Object
-
#initialize(app, session_options = nil) ⇒ App
constructor
A new instance of App.
- #session_cookie(env = {}) ⇒ Object
Constructor Details
#initialize(app, session_options = nil) ⇒ App
Returns a new instance of App.
23 24 25 26 27 |
# File 'lib/rails/session_cookie/app.rb', line 23 def initialize(app, = nil) = || rails_app.config. auth_app = app.respond_to?(:call) ? app : self.class.simple_app_from_session_hash(app) @app = (auth_app, ) end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
21 22 23 |
# File 'lib/rails/session_cookie/app.rb', line 21 def app @app end |
Class Method Details
.simple_app_from_session_hash(session = {}) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/rails/session_cookie/app.rb', line 12 def self.simple_app_from_session_hash(session = {}) proc { |env| session.each do |k, v| env[RACK_SESSION][k] = v end [200, {}, []] } end |
Instance Method Details
#call(env = {}) ⇒ Object
29 30 31 |
# File 'lib/rails/session_cookie/app.rb', line 29 def call(env = {}) app.call(default_env.merge(env).dup) end |
#session_cookie(env = {}) ⇒ Object
33 34 35 36 |
# File 'lib/rails/session_cookie/app.rb', line 33 def (env = {}) _status, headers, _body = call(env) headers[ActionDispatch::Cookies::HTTP_HEADER] end |