Class: Deas::TestRunner

Inherits:
Runner
  • Object
show all
Defined in:
lib/deas/test_runner.rb

Instance Attribute Summary collapse

Attributes inherited from Runner

#app_settings, #logger, #params, #request, #response, #session

Instance Method Summary collapse

Methods inherited from Runner

#redirect, #redirect_to

Constructor Details

#initialize(handler_class, args = nil) ⇒ TestRunner

Returns a new instance of TestRunner.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/deas/test_runner.rb', line 10

def initialize(handler_class, args = nil)
  args = (args || {}).dup
  @app_settings = OpenStruct.new(args.delete(:app_settings))
  @logger       = args.delete(:logger) || Deas::NullLogger.new
  @params       = args.delete(:params) || {}
  @request      = args.delete(:request)
  @response     = args.delete(:response)
  @session      = args.delete(:session)

  super(handler_class)
  args.each{|key, value| @handler.send("#{key}=", value) }

  @return_value = catch(:halt){ @handler.init; nil }
end

Instance Attribute Details

#handlerObject (readonly)

Returns the value of attribute handler.



8
9
10
# File 'lib/deas/test_runner.rb', line 8

def handler
  @handler
end

#return_valueObject (readonly)

Returns the value of attribute return_value.



8
9
10
# File 'lib/deas/test_runner.rb', line 8

def return_value
  @return_value
end

Instance Method Details

#halt(*args) ⇒ Object

Helpers



31
32
33
# File 'lib/deas/test_runner.rb', line 31

def halt(*args)
  throw(:halt, args)
end

#render(*args, &block) ⇒ Object



35
36
37
# File 'lib/deas/test_runner.rb', line 35

def render(*args, &block)
  [ args, block ].compact.flatten
end

#runObject



25
26
27
# File 'lib/deas/test_runner.rb', line 25

def run
  @return_value ||= catch(:halt){ @handler.run }
end