Module: SubdomainRouter::Constraint

Defined in:
lib/subdomain_router.rb

Overview

A routing constraint that restricts routes to only valid dynamic subdomains.

Examples:

get 'home' => 'accounts#show', constraint: SubdomainRouter::Constraint

Class Method Summary collapse

Class Method Details

.matches?(request) ⇒ true, false

Determines if a given request has a custom user subdomain.

Parameters:

  • request (ActionDispatch::Request)

    An HTTP request.

Returns:

  • (true, false)

    Whether the request subdomain matches a known user subdomain.



60
61
62
63
64
# File 'lib/subdomain_router.rb', line 60

def matches?(request)
  return false unless request.subdomains.size == 1
  return false if request.subdomains.first == Config.default_subdomain
  return subdomain?(request)
end

.subdomain?(request) ⇒ Boolean

Returns:

  • (Boolean)


69
70
71
72
# File 'lib/subdomain_router.rb', line 69

def subdomain?(request)
  subdomain = request.subdomains.first.downcase
  Config.subdomain_matcher.(subdomain, request)
end