Module: Mumukit::Core::Subdominated

Included in:
Rack::Request
Defined in:
lib/mumukit/core/request.rb

Instance Method Summary collapse

Instance Method Details

#empty_subdomain_after?(domain) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/mumukit/core/request.rb', line 23

def empty_subdomain_after?(domain)
  first_subdomain_after(domain).blank?
end

#first_subdomain_after(domain) ⇒ Object



6
7
8
# File 'lib/mumukit/core/request.rb', line 6

def first_subdomain_after(domain)
  subdomain_parts_after(domain)&.first
end

#subdomain_after(domain) ⇒ Object



18
19
20
21
# File 'lib/mumukit/core/request.rb', line 18

def subdomain_after(domain)
  parts = subdomain_parts_after(domain)
  parts.join('.') unless parts.empty?
end

#subdomain_parts_after(domain) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/mumukit/core/request.rb', line 10

def subdomain_parts_after(domain)
  raise 'no host set' unless host
  raise 'set hostname first!' if /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host)
  return nil if host == 'localhost'
  domain_parts = domain.split('.')
  (host.split('.') - domain_parts)
end