Sha256: 126588d1be6ec5fd9fdac7b716208b9f98e66b8b9a93a4a90f1e0e6b782f80e4
Contents?: true
Size: 1.38 KB
Versions: 50
Compression:
Stored size: 1.38 KB
Contents
module Appfuel module Domain module DomainNameParser # This parse the domain name string or object with domain_name method # and returns an array with feature, domain and name. # # @example # parse_domain_name('foo.bar') # ['foo', 'bar', 'foo.bar'] # # @param name [String, Object] domain name # @return [Array] parsed Array from domain name def parse_domain_name(name) if !name.is_a?(String) && !name.respond_to?(:domain_name) fail 'domain name must be a string or implement method :domain_name' end name = name.domain_name if name.respond_to?(:domain_name) feature, domain = name.split('.') if domain.nil? fail "domain names must be in the form of (<feature|global>.domain)" end [feature, domain, name] end # This parse the domain attributes string and returns an array with # two elements. # # @example # parse_domain_attr('foo.bar.baz') # ['foo.bar', 'baz'] # # @param name [String] domain name attributes # @return [Array] parsed Array from domain attributes def parse_domain_attr(name) unless name.is_a?(String) fail 'domain attribute name must be a string' end *first, last = name.split('.') [first.join('.'), last] end end end end
Version data entries
50 entries across 50 versions & 1 rubygems