Class: Deas::TestRunner

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

Defined Under Namespace

Classes: ContentTypeArgs, HaltArgs, HeadersArgs, RedirectArgs, RenderArgs, SendFileArgs, StatusArgs

Instance Attribute Summary collapse

Attributes inherited from Runner

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

Instance Method Summary collapse

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

#content_type(value, opts = {}) ⇒ Object



53
54
55
# File 'lib/deas/test_runner.rb', line 53

def content_type(value, opts={})
  ContentTypeArgs.new(value, opts)
end

#halt(*args) ⇒ Object

Helpers



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

def halt(*args)
  throw(:halt, HaltArgs.new(args))
end

#headers(value) ⇒ Object



65
66
67
# File 'lib/deas/test_runner.rb', line 65

def headers(value)
  HeadersArgs.new(value)
end

#redirect(path, *halt_args) ⇒ Object



45
46
47
# File 'lib/deas/test_runner.rb', line 45

def redirect(path, *halt_args)
  RedirectArgs.new(path, halt_args)
end

#render(template_name, options = nil, &block) ⇒ Object



71
72
73
# File 'lib/deas/test_runner.rb', line 71

def render(template_name, options = nil, &block)
  RenderArgs.new(template_name, options, block)
end

#runObject



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

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

#send_file(file_path, options = nil, &block) ⇒ Object



77
78
79
# File 'lib/deas/test_runner.rb', line 77

def send_file(file_path, options = nil, &block)
  SendFileArgs.new(file_path, options, block)
end

#status(value) ⇒ Object



59
60
61
# File 'lib/deas/test_runner.rb', line 59

def status(value)
  StatusArgs.new(value)
end