Module: ForeignDomainRouting::RouteExtensions

Defined in:
lib/foreign_domain_routing/routing_extensions.rb

Constant Summary collapse

TESTABLE_REQUEST_METHODS =
[:subdomain, :domain, :method, :port, :remote_ip, 
:content_type, :accepts, :request_uri, :protocol]

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



7
8
9
# File 'lib/foreign_domain_routing/routing_extensions.rb', line 7

def self.included(base)
  base.alias_method_chain :recognition_conditions, :foreign_domain
end

Instance Method Details

#recognition_conditions_with_foreign_domainObject



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/foreign_domain_routing/routing_extensions.rb', line 11

def recognition_conditions_with_foreign_domain      
  result = recognition_conditions_without_foreign_domain
  result << "ForeignDomainRouting.foreign_domain?(env[:host])" if conditions[:foreign_domain] == true
  result << "!ForeignDomainRouting.foreign_domain?(env[:host])" if conditions[:foreign_domain] == false
  
  conditions.each do |method, value|
    if TESTABLE_REQUEST_METHODS.include? method
      result << if value.is_a? Regexp
        "conditions[#{method.inspect}] =~ env[#{method.inspect}]"
      else
        "conditions[#{method.inspect}] === env[#{method.inspect}]"
      end
    else
    end
  end
  
  
  result
end