class SubdomainParser

Returns subdomains from a full qualified domain name

Attributes

tld_length[R]

Public Class Methods

new(tld_length: 1) click to toggle source
# File lib/sensible_logging/helpers/subdomain_parser.rb, line 7
def initialize(tld_length: 1)
  @tld_length = tld_length
end

Public Instance Methods

parse(host) click to toggle source
# File lib/sensible_logging/helpers/subdomain_parser.rb, line 11
def parse(host)
  domain_parts = host.split('.')

  return domain_parts[0] if domain_parts.size == 1

  main_domain_length = tld_length + 1
  subdomain_length = domain_parts.size - main_domain_length

  subdomain_parts = domain_parts[0...subdomain_length]

  return nil if subdomain_parts.empty?

  subdomain_parts.join('.')
end