Sha256: 028008eefe1decadc648b9eb04c54539cf3fb3af7cf0a88f7358a3b460769380

Contents?: true

Size: 620 Bytes

Versions: 18

Compression:

Stored size: 620 Bytes

Contents

# frozen_string_literal: true

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

18 entries across 18 versions & 3 rubygems

Version Path
ros-apartment-3.2.0 lib/apartment/elevators/domain.rb
synerma-apartment-3.1.0 lib/apartment/elevators/domain.rb
puzzle-apartment-2.13.0 lib/apartment/elevators/domain.rb
puzzle-apartment-2.12.0 lib/apartment/elevators/domain.rb
ros-apartment-2.11.0 lib/apartment/elevators/domain.rb
ros-apartment-2.10.0 lib/apartment/elevators/domain.rb
ros-apartment-2.9.0 lib/apartment/elevators/domain.rb
ros-apartment-2.8.1 lib/apartment/elevators/domain.rb
ros-apartment-2.8.1.rc2 lib/apartment/elevators/domain.rb
ros-apartment-2.8.1.rc1 lib/apartment/elevators/domain.rb
ros-apartment-2.8.0 lib/apartment/elevators/domain.rb
ros-apartment-2.7.2 lib/apartment/elevators/domain.rb
ros-apartment-2.7.1 lib/apartment/elevators/domain.rb
ros-apartment-2.7.0 lib/apartment/elevators/domain.rb
ros-apartment-2.6.1 lib/apartment/elevators/domain.rb
ros-apartment-2.6.0 lib/apartment/elevators/domain.rb
ros-apartment-2.5.0 lib/apartment/elevators/domain.rb
ros-apartment-2.4.0 lib/apartment/elevators/domain.rb