Class: Deas::DeasRunner
Defined Under Namespace
Classes: NormalizedParams
Constant Summary
Constants inherited from Runner
Runner::DEFAULT_CHARSET, Runner::DEFAULT_MIME_TYPE
Instance Attribute Summary
Attributes inherited from Runner
#handler, #handler_class, #logger, #params, #request, #route_path, #router, #template_source
Instance Method Summary collapse
-
#initialize(handler_class, args = nil) ⇒ DeasRunner
constructor
A new instance of DeasRunner.
- #run ⇒ Object
Methods inherited from Runner
#body, body_value, #content_type, #halt, #headers, #partial, #redirect, #render, #send_file, #set_cookie, #source_partial, #source_render, #splat, #status, #to_rack
Constructor Details
#initialize(handler_class, args = nil) ⇒ DeasRunner
Returns a new instance of DeasRunner.
8 9 10 11 12 13 14 |
# File 'lib/deas/deas_runner.rb', line 8 def initialize(handler_class, args = nil) args ||= {} super( handler_class, args.merge(:params => NormalizedParams.new(args[:params]).value) ) end |
Instance Method Details
#run ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/deas/deas_runner.rb', line 16 def run catch(:halt) do self.handler.deas_run_callback 'before' catch(:halt){ self.handler.deas_init; self.handler.deas_run } self.handler.deas_run_callback 'after' end self.to_rack.tap do |(status, headers, body)| headers['Content-Length'] ||= body.inject(0) do |length, part| length + Rack::Utils.bytesize(part) end.to_s end end |