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

Version Path
appfuel-0.7.0 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.16 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.15 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.14 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.13 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.12 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.11 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.10 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.9 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.8 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.7 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.6 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.5 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.4 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.3 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.6.1 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.5.16 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.5.15 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.5.14 lib/appfuel/domain/domain_name_parser.rb
appfuel-0.5.13 lib/appfuel/domain/domain_name_parser.rb