Class: Deas::TestRunner

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

Defined Under Namespace

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

Instance Attribute Summary collapse

Attributes inherited from Runner

#handler, #handler_class, #logger, #params, #request, #response, #session

Instance Method Summary collapse

Constructor Details

#initialize(handler_class, args = nil) ⇒ TestRunner

Returns a new instance of TestRunner.



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

def initialize(handler_class, args = nil)
  args = (args || {}).dup
  @app_settings = OpenStruct.new(args.delete(:app_settings))

  @request  = args.delete(:request)
  @response = args.delete(:response)
  @params   = NormalizedParams.new(args.delete(:params) || {}).value
  @logger   = args.delete(:logger) || Deas::NullLogger.new
  @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

#app_settingsObject (readonly)

Returns the value of attribute app_settings.



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

def app_settings
  @app_settings
end

#return_valueObject (readonly)

Returns the value of attribute return_value.



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

def return_value
  @return_value
end

Instance Method Details

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



55
56
57
# File 'lib/deas/test_runner.rb', line 55

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

#halt(*args) ⇒ Object

Helpers



33
34
35
# File 'lib/deas/test_runner.rb', line 33

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

#partial(partial_name, locals = nil) ⇒ Object



75
76
77
# File 'lib/deas/test_runner.rb', line 75

def partial(partial_name, locals = nil)
  PartialArgs.new(partial_name, locals)
end

#redirect(path, *halt_args) ⇒ Object



47
48
49
# File 'lib/deas/test_runner.rb', line 47

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

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



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

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

#runObject



27
28
29
# File 'lib/deas/test_runner.rb', line 27

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

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



80
81
82
# File 'lib/deas/test_runner.rb', line 80

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

#status(value) ⇒ Object



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

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