Sha256: 1b32c0f3c66ad5b3c28754c26b4fd48105010e079cb531cf2b5a1c4d659241bb

Contents?: true

Size: 597 Bytes

Versions: 6

Compression:

Stored size: 597 Bytes

Contents

require 'apartment/elevators/generic'

module Apartment
  module Elevators
    #   Provides a rack based tenant switching solution based on domain
    #   Assumes that tenant name should match domain
    #   Parses request host for second level domain, ignoring www
    #   eg. example.com       => example
    #       www.example.bc.ca => example
    #       a.example.bc.ca   => a
    #       
    #
    class Domain < Generic

      def parse_tenant_name(request)
        return nil if request.host.blank?

        request.host.match(/(www\.)?(?<sld>[^.]*)/)["sld"]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
ros-apartment-2.3.0 lib/apartment/elevators/domain.rb
ros-apartment-2.3.0.alpha2 lib/apartment/elevators/domain.rb
ros-apartment-2.3.0.alpha1 lib/apartment/elevators/domain.rb
apartment-2.2.1 lib/apartment/elevators/domain.rb
apartment-2.2.0 lib/apartment/elevators/domain.rb
apartment-2.1.0 lib/apartment/elevators/domain.rb