Module: Subdomainitis::RouteSetMethods
- Defined in:
- lib/subdomainitis.rb
Instance Method Summary collapse
- #add_maindomain_route(name) ⇒ Object
- #add_subdomain_route(name, subdomain_key) ⇒ Object
- #host_name(subdomain_parameter, host) ⇒ Object
- #main_domain_host(host) ⇒ Object
- #maindomain_url_for(args) ⇒ Object
- #subdomain_index ⇒ Object
- #subdomain_url_for(subdomain_key, args) ⇒ Object
- #url_for_with_subdomains(args) ⇒ Object
Instance Method Details
#add_maindomain_route(name) ⇒ Object
157 158 159 |
# File 'lib/subdomainitis.rb', line 157 def add_maindomain_route(name) maindomain_routes[name] = true end |
#add_subdomain_route(name, subdomain_key) ⇒ Object
153 154 155 |
# File 'lib/subdomainitis.rb', line 153 def add_subdomain_route(name, subdomain_key) subdomain_routes[name] = subdomain_key end |
#host_name(subdomain_parameter, host) ⇒ Object
161 162 163 164 165 166 167 168 169 170 171 |
# File 'lib/subdomainitis.rb', line 161 def host_name(subdomain_parameter, host) raise HostRequired.new unless host subdomain_parameter = if subdomain_parameter.respond_to?(:to_param) subdomain_parameter.to_param else subdomain_parameter end ([subdomain_parameter] + host.split(".")[subdomain_index..-1]).join(".") end |
#main_domain_host(host) ⇒ Object
173 174 175 |
# File 'lib/subdomainitis.rb', line 173 def main_domain_host(host) host.split(".")[subdomain_index..-1].join(".") end |
#maindomain_url_for(args) ⇒ Object
143 144 145 146 147 148 149 150 151 |
# File 'lib/subdomainitis.rb', line 143 def maindomain_url_for(args) raise HostRequired.new if args[:only_path] url_for_without_subdomains(if use_fake_subdomains args else args.merge :host => main_domain_host(args[:host]) end) end |
#subdomain_index ⇒ Object
177 178 179 |
# File 'lib/subdomainitis.rb', line 177 def subdomain_index -1 - tld_length end |
#subdomain_url_for(subdomain_key, args) ⇒ Object
131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/subdomainitis.rb', line 131 def subdomain_url_for(subdomain_key, args) raise HostRequired.new if args[:only_path] subdomain_parameter = args.delete(subdomain_key) raise HostRequired.new unless subdomain_parameter url_for_without_subdomains(if use_fake_subdomains args.merge SUBDOMAIN_KEY => subdomain_parameter else args.merge :host => host_name(subdomain_parameter, args[:host]) end) end |
#url_for_with_subdomains(args) ⇒ Object
120 121 122 123 124 125 126 127 128 129 |
# File 'lib/subdomainitis.rb', line 120 def url_for_with_subdomains(args) route_name = args[:use_route] if subdomain_key = subdomain_routes[route_name] subdomain_url_for(subdomain_key, args.dup) elsif maindomain_routes[route_name] maindomain_url_for(args.dup) else url_for_without_subdomains args end end |