class Deas::DeasRunner

Public Class Methods

new(handler_class, args = nil) click to toggle source
Calls superclass method
# 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

Public Instance Methods

run() click to toggle source
# 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