Class: Deas::SinatraRunner
Defined Under Namespace
Modules: StringifiedKeys
Instance Attribute Summary collapse
Attributes inherited from Runner
#handler, #handler_class, #logger, #params, #request, #response, #session
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(handler_class, sinatra_call) ⇒ SinatraRunner
Returns a new instance of SinatraRunner.
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/deas/sinatra_runner.rb', line 14
def initialize(handler_class, sinatra_call)
@sinatra_call = sinatra_call
@app_settings = @sinatra_call.settings
@request = @sinatra_call.request
@response = @sinatra_call.response
@params = normalize_params(@sinatra_call.params)
@logger = @sinatra_call.settings.logger
@session = @sinatra_call.session
super(handler_class)
end
|
Instance Attribute Details
#app_settings ⇒ Object
Returns the value of attribute app_settings.
12
13
14
|
# File 'lib/deas/sinatra_runner.rb', line 12
def app_settings
@app_settings
end
|
Class Method Details
.run(*args) ⇒ Object
8
9
10
|
# File 'lib/deas/sinatra_runner.rb', line 8
def self.run(*args)
self.new(*args).run
end
|
Instance Method Details
#content_type(*args) ⇒ Object
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/deas/sinatra_runner.rb', line 45
def content_type(*args)
return @sinatra_call.content_type if args.empty?
opts, value = [
args.last.kind_of?(::Hash) ? args.pop : {},
args.first
]
@sinatra_call.content_type(value, {
:charset => @sinatra_call.settings.deas_default_charset
}.merge(opts || {}))
end
|
#halt(*args) ⇒ Object
37
38
39
|
# File 'lib/deas/sinatra_runner.rb', line 37
def halt(*args)
@sinatra_call.halt(*args)
end
|
61
62
63
|
# File 'lib/deas/sinatra_runner.rb', line 61
def (*args)
@sinatra_call.(*args)
end
|
#partial(partial_name, locals = nil) ⇒ Object
74
75
76
|
# File 'lib/deas/sinatra_runner.rb', line 74
def partial(partial_name, locals = nil)
Deas::Template::Partial.new(@sinatra_call, partial_name, locals).render
end
|
#redirect(*args) ⇒ Object
41
42
43
|
# File 'lib/deas/sinatra_runner.rb', line 41
def redirect(*args)
@sinatra_call.redirect(*args)
end
|
#render(template_name, options = nil, &block) ⇒ Object
65
66
67
68
69
70
71
72
|
# File 'lib/deas/sinatra_runner.rb', line 65
def render(template_name, options = nil, &block)
options ||= {}
options[:locals] = { :view => @handler }.merge(options[:locals] || {})
options[:layout] ||= @handler_class.layouts
self.content_type(get_content_type(template_name)) if self.content_type.nil?
Deas::Template.new(@sinatra_call, template_name, options).render(&block)
end
|
#run ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/deas/sinatra_runner.rb', line 27
def run
run_callbacks @handler_class.before_callbacks
@handler.init
response_data = @handler.run
run_callbacks @handler_class.after_callbacks
response_data
end
|
#send_file(*args, &block) ⇒ Object
78
79
80
|
# File 'lib/deas/sinatra_runner.rb', line 78
def send_file(*args, &block)
@sinatra_call.send_file(*args, &block)
end
|
#status(*args) ⇒ Object
57
58
59
|
# File 'lib/deas/sinatra_runner.rb', line 57
def status(*args)
@sinatra_call.status(*args)
end
|