Module: Newark::App
- Defined in:
- lib/newark/app.rb
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- FOUR_O_FOUR =
[ 404, {}, [] ].freeze
- HTTP_VERBS =
[ :delete, :get, :head, :options, :patch, :post, :put, :trace ].freeze
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
47 48 49 |
# File 'lib/newark/app.rb', line 47 def request @request end |
#response ⇒ Object (readonly)
Returns the value of attribute response.
47 48 49 |
# File 'lib/newark/app.rb', line 47 def response @response end |
Class Method Details
.included(klass) ⇒ Object
10 11 12 13 |
# File 'lib/newark/app.rb', line 10 def self.included(klass) klass.instance_variable_set :@routes, {} klass.extend ClassMethods end |
Instance Method Details
#_call(env) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/newark/app.rb', line 53 def _call(env) @env = env @request = Request.new(@env) @response = Response.new route end |
#call(env) ⇒ Object
49 50 51 |
# File 'lib/newark/app.rb', line 49 def call(env) dup._call(env) end |
#headers ⇒ Object
60 61 62 |
# File 'lib/newark/app.rb', line 60 def headers response.headers end |
#params ⇒ Object
64 65 66 |
# File 'lib/newark/app.rb', line 64 def params request.params end |
#route ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/newark/app.rb', line 68 def route route = match_route if route request.params.merge!(route.params) exec_before_hooks response.body = exec_handler(route.handler) exec_after_hooks response.finish else FOUR_O_FOUR end end |