Module: Roda::RodaPlugins::Base::InstanceMethods
- Defined in:
- lib/roda.rb
Overview
Instance methods for the Roda class.
In addition to the listed methods, the following two methods are available:
- request
-
The instance of the request class related to this request. This is the same object yielded by Roda.route.
- response
-
The instance of the response class related to this request.
Instance Attribute Summary collapse
-
#_request ⇒ Object
(also: #request)
readonly
:nodoc:.
-
#_response ⇒ Object
(also: #response)
readonly
:nodoc:.
Instance Method Summary collapse
-
#_roda_handle_main_route ⇒ Object
Handle dispatching to the main route, catching :halt and handling the result of the block.
-
#_roda_handle_route ⇒ Object
Treat the given block as a routing block, catching :halt if thrown by the block.
-
#_roda_main_route(_) ⇒ Object
Default implementation of the main route, usually overridden by Roda.route.
-
#_roda_run_main_route(r) ⇒ Object
Run the main route block with the request.
-
#call(&block) ⇒ Object
(also: #_call)
Deprecated method for the previous main route dispatch API.
-
#env ⇒ Object
The environment hash for the current request.
-
#initialize(env) ⇒ Object
Create a request and response of the appropriate class.
-
#opts ⇒ Object
The class-level options hash.
-
#session ⇒ Object
The session hash for the current request.
Instance Attribute Details
#_request ⇒ Object (readonly) Also known as: request
:nodoc:
530 531 532 |
# File 'lib/roda.rb', line 530 def _request @_request end |
#_response ⇒ Object (readonly) Also known as: response
:nodoc:
534 535 536 |
# File 'lib/roda.rb', line 534 def _response @_response end |
Instance Method Details
#_roda_handle_main_route ⇒ Object
Handle dispatching to the main route, catching :halt and handling the result of the block.
469 470 471 472 473 474 475 |
# File 'lib/roda.rb', line 469 def _roda_handle_main_route catch(:halt) do r = @_request r.block_result(_roda_run_main_route(r)) @_response.finish end end |
#_roda_handle_route ⇒ Object
Treat the given block as a routing block, catching :halt if thrown by the block.
479 480 481 482 483 484 |
# File 'lib/roda.rb', line 479 def _roda_handle_route catch(:halt) do @_request.block_result(yield) @_response.finish end end |
#_roda_main_route(_) ⇒ Object
Default implementation of the main route, usually overridden by Roda.route.
488 489 |
# File 'lib/roda.rb', line 488 def _roda_main_route(_) end |
#_roda_run_main_route(r) ⇒ Object
Run the main route block with the request. Designed for extension by plugins
493 494 495 |
# File 'lib/roda.rb', line 493 def _roda_run_main_route(r) _roda_main_route(r) end |
#call(&block) ⇒ Object Also known as: _call
Deprecated method for the previous main route dispatch API.
498 499 500 501 502 503 504 505 |
# File 'lib/roda.rb', line 498 def call(&block) # RODA4: Remove catch(:halt) do r = @_request r.block_result(instance_exec(r, &block)) # Fallback @_response.finish end end |
#env ⇒ Object
The environment hash for the current request. Example:
env['REQUEST_METHOD'] # => 'GET'
515 516 517 |
# File 'lib/roda.rb', line 515 def env @_request.env end |
#initialize(env) ⇒ Object
Create a request and response of the appropriate class
461 462 463 464 465 |
# File 'lib/roda.rb', line 461 def initialize(env) klass = self.class @_request = klass::RodaRequest.new(self, env) @_response = klass::RodaResponse.new end |
#opts ⇒ Object
526 527 528 |
# File 'lib/roda.rb', line 526 def opts self.class.opts end |
#session ⇒ Object
The session hash for the current request. Raises RodaError if no session exists. Example:
session # => {}
542 543 544 |
# File 'lib/roda.rb', line 542 def session @_request.session end |