Sha256: 846b3cf755e90dfc5c7bc1223f700db9b67b85c5633345029a9aae99f5454363

Contents?: true

Size: 1.85 KB

Versions: 6

Compression:

Stored size: 1.85 KB

Contents

#--
# Ruby Whois
#
# An intelligent pure Ruby WHOIS client and parser.
#
# Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
#++


require_relative 'base_icann_compliant'


module Whois
  class Parsers

    # Parser for the ZA Central Registry servers.
    #
    class ZaCentralRegistry < BaseIcannCompliant

      property_supported :domain_id do
        node('Domain ID')
      end

      property_supported :expires_on do
        node('Registry Expiry Date') do |value|
          parse_time(value)
        end
      end

      property_supported :registrar do
        return unless node("Sponsoring Registrar")
        Parser::Registrar.new(
            id:           node('Sponsoring Registrar IANA ID'),
            name:         node('Sponsoring Registrar'),
            organization: node('Sponsoring Registrar'),
        )
      end

      property_supported :available? do
        !node("Creation Date")
      end


      private

      def build_contact(element, type)
        node("#{element} Name") do
          Parser::Contact.new(
              type:         type,
              id:           node("#{element} ID").presence,
              name:         value_for_property(element, 'Name'),
              organization: value_for_property(element, 'Organization'),
              address:      value_for_property(element, 'Street'),
              city:         value_for_property(element, 'City'),
              zip:          value_for_property(element, 'Postal Code'),
              state:        value_for_property(element, 'State/Province'),
              country_code: value_for_property(element, 'Country'),
              phone:        value_for_phone_property(element, 'Phone'),
              fax:          value_for_phone_property(element, 'Fax'),
              email:        value_for_property(element, 'Email')
          )
        end
      end

    end

  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
whois-parser-1.0.1 lib/whois/parsers/za_central_registry.rb
hetzner-whois-parser-1.0.1.rc2 lib/whois/parsers/za_central_registry.rb
hetzner-whois-parser-1.0.1.rc1 lib/whois/parsers/za_central_registry.rb
whois-parser-1.0.0 lib/whois/parsers/za_central_registry.rb
whois-parser-1.0.0.pre.beta2 lib/whois/parsers/za_central_registry.rb
whois-parser-1.0.0.pre.beta1 lib/whois/parsers/za_central_registry.rb