Class: Subdomainitis::RouteSetMiddleware
- Inherits:
-
Object
- Object
- Subdomainitis::RouteSetMiddleware
- Defined in:
- lib/subdomainitis.rb
Constant Summary collapse
- PATH_PARAMETER_KEY =
'action_dispatch.request.path_parameters'
Instance Attribute Summary collapse
-
#dispatcher ⇒ Object
readonly
Returns the value of attribute dispatcher.
-
#route_set ⇒ Object
readonly
Returns the value of attribute route_set.
-
#subdomain_key ⇒ Object
readonly
Returns the value of attribute subdomain_key.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(route_set, dispatcher, subdomain_key) ⇒ RouteSetMiddleware
constructor
A new instance of RouteSetMiddleware.
- #subdomain_from(request) ⇒ Object
Constructor Details
#initialize(route_set, dispatcher, subdomain_key) ⇒ RouteSetMiddleware
Returns a new instance of RouteSetMiddleware.
66 67 68 |
# File 'lib/subdomainitis.rb', line 66 def initialize(route_set, dispatcher, subdomain_key) @route_set, @dispatcher, @subdomain_key = route_set, dispatcher, subdomain_key end |
Instance Attribute Details
#dispatcher ⇒ Object (readonly)
Returns the value of attribute dispatcher.
70 71 72 |
# File 'lib/subdomainitis.rb', line 70 def dispatcher @dispatcher end |
#route_set ⇒ Object (readonly)
Returns the value of attribute route_set.
70 71 72 |
# File 'lib/subdomainitis.rb', line 70 def route_set @route_set end |
#subdomain_key ⇒ Object (readonly)
Returns the value of attribute subdomain_key.
70 71 72 |
# File 'lib/subdomainitis.rb', line 70 def subdomain_key @subdomain_key end |
Instance Method Details
#call(env) ⇒ Object
75 76 77 78 79 80 81 82 |
# File 'lib/subdomainitis.rb', line 75 def call(env) request = ActionDispatch::Request.new env path_parameters = env[PATH_PARAMETER_KEY].merge(subdomain_key => subdomain_from(request)) env[PATH_PARAMETER_KEY] = path_parameters dispatcher.call(env) end |
#subdomain_from(request) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/subdomainitis.rb', line 84 def subdomain_from(request) if use_fake_subdomains request.GET[SUBDOMAIN_KEY] else request.subdomain(tld_length) end end |