whois 2.5.1 → 2.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +1537 -0
- data/README.md +212 -0
- data/Rakefile +3 -3
- data/lib/whois.rb +26 -1
- data/lib/whois/definitions/tlds.rb +3 -2
- data/lib/whois/record.rb +2 -2
- data/lib/whois/record/parser/base_afilias.rb +2 -2
- data/lib/whois/record/parser/base_cocca.rb +9 -1
- data/lib/whois/record/parser/jobswhois.verisign-grs.com.rb +6 -2
- data/lib/whois/record/parser/kero.yachay.pe.rb +1 -1
- data/lib/whois/record/parser/whois.adamsnames.tc.rb +1 -1
- data/lib/whois/record/parser/whois.aeda.net.ae.rb +1 -1
- data/lib/whois/record/parser/whois.ai.rb +1 -1
- data/lib/whois/record/parser/whois.arnes.si.rb +1 -1
- data/lib/whois/record/parser/whois.ati.tn.rb +133 -0
- data/lib/whois/record/parser/whois.biz.rb +1 -1
- data/lib/whois/record/parser/whois.cat.rb +1 -1
- data/lib/whois/record/parser/whois.cctld.uz.rb +4 -3
- data/lib/whois/record/parser/whois.centralnic.com.rb +1 -3
- data/lib/whois/record/parser/whois.cnnic.cn.rb +1 -1
- data/lib/whois/record/parser/whois.co.ca.rb +1 -1
- data/lib/whois/record/parser/whois.co.pl.rb +1 -1
- data/lib/whois/record/parser/whois.co.ug.rb +13 -12
- data/lib/whois/record/parser/whois.crsnic.net.rb +6 -2
- data/lib/whois/record/parser/whois.denic.de.rb +1 -1
- data/lib/whois/record/parser/whois.dk-hostmaster.dk.rb +1 -1
- data/lib/whois/record/parser/whois.dns.be.rb +2 -2
- data/lib/whois/record/parser/whois.dns.lu.rb +2 -2
- data/lib/whois/record/parser/whois.dns.pl.rb +2 -2
- data/lib/whois/record/parser/whois.dns.pt.rb +1 -1
- data/lib/whois/record/parser/whois.domain-registry.nl.rb +1 -1
- data/lib/whois/record/parser/whois.domain.kg.rb +1 -1
- data/lib/whois/record/parser/whois.domainregistry.my.rb +1 -1
- data/lib/whois/record/parser/whois.domreg.lt.rb +2 -2
- data/lib/whois/record/parser/whois.dot.tk.rb +1 -1
- data/lib/whois/record/parser/whois.dreamhost.com.rb +1 -1
- data/lib/whois/record/parser/whois.educause.edu.rb +128 -20
- data/lib/whois/record/parser/whois.eenet.ee.rb +1 -1
- data/lib/whois/record/parser/whois.eu.rb +2 -2
- data/lib/whois/record/parser/whois.fi.rb +1 -1
- data/lib/whois/record/parser/whois.gg.rb +1 -1
- data/lib/whois/record/parser/whois.godaddy.com.rb +1 -1
- data/lib/whois/record/parser/whois.hkirc.hk.rb +12 -13
- data/lib/whois/record/parser/whois.iana.org.rb +2 -1
- data/lib/whois/record/parser/whois.in.ua.rb +1 -1
- data/lib/whois/record/parser/whois.isnic.is.rb +1 -1
- data/lib/whois/record/parser/whois.isoc.org.il.rb +1 -1
- data/lib/whois/record/parser/whois.ja.net.rb +2 -1
- data/lib/whois/record/parser/whois.je.rb +1 -1
- data/lib/whois/record/parser/whois.jprs.jp.rb +1 -1
- data/lib/whois/record/parser/whois.kenic.or.ke.rb +1 -1
- data/lib/whois/record/parser/whois.markmonitor.com.rb +1 -1
- data/lib/whois/record/parser/whois.meregistry.net.rb +1 -1
- data/lib/whois/record/parser/whois.museum.rb +1 -1
- data/lib/whois/record/parser/whois.na-nic.com.na.rb +1 -0
- data/lib/whois/record/parser/whois.netcom.cm.rb +1 -1
- data/lib/whois/record/parser/whois.nic-se.se.rb +1 -1
- data/lib/whois/record/parser/whois.nic.am.rb +1 -1
- data/lib/whois/record/parser/whois.nic.as.rb +1 -1
- data/lib/whois/record/parser/whois.nic.asia.rb +1 -1
- data/lib/whois/record/parser/whois.nic.at.rb +1 -1
- data/lib/whois/record/parser/whois.nic.cc.rb +1 -1
- data/lib/whois/record/parser/whois.nic.cd.rb +1 -1
- data/lib/whois/record/parser/whois.nic.ch.rb +2 -2
- data/lib/whois/record/parser/whois.nic.ci.rb +1 -1
- data/lib/whois/record/parser/whois.nic.ck.rb +1 -1
- data/lib/whois/record/parser/whois.nic.cl.rb +1 -1
- data/lib/whois/record/parser/whois.nic.co.rb +1 -1
- data/lib/whois/record/parser/whois.nic.coop.rb +1 -1
- data/lib/whois/record/parser/whois.nic.cz.rb +11 -9
- data/lib/whois/record/parser/whois.nic.ec.rb +1 -1
- data/lib/whois/record/parser/whois.nic.gl.rb +2 -63
- data/lib/whois/record/parser/whois.nic.hu.rb +3 -3
- data/lib/whois/record/parser/whois.nic.im.rb +1 -1
- data/lib/whois/record/parser/whois.nic.ir.rb +1 -1
- data/lib/whois/record/parser/whois.nic.it.rb +4 -4
- data/lib/whois/record/parser/whois.nic.kz.rb +1 -1
- data/lib/whois/record/parser/whois.nic.li.rb +1 -1
- data/lib/whois/record/parser/whois.nic.lv.rb +1 -1
- data/lib/whois/record/parser/whois.nic.ly.rb +1 -1
- data/lib/whois/record/parser/whois.nic.md.rb +5 -5
- data/lib/whois/record/parser/whois.nic.mg.rb +1 -1
- data/lib/whois/record/parser/whois.nic.mx.rb +1 -1
- data/lib/whois/record/parser/whois.nic.net.sa.rb +1 -1
- data/lib/whois/record/parser/whois.nic.nu.rb +1 -1
- data/lib/whois/record/parser/whois.nic.org.uy.rb +1 -1
- data/lib/whois/record/parser/whois.nic.sl.rb +1 -1
- data/lib/whois/record/parser/whois.nic.sm.rb +1 -1
- data/lib/whois/record/parser/whois.nic.sn.rb +6 -3
- data/lib/whois/record/parser/whois.nic.so.rb +1 -1
- data/lib/whois/record/parser/whois.nic.st.rb +1 -1
- data/lib/whois/record/parser/whois.nic.tel.rb +1 -1
- data/lib/whois/record/parser/whois.nic.tr.rb +2 -1
- data/lib/whois/record/parser/whois.nic.travel.rb +1 -1
- data/lib/whois/record/parser/whois.nic.tv.rb +1 -1
- data/lib/whois/record/parser/whois.nic.uk.rb +11 -4
- data/lib/whois/record/parser/whois.nic.us.rb +1 -1
- data/lib/whois/record/parser/whois.nic.ve.rb +5 -3
- data/lib/whois/record/parser/whois.pandi.or.id.rb +5 -4
- data/lib/whois/record/parser/whois.pnina.ps.rb +8 -8
- data/lib/whois/record/parser/whois.register.bg.rb +6 -5
- data/lib/whois/record/parser/whois.registry.hm.rb +1 -1
- data/lib/whois/record/parser/whois.registry.om.rb +125 -0
- data/lib/whois/record/parser/whois.registrypro.pro.rb +1 -1
- data/lib/whois/record/parser/whois.ripe.net.rb +1 -1
- data/lib/whois/record/parser/whois.rnids.rs.rb +1 -1
- data/lib/whois/record/parser/whois.rotld.ro.rb +5 -4
- data/lib/whois/record/parser/whois.samoanic.ws.rb +1 -1
- data/lib/whois/record/parser/whois.sgnic.sg.rb +16 -16
- data/lib/whois/record/parser/whois.sk-nic.sk.rb +15 -8
- data/lib/whois/record/parser/whois.smallregistry.net.rb +10 -2
- data/lib/whois/record/parser/whois.srs.net.nz.rb +38 -20
- data/lib/whois/record/parser/whois.tcinet.ru.rb +4 -2
- data/lib/whois/record/parser/whois.thnic.co.th.rb +5 -4
- data/lib/whois/record/parser/whois.tld.ee.rb +7 -7
- data/lib/whois/record/parser/whois.tonic.to.rb +2 -3
- data/lib/whois/record/parser/whois.twnic.net.tw.rb +1 -1
- data/lib/whois/record/parser/whois.tznic.or.tz.rb +8 -4
- data/lib/whois/record/parser/whois.usp.ac.fj.rb +5 -4
- data/lib/whois/record/parser/whois.za.net.rb +1 -1
- data/lib/whois/record/parser/whois.za.org.rb +1 -1
- data/lib/whois/record/scanners/whois.ati.tn.rb +46 -0
- data/lib/whois/record/scanners/whois.cira.ca.rb +0 -1
- data/lib/whois/record/scanners/whois.registry.om.rb +39 -0
- data/lib/whois/record/scanners/whois.rnids.rs.rb +5 -0
- data/lib/whois/record/super_struct.rb +8 -5
- data/lib/whois/server/adapters/base.rb +53 -53
- data/lib/whois/version.rb +2 -2
- data/spec/fixtures/responses/whois.ati.tn/status_available.expected +57 -0
- data/spec/fixtures/responses/whois.ati.tn/status_available.txt +4 -0
- data/spec/fixtures/responses/whois.ati.tn/status_registered.expected +122 -0
- data/spec/fixtures/responses/whois.ati.tn/status_registered.txt +36 -0
- data/spec/fixtures/responses/whois.cctld.uz/property_expires_on_dash.expected +2 -0
- data/spec/fixtures/responses/whois.cctld.uz/property_expires_on_dash.txt +123 -0
- data/spec/fixtures/responses/whois.cctld.uz/property_status_reserved.expected +8 -0
- data/spec/fixtures/responses/whois.cctld.uz/property_status_reserved.txt +123 -0
- data/spec/fixtures/responses/{whois.nic.uk/property_status_registered.expected → whois.co.ug/property_status_active.expected} +0 -0
- data/spec/fixtures/responses/whois.co.ug/property_status_active.txt +35 -0
- data/spec/fixtures/responses/whois.co.ug/property_status_unconfirmed.expected +8 -0
- data/spec/fixtures/responses/whois.co.ug/property_status_unconfirmed.txt +30 -0
- data/spec/fixtures/responses/whois.dns.be/{response_throttled.expected → response_throttled_hourly.expected} +0 -0
- data/spec/fixtures/responses/whois.dns.be/{response_throttled_max.txt → response_throttled_hourly.txt} +0 -0
- data/spec/fixtures/responses/whois.dns.be/{response_throttled_max.expected → response_throttled_limit.expected} +0 -0
- data/spec/fixtures/responses/whois.dns.be/{response_throttled.txt → response_throttled_limit.txt} +0 -0
- data/spec/fixtures/responses/whois.dns.hr/status_registered.expected +13 -11
- data/spec/fixtures/responses/whois.domain-registry.nl/status_available.expected +4 -0
- data/spec/fixtures/responses/whois.domain-registry.nl/status_redemption.expected +4 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture1.txt +63 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture2.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture3.txt +67 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture4.txt +68 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture5.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/fixture6.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant.expected +27 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant.txt +63 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_with_additional_organization.expected +28 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_with_additional_organization.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_without_address.expected +26 -0
- data/spec/fixtures/responses/whois.educause.edu/{property_registrant_without_address.txt → property_contact_registrant_without_address.txt} +0 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_without_zip.expected +27 -0
- data/spec/fixtures/responses/whois.educause.edu/{property_registrant_without_zip.txt → property_contact_registrant_without_zip.txt} +0 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts.expected +31 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts.txt +63 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case1.expected +31 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case1.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case2.expected +32 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case2.txt +67 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case3.expected +32 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case3.txt +66 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case4.expected +32 -0
- data/spec/fixtures/responses/whois.educause.edu/property_contacts_case4.txt +68 -0
- data/spec/fixtures/responses/whois.educause.edu/status_available.expected +34 -0
- data/spec/fixtures/responses/whois.educause.edu/status_registered.expected +70 -8
- data/spec/fixtures/responses/whois.hkirc.hk/property_expires_on_null.expected +2 -0
- data/spec/fixtures/responses/whois.hkirc.hk/property_expires_on_null.txt +104 -0
- data/spec/fixtures/responses/whois.na-nic.com.na/property_status_active.expected +8 -0
- data/spec/fixtures/responses/whois.na-nic.com.na/property_status_active.txt +54 -0
- data/spec/fixtures/responses/whois.na-nic.com.na/property_status_delegated.expected +8 -0
- data/spec/fixtures/responses/whois.na-nic.com.na/property_status_delegated.txt +86 -0
- data/spec/fixtures/responses/whois.na-nic.com.na/status_registered.expected +9 -2
- data/spec/fixtures/responses/whois.na-nic.com.na/status_registered.txt +17 -7
- data/spec/fixtures/responses/whois.nc/property_contact_without_state.txt +21 -0
- data/spec/fixtures/responses/whois.nic.af/status_registered.expected +14 -3
- data/spec/fixtures/responses/whois.nic.af/status_registered.txt +59 -40
- data/spec/fixtures/responses/whois.nic.cx/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.gl/status_available.expected +7 -0
- data/spec/fixtures/responses/whois.nic.gl/status_registered.expected +14 -0
- data/spec/fixtures/responses/whois.nic.gs/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.ht/status_registered.expected +9 -2
- data/spec/fixtures/responses/whois.nic.ht/status_registered.txt +58 -44
- data/spec/fixtures/responses/whois.nic.ki/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.ms/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.mu/status_registered.expected +9 -2
- data/spec/fixtures/responses/whois.nic.mu/status_registered.txt +52 -8
- data/spec/fixtures/responses/whois.nic.net.nf/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.net.ng/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.net.sb/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.nic.tl/status_registered.expected +9 -2
- data/spec/fixtures/responses/whois.nic.tl/status_registered.txt +42 -5
- data/spec/fixtures/responses/whois.nic.uk/property_nameservers_with_ip.txt +11 -7
- data/spec/fixtures/responses/whois.nic.uk/property_registrant_type_individual.txt +45 -0
- data/spec/fixtures/responses/whois.nic.uk/{property_status_registered.txt → property_registrant_type_unknown.txt} +5 -5
- data/spec/fixtures/responses/whois.nic.uk/property_status_missing.txt +2 -2
- data/spec/fixtures/responses/whois.nic.uk/property_status_no_status_listed.txt +2 -2
- data/spec/fixtures/responses/whois.nic.uk/property_status_registered_until_expiry_date.txt +18 -13
- data/spec/fixtures/responses/whois.nic.uk/property_status_suspended.txt +51 -51
- data/spec/fixtures/responses/whois.nic.uk/status_available.txt +2 -2
- data/spec/fixtures/responses/whois.nic.uk/status_invalid.txt +2 -2
- data/spec/fixtures/responses/whois.nic.uk/status_registered.expected +2 -2
- data/spec/fixtures/responses/whois.nic.uk/status_registered.txt +5 -5
- data/spec/fixtures/responses/whois.nic.uk/status_reserved.expected +1 -1
- data/spec/fixtures/responses/whois.nic.uk/status_reserved.txt +2 -2
- data/spec/fixtures/responses/whois.nic.uk/status_suspended.expected +1 -1
- data/spec/fixtures/responses/whois.nic.uk/status_suspended.txt +51 -51
- data/spec/fixtures/responses/whois.registry.gy/status_registered.expected +7 -0
- data/spec/fixtures/responses/whois.registry.om/status_available.expected +56 -0
- data/spec/fixtures/responses/whois.registry.om/status_available.txt +1 -0
- data/spec/fixtures/responses/whois.registry.om/status_registered.expected +100 -0
- data/spec/fixtures/responses/whois.registry.om/status_registered.txt +18 -0
- data/spec/fixtures/responses/whois.rnids.rs/property_nameservers_hyphenated.expected +9 -0
- data/spec/fixtures/responses/whois.rnids.rs/property_nameservers_hyphenated.txt +36 -0
- data/spec/fixtures/responses/whois.rnids.rs/token_whois_privacy.expected +11 -0
- data/spec/fixtures/responses/whois.rnids.rs/token_whois_privacy.txt +36 -0
- data/spec/fixtures/responses/whois.srs.net.nz/response_throttled.expected +2 -0
- data/spec/fixtures/responses/whois.srs.net.nz/response_throttled.txt +27 -0
- data/spec/fixtures/responses/whois.srs.net.nz/status_available.expected +4 -0
- data/spec/fixtures/responses/whois.srs.net.nz/status_available.txt +2 -3
- data/spec/fixtures/responses/whois.srs.net.nz/status_invalid.expected +4 -0
- data/spec/fixtures/responses/whois.srs.net.nz/status_invalid.txt +2 -3
- data/spec/fixtures/responses/whois.srs.net.nz/status_registered.expected +6 -2
- data/spec/fixtures/responses/whois.srs.net.nz/status_registered.txt +5 -4
- data/spec/fixtures/responses/whois.tznic.or.tz/property_status_expired.expected +8 -0
- data/spec/fixtures/responses/whois.tznic.or.tz/property_status_expired.txt +56 -0
- data/spec/support/helpers/spec_helper.rb +0 -5
- data/spec/tlds +4 -2
- data/spec/whois/record/contact_spec.rb +8 -8
- data/spec/whois/record/nameserver_spec.rb +6 -6
- data/spec/whois/record/parser/base_spec.rb +11 -11
- data/spec/whois/record/parser/blank_spec.rb +1 -1
- data/spec/whois/record/parser/responses/whois.ati.tn/status_available_spec.rb +108 -0
- data/spec/whois/record/parser/responses/whois.ati.tn/status_registered_spec.rb +173 -0
- data/spec/whois/record/parser/responses/whois.cctld.uz/property_expires_on_dash_spec.rb +29 -0
- data/spec/whois/record/parser/responses/whois.cctld.uz/property_status_reserved_spec.rb +39 -0
- data/spec/whois/record/parser/responses/{whois.nic.uk/property_status_registered_spec.rb → whois.co.ug/property_status_active_spec.rb} +4 -4
- data/spec/whois/record/parser/responses/whois.co.ug/property_status_unconfirmed_spec.rb +39 -0
- data/spec/whois/record/parser/responses/whois.dns.be/{response_throttled_spec.rb → response_throttled_hourly_spec.rb} +3 -3
- data/spec/whois/record/parser/responses/whois.dns.be/{response_throttled_max_spec.rb → response_throttled_limit_spec.rb} +3 -3
- data/spec/whois/record/parser/responses/whois.dns.hr/status_registered_spec.rb +13 -11
- data/spec/whois/record/parser/responses/whois.domain-registry.nl/status_available_spec.rb +5 -0
- data/spec/whois/record/parser/responses/whois.domain-registry.nl/status_redemption_spec.rb +5 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_spec.rb +44 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_with_additional_organization_spec.rb +44 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_without_address_spec.rb +44 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_without_zip_spec.rb +44 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case1_spec.rb +43 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case2_spec.rb +43 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case3_spec.rb +43 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case4_spec.rb +43 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_spec.rb +43 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/status_available_spec.rb +48 -0
- data/spec/whois/record/parser/responses/whois.educause.edu/status_registered_spec.rb +83 -8
- data/spec/whois/record/parser/responses/whois.hkirc.hk/property_expires_on_null_spec.rb +29 -0
- data/spec/whois/record/parser/responses/whois.na-nic.com.na/property_status_active_spec.rb +39 -0
- data/spec/whois/record/parser/responses/whois.na-nic.com.na/property_status_delegated_spec.rb +39 -0
- data/spec/whois/record/parser/responses/whois.na-nic.com.na/status_registered_spec.rb +10 -2
- data/spec/whois/record/parser/responses/whois.nic.af/status_registered_spec.rb +15 -3
- data/spec/whois/record/parser/responses/whois.nic.cx/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.gl/status_available_spec.rb +10 -0
- data/spec/whois/record/parser/responses/whois.nic.gl/status_registered_spec.rb +18 -0
- data/spec/whois/record/parser/responses/whois.nic.gs/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.ht/status_registered_spec.rb +10 -2
- data/spec/whois/record/parser/responses/whois.nic.ki/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.ms/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.mu/status_registered_spec.rb +10 -2
- data/spec/whois/record/parser/responses/whois.nic.net.nf/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.net.ng/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.net.sb/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.nic.tl/status_registered_spec.rb +10 -2
- data/spec/whois/record/parser/responses/whois.nic.uk/status_registered_spec.rb +2 -2
- data/spec/whois/record/parser/responses/whois.nic.uk/status_reserved_spec.rb +1 -1
- data/spec/whois/record/parser/responses/whois.nic.uk/status_suspended_spec.rb +1 -1
- data/spec/whois/record/parser/responses/whois.registry.gy/status_registered_spec.rb +8 -0
- data/spec/whois/record/parser/responses/whois.registry.om/status_available_spec.rb +107 -0
- data/spec/whois/record/parser/responses/whois.registry.om/status_registered_spec.rb +151 -0
- data/spec/whois/record/parser/responses/whois.rnids.rs/property_nameservers_hyphenated_spec.rb +36 -0
- data/spec/whois/record/parser/responses/whois.rnids.rs/token_whois_privacy_spec.rb +42 -0
- data/spec/whois/record/parser/responses/whois.srs.net.nz/response_throttled_spec.rb +29 -0
- data/spec/whois/record/parser/responses/whois.srs.net.nz/status_available_spec.rb +5 -0
- data/spec/whois/record/parser/responses/whois.srs.net.nz/status_invalid_spec.rb +5 -0
- data/spec/whois/record/parser/responses/whois.srs.net.nz/status_registered_spec.rb +7 -2
- data/spec/whois/record/parser/responses/whois.tznic.or.tz/property_status_expired_spec.rb +39 -0
- data/spec/whois/record/parser_spec.rb +25 -25
- data/spec/whois/record/part_spec.rb +5 -5
- data/spec/whois/record/registrar_spec.rb +8 -8
- data/spec/whois/record/super_struct_spec.rb +0 -1
- data/spec/whois/record_spec.rb +12 -12
- data/spec/whois/server/adapters/afilias_spec.rb +2 -2
- data/spec/whois/server/adapters/formatted_spec.rb +1 -1
- data/spec/whois/server/adapters/pir_spec.rb +2 -2
- data/spec/whois/server/adapters/standard_spec.rb +1 -1
- data/spec/whois/server/adapters/verisign_spec.rb +2 -2
- data/whois.gemspec +6 -6
- metadata +97 -20
- data/.rspec +0 -1
- data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_address.expected +0 -11
- data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_zip.expected +0 -12
- data/spec/whois/record/parser/responses/whois.educause.edu/property_registrant_without_address_spec.rb +0 -38
- data/spec/whois/record/parser/responses/whois.educause.edu/property_registrant_without_zip_spec.rb +0 -39
@@ -62,7 +62,7 @@ module Whois
|
|
62
62
|
property_supported :nameservers do
|
63
63
|
if content_for_scanner =~ /Domain servers:\n((.+\n)+)\n/
|
64
64
|
$1.split("\n").map do |name|
|
65
|
-
Record::Nameserver.new(name.strip.chomp("."))
|
65
|
+
Record::Nameserver.new(:name => name.strip.chomp("."))
|
66
66
|
end
|
67
67
|
end
|
68
68
|
end
|
@@ -65,9 +65,9 @@ module Whois
|
|
65
65
|
if content_for_scanner =~ /Name\sservers:\s((.+\n)+)\n/
|
66
66
|
$1.split("\n").map do |line|
|
67
67
|
if line.strip =~ /(.+) \((.+)\)/
|
68
|
-
Record::Nameserver.new($1, $2)
|
68
|
+
Record::Nameserver.new(:name => $1, :ipv4 => $2)
|
69
69
|
else
|
70
|
-
Record::Nameserver.new(line.strip)
|
70
|
+
Record::Nameserver.new(:name => line.strip)
|
71
71
|
end
|
72
72
|
end
|
73
73
|
end
|
@@ -82,7 +82,7 @@ module Whois
|
|
82
82
|
property_supported :nameservers do
|
83
83
|
if content_for_scanner =~ /Domain servers in listed order:\n((.+\n)+)\n/
|
84
84
|
$1.split("\n").map do |line|
|
85
|
-
Record::Nameserver.new(line.strip)
|
85
|
+
Record::Nameserver.new(:name => line.strip)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
end
|
@@ -14,16 +14,14 @@ module Whois
|
|
14
14
|
class Record
|
15
15
|
class Parser
|
16
16
|
|
17
|
-
#
|
18
|
-
# = whois.hkirc.hk parser
|
19
|
-
#
|
20
17
|
# Parser for the whois.hkirc.hk server.
|
21
18
|
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
#
|
26
|
-
#
|
19
|
+
# @note This parser is just a stub and provides only a few basic methods
|
20
|
+
# to check for domain availability and get domain status.
|
21
|
+
# Please consider to contribute implementing missing methods.
|
22
|
+
#
|
23
|
+
# @see Whois::Record::Parser::Example
|
24
|
+
# The Example parser for the list of all available methods.
|
27
25
|
#
|
28
26
|
class WhoisHkircHk < Base
|
29
27
|
|
@@ -36,7 +34,7 @@ module Whois
|
|
36
34
|
end
|
37
35
|
|
38
36
|
property_supported :available? do
|
39
|
-
|
37
|
+
content_for_scanner.strip == 'Domain Not Found'
|
40
38
|
end
|
41
39
|
|
42
40
|
property_supported :registered? do
|
@@ -45,7 +43,7 @@ module Whois
|
|
45
43
|
|
46
44
|
|
47
45
|
property_supported :created_on do
|
48
|
-
if content_for_scanner =~ /Domain Name Commencement Date:\s(
|
46
|
+
if content_for_scanner =~ /Domain Name Commencement Date:\s(.+?)\n/
|
49
47
|
Time.parse($1)
|
50
48
|
end
|
51
49
|
end
|
@@ -53,8 +51,9 @@ module Whois
|
|
53
51
|
property_not_supported :updated_on
|
54
52
|
|
55
53
|
property_supported :expires_on do
|
56
|
-
if content_for_scanner =~ /Expiry Date:\s(
|
57
|
-
|
54
|
+
if content_for_scanner =~ /Expiry Date:\s(.+?)\n/
|
55
|
+
time = $1.strip
|
56
|
+
Time.parse(time) unless time == 'null'
|
58
57
|
end
|
59
58
|
end
|
60
59
|
|
@@ -62,7 +61,7 @@ module Whois
|
|
62
61
|
property_supported :nameservers do
|
63
62
|
if content_for_scanner =~ /Name Servers Information:\n\n((.+\n)+)\n/
|
64
63
|
$1.split("\n").map do |name|
|
65
|
-
Record::Nameserver.new(name.strip.downcase)
|
64
|
+
Record::Nameserver.new(:name => name.strip.downcase)
|
66
65
|
end
|
67
66
|
end
|
68
67
|
end
|
@@ -65,7 +65,8 @@ module Whois
|
|
65
65
|
property_supported :nameservers do
|
66
66
|
node("nameservers") do |raw|
|
67
67
|
(raw["nserver"] || "").split("\n").map do |line|
|
68
|
-
|
68
|
+
name, ipv4 = line.downcase.split(/\s+/)
|
69
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
69
70
|
end
|
70
71
|
end
|
71
72
|
end
|
@@ -66,7 +66,8 @@ module Whois
|
|
66
66
|
property_supported :nameservers do
|
67
67
|
if content_for_scanner =~ /Servers:\n((.+\n)+)\n/
|
68
68
|
$1.split("\n").map do |line|
|
69
|
-
|
69
|
+
name, ipv4 = line.strip.downcase.split("\t")
|
70
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|
@@ -78,7 +78,7 @@ module Whois
|
|
78
78
|
property_supported :nameservers do
|
79
79
|
if content_for_scanner =~ /Domain servers in listed order:\n\n((?:\s*[^\s\n]+\n)+)/
|
80
80
|
$1.split("\n").map do |line|
|
81
|
-
Record::Nameserver.new(line.strip)
|
81
|
+
Record::Nameserver.new(:name => line.strip)
|
82
82
|
end
|
83
83
|
end
|
84
84
|
end
|
@@ -70,7 +70,7 @@ module Whois
|
|
70
70
|
property_supported :nameservers do
|
71
71
|
content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten.map do |line|
|
72
72
|
name, ipv4 = line.split(/\s+/)
|
73
|
-
Record::Nameserver.new(name, ipv4)
|
73
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -80,7 +80,7 @@ module Whois
|
|
80
80
|
property_supported :nameservers do
|
81
81
|
content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |line|
|
82
82
|
name, ipv4 = line.split(/\s+/)
|
83
|
-
Record::Nameserver.new(name, ipv4)
|
83
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
@@ -55,7 +55,7 @@ module Whois
|
|
55
55
|
if content_for_scanner =~ /Nameservers:\s((.+\n)+)\n/
|
56
56
|
$1.split("\n").reject { |value| value.strip.empty? }.map do |line|
|
57
57
|
line.strip =~ /(.+) \((.+)\)/
|
58
|
-
Record::Nameserver.new($1, $2)
|
58
|
+
Record::Nameserver.new(:name => $1, :ipv4 => $2)
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
@@ -58,7 +58,7 @@ module Whois
|
|
58
58
|
property_supported :nameservers do
|
59
59
|
if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
60
60
|
$1.split("\n").map do |name|
|
61
|
-
Record::Nameserver.new(name.strip.downcase)
|
61
|
+
Record::Nameserver.new(:name => name.strip.downcase)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
end
|
@@ -64,12 +64,12 @@ module Whois
|
|
64
64
|
if line =~ /(.+)\t\[(.+)\]/
|
65
65
|
name, ip = $1, $2
|
66
66
|
order << name unless order.include?(name)
|
67
|
-
list[name] ||= Record::Nameserver.new(name)
|
67
|
+
list[name] ||= Record::Nameserver.new(:name => name)
|
68
68
|
list[name].ipv4 = ip if Whois::Server.valid_ipv4?(ip)
|
69
69
|
list[name].ipv6 = ip if Whois::Server.valid_ipv6?(ip)
|
70
70
|
else
|
71
71
|
order << line unless order.include?(line)
|
72
|
-
list[line] ||= Record::Nameserver.new(line)
|
72
|
+
list[line] ||= Record::Nameserver.new(:name => line)
|
73
73
|
end
|
74
74
|
end
|
75
75
|
order.map { |name| list[name] }
|
@@ -30,13 +30,13 @@ module Whois
|
|
30
30
|
property_supported :status do
|
31
31
|
if content_for_scanner =~ /status:\s+(.+)\n/
|
32
32
|
case $1.downcase
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
when "paid and in zone", "update prohibited"
|
34
|
+
:registered
|
35
|
+
# NEWSTATUS
|
36
|
+
when "expired"
|
37
|
+
:expired
|
38
|
+
else
|
39
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
40
40
|
end
|
41
41
|
else
|
42
42
|
:available
|
@@ -74,9 +74,11 @@ module Whois
|
|
74
74
|
property_supported :nameservers do
|
75
75
|
content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |line|
|
76
76
|
if line =~ /(.+) \((.+)\)/
|
77
|
-
|
77
|
+
name = $1
|
78
|
+
ipv4, ipv6 = $2.split(", ")
|
79
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4, :ipv6 => ipv6)
|
78
80
|
else
|
79
|
-
Record::Nameserver.new(line.strip)
|
81
|
+
Record::Nameserver.new(:name => line.strip)
|
80
82
|
end
|
81
83
|
end
|
82
84
|
end
|
@@ -7,76 +7,15 @@
|
|
7
7
|
#++
|
8
8
|
|
9
9
|
|
10
|
-
require 'whois/record/parser/
|
10
|
+
require 'whois/record/parser/base_cocca'
|
11
11
|
|
12
12
|
|
13
13
|
module Whois
|
14
14
|
class Record
|
15
15
|
class Parser
|
16
16
|
|
17
|
-
#
|
18
|
-
# = whois.nic.gl parser
|
19
|
-
#
|
20
17
|
# Parser for the whois.nic.gl server.
|
21
|
-
|
22
|
-
# NOTE: This parser is just a stub and provides only a few basic methods
|
23
|
-
# to check for domain availability and get domain status.
|
24
|
-
# Please consider to contribute implementing missing methods.
|
25
|
-
# See WhoisNicIt parser for an explanation of all available methods
|
26
|
-
# and examples.
|
27
|
-
#
|
28
|
-
class WhoisNicGl < Base
|
29
|
-
|
30
|
-
property_supported :status do
|
31
|
-
if content_for_scanner =~ /Status:\s+(.+?)\n/
|
32
|
-
case $1.downcase
|
33
|
-
when "active" then :registered
|
34
|
-
when "delegated" then :registered
|
35
|
-
when "not registered" then :available
|
36
|
-
else
|
37
|
-
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
38
|
-
end
|
39
|
-
else
|
40
|
-
Whois.bug!(ParserError, "Unable to parse status.")
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
property_supported :available? do
|
45
|
-
status == :available
|
46
|
-
end
|
47
|
-
|
48
|
-
property_supported :registered? do
|
49
|
-
!available?
|
50
|
-
end
|
51
|
-
|
52
|
-
|
53
|
-
property_supported :created_on do
|
54
|
-
if content_for_scanner =~ /Created:\s+(.+?)\n/
|
55
|
-
Time.parse($1)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
property_supported :updated_on do
|
60
|
-
if content_for_scanner =~ /Modified:\s+(.+?)\n/
|
61
|
-
Time.parse($1)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
property_supported :expires_on do
|
66
|
-
if content_for_scanner =~ /Expires:\s+(.+?)\n/
|
67
|
-
Time.parse($1)
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
|
72
|
-
property_supported :nameservers do
|
73
|
-
if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
74
|
-
$1.split("\n").map do |name|
|
75
|
-
Record::Nameserver.new(name.strip)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
18
|
+
class WhoisNicGl < BaseCocca
|
80
19
|
end
|
81
20
|
|
82
21
|
end
|