Sha256: e47f6d9490f29e39b825e14b5f35f2a255bb77ab0f3e91df85740c9617a8c395

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

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

require 'whois/record/scanners/base'

module Whois
  class Record
    module Scanners

      # Scanner for WhoisTldEe-based records.
      class WhoisTldEe < Base

        self.tokenizers += [
            :scan_available,
            :skip_head,
            :scan_section,
            :skip_empty_line,
            :scan_disclaimer
        ]


        tokenizer :scan_available do
          if @input.skip(/^Domain not found/)
            @ast['status:available'] = true
          end
        end

        tokenizer :scan_section do
          if @input.scan(/^(Domain|Registrant|Administrative contact|Technical contact|Registrar|Name servers|DNSSEC):?\n/)
            @tmp['_section'] = @input[1]
            while scan_keyvalue
            end
            @tmp.delete('_section')
          end
        end

        tokenizer :skip_head do
          @input.skip(/^Estonia .ee Top Level Domain WHOIS server\n\n/)
        end

        tokenizer :skip_end do
          @input.skip(/^More information at http:\/\/internet.ee\n?/)
        end

        tokenizer :scan_disclaimer do
          @input.skip_until(/^(Estonia .ee Top Level Domain WHOIS server)/m)
          @ast['field:disclaimer'] = @input[1] << @input.scan_until(/.*$/m)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
whois-3.6.5 lib/whois/record/scanners/whois.tld.ee.rb