Class: Deas::TestRunner
Defined Under Namespace
Classes: ContentTypeArgs, HaltArgs, HeadersArgs, NormalizedParams, RedirectArgs, RenderArgs, SendFileArgs, StatusArgs
Instance Attribute Summary collapse
Attributes inherited from Runner
#handler, #handler_class, #logger, #params, #request, #response, #router, #session, #template_source
Instance Method Summary
collapse
Methods inherited from Runner
#partial, #render
Constructor Details
#initialize(handler_class, args = nil) ⇒ TestRunner
Returns a new instance of TestRunner.
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/deas/test_runner.rb', line 14
def initialize(handler_class, args = nil)
if !handler_class.include?(Deas::ViewHandler)
raise InvalidServiceHandlerError, "#{handler_class.inspect} is not a"\
" Deas::ServiceHandler"
end
args = (args || {}).dup
super(handler_class, {
:request => args.delete(:request),
:response => args.delete(:response),
:session => args.delete(:session),
:params => NormalizedParams.new(args.delete(:params) || {}).value,
:logger => args.delete(:logger),
:router => args.delete(:router),
:template_source => args.delete(:template_source)
})
args.each{|key, value| self.handler.send("#{key}=", value) }
@response_value = catch(:halt){ self.handler.init; nil }
end
|
Instance Attribute Details
#response_value ⇒ Object
Returns the value of attribute response_value.
12
13
14
|
# File 'lib/deas/test_runner.rb', line 12
def response_value
@response_value
end
|
Instance Method Details
#content_type(*args) ⇒ Object
63
64
65
66
67
68
69
70
|
# File 'lib/deas/test_runner.rb', line 63
def content_type(*args)
return @content_type if args.empty?
opts, value = [
args.last.kind_of?(Hash) ? args.pop : {},
args.last
]
@content_type = ContentTypeArgs.new(value, opts)
end
|
#halt(*args) ⇒ Object
41
42
43
|
# File 'lib/deas/test_runner.rb', line 41
def halt(*args)
throw(:halt, HaltArgs.new(args))
end
|
80
81
82
83
84
|
# File 'lib/deas/test_runner.rb', line 80
def (*args)
return @headers if args.empty?
value = args.last
@headers = HeadersArgs.new(value)
end
|
#redirect(path, *halt_args) ⇒ Object
55
56
57
|
# File 'lib/deas/test_runner.rb', line 55
def redirect(path, *halt_args)
throw(:halt, RedirectArgs.new(path, halt_args))
end
|
#run ⇒ Object
35
36
37
|
# File 'lib/deas/test_runner.rb', line 35
def run
@response_value ||= catch(:halt){ self.handler.run }
end
|
#send_file(file_path, options = nil, &block) ⇒ Object
87
88
89
|
# File 'lib/deas/test_runner.rb', line 87
def send_file(file_path, options = nil, &block)
SendFileArgs.new(file_path, options, block)
end
|
#source_partial(source, template_name, locals = nil) ⇒ Object
98
99
100
101
|
# File 'lib/deas/test_runner.rb', line 98
def source_partial(source, template_name, locals = nil)
super RenderArgs.new(source, template_name, locals)
end
|
#source_render(source, template_name, locals = nil) ⇒ Object
92
93
94
95
|
# File 'lib/deas/test_runner.rb', line 92
def source_render(source, template_name, locals = nil)
super RenderArgs.new(source, template_name, locals)
end
|
#status(*args) ⇒ Object
73
74
75
76
77
|
# File 'lib/deas/test_runner.rb', line 73
def status(*args)
return @status if args.empty?
value = args.last
@status = StatusArgs.new(value)
end
|