class Qs::TestRunner

Public Class Methods

new(handler_class, args = nil) click to toggle source
Calls superclass method Qs::Runner::new
# File lib/qs/test_runner.rb, line 11
def initialize(handler_class, args = nil)
  a = (args || {}).dup
  super(handler_class, {
    :logger  => a.delete(:logger),
    :message => a.delete(:message),
    :params  => normalize_params(a.delete(:params) || {})
  })
  a.each{ |key, value| self.handler.send("#{key}=", value) }

  @halted = false
  catch(:halt){ self.handler.qs_init }
end

Public Instance Methods

halt() click to toggle source

helpers

Calls superclass method Qs::Runner#halt
# File lib/qs/test_runner.rb, line 32
def halt
  @halted = true
  super
end
halted?() click to toggle source
# File lib/qs/test_runner.rb, line 24
def halted?; @halted; end
run() click to toggle source
# File lib/qs/test_runner.rb, line 26
def run
  catch(:halt){ self.handler.qs_run } if !self.halted?
end

Private Instance Methods

normalize_params(params) click to toggle source

stringify and encode/decode to ensure params are valid and are in the format they would normally be when a live handler is built and run.

# File lib/qs/test_runner.rb, line 41
def normalize_params(params)
  params = Qs::Payload::StringifyParams.new(params)
  Qs.decode(Qs.encode(params))
end