Module: Rack::Test::Methods
- Extended by:
- Forwardable
- Defined in:
- lib/rack/test/methods.rb
Constant Summary collapse
- METHODS =
[ :request, # HTTP verbs :get, :post, :put, :delete, :head, # Redirects :follow_redirect!, # Header-related features :header, :set_cookie, :clear_cookies, :authorize, :basic_authorize, :digest_authorize, # Expose the last request and response :last_response, :last_request ]
Instance Method Summary collapse
- #_current_session_names ⇒ Object
- #build_rack_mock_session ⇒ Object
- #build_rack_test_session(name) ⇒ Object
- #current_session ⇒ Object
- #rack_mock_session(name = :default) ⇒ Object
- #rack_test_session(name = :default) ⇒ Object
- #with_session(name) {|rack_test_session(name)| ... } ⇒ Object
Instance Method Details
#_current_session_names ⇒ Object
40 41 42 |
# File 'lib/rack/test/methods.rb', line 40 def _current_session_names @_current_session_names ||= [:default] end |
#build_rack_mock_session ⇒ Object
15 16 17 |
# File 'lib/rack/test/methods.rb', line 15 def build_rack_mock_session Rack::MockSession.new(app) end |
#build_rack_test_session(name) ⇒ Object
26 27 28 |
# File 'lib/rack/test/methods.rb', line 26 def build_rack_test_session(name) Rack::Test::Session.new(rack_mock_session(name)) end |
#current_session ⇒ Object
30 31 32 |
# File 'lib/rack/test/methods.rb', line 30 def current_session rack_test_session(_current_session_names.last) end |
#rack_mock_session(name = :default) ⇒ Object
8 9 10 11 12 13 |
# File 'lib/rack/test/methods.rb', line 8 def rack_mock_session(name = :default) return build_rack_mock_session unless name @_rack_mock_sessions ||= {} @_rack_mock_sessions[name] ||= build_rack_mock_session end |
#rack_test_session(name = :default) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/rack/test/methods.rb', line 19 def rack_test_session(name = :default) return build_rack_test_session(name) unless name @_rack_test_sessions ||= {} @_rack_test_sessions[name] ||= build_rack_test_session(name) end |
#with_session(name) {|rack_test_session(name)| ... } ⇒ Object
34 35 36 37 38 |
# File 'lib/rack/test/methods.rb', line 34 def with_session(name) _current_session_names.push(name) yield rack_test_session(name) _current_session_names.pop end |