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
@@ -82,7 +82,7 @@ module Whois
|
|
82
82
|
|
83
83
|
address, city, zip, country_code = decompose_address(node("address"))
|
84
84
|
|
85
|
-
|
85
|
+
Record::Contact.new(
|
86
86
|
:type => Whois::Record::Contact::TYPE_REGISTRANT,
|
87
87
|
:name => node("name"),
|
88
88
|
:organization => node("org"),
|
@@ -106,7 +106,7 @@ module Whois
|
|
106
106
|
|
107
107
|
property_supported :nameservers do
|
108
108
|
Array.wrap(node("nameserver")).map do |name|
|
109
|
-
Record::Nameserver.new(name)
|
109
|
+
Record::Nameserver.new(:name => name)
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
@@ -140,7 +140,7 @@ module Whois
|
|
140
140
|
|
141
141
|
def build_contact(element, type)
|
142
142
|
node(node(element)) do |raw|
|
143
|
-
|
143
|
+
Record::Contact.new do |c|
|
144
144
|
c.type = type
|
145
145
|
raw.each { |k,v| c[k.to_sym] = v }
|
146
146
|
end
|
@@ -96,9 +96,9 @@ module Whois
|
|
96
96
|
property_supported :registrar do
|
97
97
|
node("Registrar") do |str|
|
98
98
|
Record::Registrar.new(
|
99
|
-
|
100
|
-
|
101
|
-
|
99
|
+
:id => str["Name"],
|
100
|
+
:name => str["Name"],
|
101
|
+
:organization => str["Organization"]
|
102
102
|
)
|
103
103
|
end
|
104
104
|
end
|
@@ -118,7 +118,7 @@ module Whois
|
|
118
118
|
|
119
119
|
property_supported :nameservers do
|
120
120
|
Array.wrap(node("Nameservers")).map do |name|
|
121
|
-
Record::Nameserver.new(name)
|
121
|
+
Record::Nameserver.new(:name => name)
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -66,7 +66,7 @@ module Whois
|
|
66
66
|
property_supported :nameservers do
|
67
67
|
if content_for_scanner =~ /Domain servers in listed order:\n((.+\n)+)\n/
|
68
68
|
$1.split("\n").map do |name|
|
69
|
-
Record::Nameserver.new(name.strip)
|
69
|
+
Record::Nameserver.new(:name => name.strip)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -75,10 +75,9 @@ module Whois
|
|
75
75
|
|
76
76
|
property_supported :registrant_contacts do
|
77
77
|
if content_for_scanner =~ /Registrant:\s+(.+?)\n/
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
$1
|
78
|
+
Record::Contact.new(
|
79
|
+
:type => Whois::Record::Contact::TYPE_REGISTRANT,
|
80
|
+
:name => $1
|
82
81
|
)
|
83
82
|
end
|
84
83
|
end
|
@@ -90,7 +89,8 @@ module Whois
|
|
90
89
|
|
91
90
|
property_supported :nameservers do
|
92
91
|
content_for_scanner.scan(/Name server:\s(.+?)\n/).flatten.map do |line|
|
93
|
-
|
92
|
+
name, ipv4 = line.split(/\s+/)
|
93
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
@@ -69,7 +69,7 @@ module Whois
|
|
69
69
|
if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
70
70
|
$1.scan(/DNS:\s+(.+)\n/).flatten.map do |line|
|
71
71
|
name, ipv4 = line.strip.split(/\s+/)
|
72
|
-
Record::Nameserver.new(name, ipv4)
|
72
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
@@ -84,7 +84,7 @@ module Whois
|
|
84
84
|
property_supported :nameservers do
|
85
85
|
if content_for_scanner =~ /Domain servers in listed order:(.*)Owner and Administrative Contact information for domains/m
|
86
86
|
$1.split.map do |name|
|
87
|
-
Record::Nameserver.new(name)
|
87
|
+
Record::Nameserver.new(:name => name)
|
88
88
|
end
|
89
89
|
end
|
90
90
|
end
|
@@ -66,7 +66,7 @@ module Whois
|
|
66
66
|
property_supported :nameservers do
|
67
67
|
if content_for_scanner =~ /Servidor\(es\) de Nombres de Dominio:\n\n((.+\n)+)\n/
|
68
68
|
$1.scan(/-\s(.*?)\n/).flatten.map do |name|
|
69
|
-
Record::Nameserver.new(name)
|
69
|
+
Record::Nameserver.new(:name => name)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -69,7 +69,10 @@ module Whois
|
|
69
69
|
|
70
70
|
property_supported :registrar do
|
71
71
|
if content_for_scanner =~ /Registrar:\s+(.+)\n/
|
72
|
-
Whois::Record::Registrar.new(
|
72
|
+
Whois::Record::Registrar.new(
|
73
|
+
:id => $1,
|
74
|
+
:name => $1
|
75
|
+
)
|
73
76
|
end
|
74
77
|
end
|
75
78
|
|
@@ -95,7 +98,7 @@ module Whois
|
|
95
98
|
|
96
99
|
property_supported :nameservers do
|
97
100
|
content_for_scanner.scan(/Nameserver:\s+(.+)\n/).flatten.map do |name|
|
98
|
-
Record::Nameserver.new(name)
|
101
|
+
Record::Nameserver.new(:name => name)
|
99
102
|
end
|
100
103
|
end
|
101
104
|
|
@@ -103,7 +106,7 @@ module Whois
|
|
103
106
|
private
|
104
107
|
|
105
108
|
def build_contact(string, type)
|
106
|
-
|
109
|
+
Record::Contact.new(
|
107
110
|
:type => type,
|
108
111
|
:id => string,
|
109
112
|
:name => string
|
@@ -64,7 +64,8 @@ module Whois
|
|
64
64
|
property_supported :nameservers do
|
65
65
|
if content_for_scanner =~ /Domain Servers:\n((.+\n)+)\n/
|
66
66
|
$1.split("\n").map do |line|
|
67
|
-
|
67
|
+
name, ipv4 = line.split(/\s+/)
|
68
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4)
|
68
69
|
end
|
69
70
|
end
|
70
71
|
end
|
@@ -37,8 +37,6 @@ module Whois
|
|
37
37
|
property_supported :status do
|
38
38
|
if content_for_scanner =~ /\s+Registration status:\s+(.+?)\n/
|
39
39
|
case $1.downcase
|
40
|
-
when "registered until renewal date."
|
41
|
-
:registered
|
42
40
|
when "registered until expiry date."
|
43
41
|
:registered
|
44
42
|
when "registration request being processed."
|
@@ -82,7 +80,7 @@ module Whois
|
|
82
80
|
end
|
83
81
|
|
84
82
|
property_supported :expires_on do
|
85
|
-
if content_for_scanner =~ /\s+
|
83
|
+
if content_for_scanner =~ /\s+Expiry date:\s+(.+)\n/
|
86
84
|
Time.parse($1)
|
87
85
|
end
|
88
86
|
end
|
@@ -136,12 +134,21 @@ module Whois
|
|
136
134
|
property_supported :nameservers do
|
137
135
|
if content_for_scanner =~ /Name servers:\n((.+\n)+)\n/
|
138
136
|
$1.split("\n").reject { |value| value =~ /No name servers listed/ }.map do |line|
|
139
|
-
|
137
|
+
name, ipv4, ipv6 = line.strip.split(/\s+/)
|
138
|
+
Record::Nameserver.new(:name => name, :ipv4 => ipv4, :ipv6 => ipv6)
|
140
139
|
end
|
141
140
|
end
|
142
141
|
end
|
143
142
|
|
144
143
|
|
144
|
+
# Checks whether the response has been throttled.
|
145
|
+
#
|
146
|
+
# @return [Boolean]
|
147
|
+
#
|
148
|
+
# @example
|
149
|
+
# The WHOIS query quota for 127.0.0.1 has been exceeded
|
150
|
+
# and will be replenished in 50 seconds.
|
151
|
+
#
|
145
152
|
def response_throttled?
|
146
153
|
!!(content_for_scanner =~ /The WHOIS query quota for .+ has been exceeded/)
|
147
154
|
end
|
@@ -30,8 +30,10 @@ module Whois
|
|
30
30
|
property_supported :status do
|
31
31
|
if content_for_scanner =~ /Estatus del dominio: (.+?)\n/
|
32
32
|
case $1.downcase
|
33
|
-
when "activo"
|
34
|
-
|
33
|
+
when "activo"
|
34
|
+
:registered
|
35
|
+
when "suspendido"
|
36
|
+
:inactive
|
35
37
|
else
|
36
38
|
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
37
39
|
end
|
@@ -70,7 +72,7 @@ module Whois
|
|
70
72
|
property_supported :nameservers do
|
71
73
|
if content_for_scanner =~ /Servidor\(es\) de Nombres de Dominio:\n\n((.+\n)+)\n/
|
72
74
|
$1.scan(/-\s(.*?)\n/).flatten.map do |name|
|
73
|
-
Record::Nameserver.new(name)
|
75
|
+
Record::Nameserver.new(:name => name)
|
74
76
|
end
|
75
77
|
end
|
76
78
|
end
|
@@ -30,9 +30,10 @@ module Whois
|
|
30
30
|
property_supported :status do
|
31
31
|
if content_for_scanner =~ /domain-status:\s+(.+)\n/
|
32
32
|
case $1.downcase
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
when "object is active"
|
34
|
+
:registered
|
35
|
+
else
|
36
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
36
37
|
end
|
37
38
|
else
|
38
39
|
:available
|
@@ -69,7 +70,7 @@ module Whois
|
|
69
70
|
|
70
71
|
property_supported :nameservers do
|
71
72
|
content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |name|
|
72
|
-
Record::Nameserver.new(name)
|
73
|
+
Record::Nameserver.new(:name => name)
|
73
74
|
end
|
74
75
|
end
|
75
76
|
|
@@ -29,13 +29,13 @@ module Whois
|
|
29
29
|
|
30
30
|
property_supported :status do
|
31
31
|
if content_for_scanner =~ /Status:\s+(.+?)\n/
|
32
|
-
case $1.downcase
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
32
|
+
case (s = $1.downcase)
|
33
|
+
when /^active/
|
34
|
+
:registered
|
35
|
+
when "not registered"
|
36
|
+
:available
|
37
|
+
else
|
38
|
+
Whois.bug!(ParserError, "Unknown status `#{s}'.")
|
39
39
|
end
|
40
40
|
else
|
41
41
|
Whois.bug!(ParserError, "Unable to parse status.")
|
@@ -69,7 +69,7 @@ module Whois
|
|
69
69
|
property_supported :nameservers do
|
70
70
|
if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
|
71
71
|
$1.split("\n").delete_if { |value| value =~ /nodns\.ns$/i }.map do |name|
|
72
|
-
Record::Nameserver.new(name.strip)
|
72
|
+
Record::Nameserver.new(:name => name.strip)
|
73
73
|
end
|
74
74
|
end
|
75
75
|
end
|
@@ -30,9 +30,10 @@ module Whois
|
|
30
30
|
property_supported :status do
|
31
31
|
if content_for_scanner =~ /registration status:\s+(.+?)\n/
|
32
32
|
case $1.downcase
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
when "registered"
|
34
|
+
:registered
|
35
|
+
else
|
36
|
+
Whois.bug!(ParserError, "Unknown status `#{$1}'.")
|
36
37
|
end
|
37
38
|
else
|
38
39
|
:available
|
@@ -71,9 +72,9 @@ module Whois
|
|
71
72
|
if content_for_scanner =~ /NAME SERVER INFORMATION:\n((.+\n)+)\s+\n/
|
72
73
|
$1.split("\n").map do |line|
|
73
74
|
if line =~ /(.+) \((.+)\)/
|
74
|
-
Record::Nameserver.new($1, $2)
|
75
|
+
Record::Nameserver.new(:name => $1, :ipv4 => $2)
|
75
76
|
else
|
76
|
-
Record::Nameserver.new(line.strip)
|
77
|
+
Record::Nameserver.new(:name => line.strip)
|
77
78
|
end
|
78
79
|
end
|
79
80
|
end
|