Class: Caulfield::Middleware
- Inherits:
-
Object
- Object
- Caulfield::Middleware
- Defined in:
- lib/caulfield/middleware.rb
Constant Summary collapse
- @@instance =
new
Instance Attribute Summary collapse
-
#app ⇒ Object
Returns the value of attribute app.
-
#body ⇒ Object
Returns the value of attribute body.
-
#cookies ⇒ Object
Returns the value of attribute cookies.
-
#env ⇒ Object
Returns the value of attribute env.
-
#headers ⇒ Object
Returns the value of attribute headers.
-
#request ⇒ Object
Returns the value of attribute request.
-
#session ⇒ Object
Returns the value of attribute session.
-
#status ⇒ Object
Returns the value of attribute status.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#app ⇒ Object
Returns the value of attribute app.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def app @app end |
#body ⇒ Object
Returns the value of attribute body.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def body @body end |
#cookies ⇒ Object
Returns the value of attribute cookies.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def @cookies end |
#env ⇒ Object
Returns the value of attribute env.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def env @env end |
#headers ⇒ Object
Returns the value of attribute headers.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def headers @headers end |
#request ⇒ Object
Returns the value of attribute request.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def request @request end |
#session ⇒ Object
Returns the value of attribute session.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def session @session end |
#status ⇒ Object
Returns the value of attribute status.
4 5 6 |
# File 'lib/caulfield/middleware.rb', line 4 def status @status end |
Class Method Details
.instance ⇒ Object
16 17 18 |
# File 'lib/caulfield/middleware.rb', line 16 def instance @@instance end |
.new(app) ⇒ Object
10 11 12 13 14 |
# File 'lib/caulfield/middleware.rb', line 10 def new(app) @@instance.app = app @@instance.reset @@instance end |
Instance Method Details
#call(env) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/caulfield/middleware.rb', line 21 def call(env) @env = env @request = ActionDispatch::Request.new(env) unless @cookies_to_merge.empty? merge_session unless @session_to_merge.empty? @status, @headers, @body = @app.call(env) @cookies = @request. @session = @request.session [@status, @headers, @body] end |
#reset ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/caulfield/middleware.rb', line 36 def reset @cookies = @session = nil @request = @env = nil @status = @headers = @body = nil @cookies_to_merge = {} @session_to_merge = {} end |
#set_cookies(hash) ⇒ Object
45 46 47 |
# File 'lib/caulfield/middleware.rb', line 45 def (hash) @cookies_to_merge.merge!(hash) end |
#set_session(hash) ⇒ Object
49 50 51 |
# File 'lib/caulfield/middleware.rb', line 49 def set_session(hash) @session_to_merge.merge!(hash) end |