module

Lucky::Subdomain

Inherits Habitat::SettingsHelpers < Habitat::TempConfig

Constants

HABITAT_SETTINGS = [{decl: tld_length : Int32 = 1, example: nil, validation: nil}] of Nil
IP_HOST_REGEXP = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/

Taken from https://github.com/rails/rails/blob/afc6abb674b51717dac39ea4d9e2252d7e40d060/actionpack/lib/action_dispatch/http/url.rb#L8

Class methods

configure
Source
settings
Source

Instance methods

settings
Source

Macros

require_subdomain(matcher = true)

Sets up a subdomain requirement for an action

require_subdomain                                    # subdomain required but can be anything
require_subdomain "admin"                            # subdomain required and must equal "admin"
require_subdomain /(dev|qa|prod)/                    # subdomain required and must match regex
require_subdomain ["tenant1", "tenant2", /tenant\d/] # subdomain required and must match one of the items in the array

The subdomain can then be accessed from within the route block by calling subdomain.

If you don't want to require a subdomain but still want to check if one is passed you can still call subdomain? without using require_subdomain. Just know that subdomain? is nilable.

Source

Nested types