Class: Rack::Rewrite::Action
- Inherits:
-
Object
- Object
- Rack::Rewrite::Action
show all
- Defined in:
- lib/rack_rewrite/actions.rb
Defined Under Namespace
Classes: Do, Fail, Pass, Redirect, Set
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
34
35
36
|
# File 'lib/rack_rewrite/actions.rb', line 34
def method_missing(method, *args, &block)
@request.send(method, *args, &block)
end
|
Instance Method Details
#query_string=(params) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/rack_rewrite/actions.rb', line 16
def query_string=(params)
env = @request.env
env['QUERY_STRING'] = case params
when Hash
params.inject([]) { |qs, (k, v)| qs << "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}"} * '&'
else
params
end
@request = Rack::Request.new(env)
end
|
#respond_to?(method) ⇒ Boolean
12
13
14
|
# File 'lib/rack_rewrite/actions.rb', line 12
def respond_to?(method)
@request.respond_to?(method) || super
end
|
#scheme=(scheme) ⇒ Object
28
29
30
31
32
|
# File 'lib/rack_rewrite/actions.rb', line 28
def scheme=(scheme)
env = @request.env
env['rack.url_scheme'] = scheme
@request = Rack::Request.new(env)
end
|
#setup(env) ⇒ Object
8
9
10
|
# File 'lib/rack_rewrite/actions.rb', line 8
def setup(env)
@request = Rack::Request.new(env)
end
|