Class: SinatraSimpleRouter::Controller
- Inherits:
-
Object
- Object
- SinatraSimpleRouter::Controller
show all
- Defined in:
- lib/sinatra_simple_router/controller.rb
Instance Method Summary
collapse
Constructor Details
3
4
5
|
# File 'lib/sinatra_simple_router/controller.rb', line 3
def initialize(app)
@app = app
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
23
24
25
26
27
28
29
30
31
32
|
# File 'lib/sinatra_simple_router/controller.rb', line 23
def method_missing(method, *args, &block)
if @app.respond_to?(method)
(self.instance_variables - [:"@app"]).each do |v|
@app.instance_variable_set(v, self.instance_variable_get(v))
end
@app.send(method, *args, &block)
else
super
end
end
|
Instance Method Details
#render(options = {}) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/sinatra_simple_router/controller.rb', line 7
def render(options = {})
if code=options[:status].to_i and code > 0
status code
end
if html=options[:html]
content_type "text/html"
body html.to_s
elsif json=options[:json]
content_type "application/json"
body json.to_json
else
raise ArgumentError.new("Unknown format in #{options.keys.sort}")
end
end
|