whois 2.5.1 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (308) hide show
  1. data/CHANGELOG.md +1537 -0
  2. data/README.md +212 -0
  3. data/Rakefile +3 -3
  4. data/lib/whois.rb +26 -1
  5. data/lib/whois/definitions/tlds.rb +3 -2
  6. data/lib/whois/record.rb +2 -2
  7. data/lib/whois/record/parser/base_afilias.rb +2 -2
  8. data/lib/whois/record/parser/base_cocca.rb +9 -1
  9. data/lib/whois/record/parser/jobswhois.verisign-grs.com.rb +6 -2
  10. data/lib/whois/record/parser/kero.yachay.pe.rb +1 -1
  11. data/lib/whois/record/parser/whois.adamsnames.tc.rb +1 -1
  12. data/lib/whois/record/parser/whois.aeda.net.ae.rb +1 -1
  13. data/lib/whois/record/parser/whois.ai.rb +1 -1
  14. data/lib/whois/record/parser/whois.arnes.si.rb +1 -1
  15. data/lib/whois/record/parser/whois.ati.tn.rb +133 -0
  16. data/lib/whois/record/parser/whois.biz.rb +1 -1
  17. data/lib/whois/record/parser/whois.cat.rb +1 -1
  18. data/lib/whois/record/parser/whois.cctld.uz.rb +4 -3
  19. data/lib/whois/record/parser/whois.centralnic.com.rb +1 -3
  20. data/lib/whois/record/parser/whois.cnnic.cn.rb +1 -1
  21. data/lib/whois/record/parser/whois.co.ca.rb +1 -1
  22. data/lib/whois/record/parser/whois.co.pl.rb +1 -1
  23. data/lib/whois/record/parser/whois.co.ug.rb +13 -12
  24. data/lib/whois/record/parser/whois.crsnic.net.rb +6 -2
  25. data/lib/whois/record/parser/whois.denic.de.rb +1 -1
  26. data/lib/whois/record/parser/whois.dk-hostmaster.dk.rb +1 -1
  27. data/lib/whois/record/parser/whois.dns.be.rb +2 -2
  28. data/lib/whois/record/parser/whois.dns.lu.rb +2 -2
  29. data/lib/whois/record/parser/whois.dns.pl.rb +2 -2
  30. data/lib/whois/record/parser/whois.dns.pt.rb +1 -1
  31. data/lib/whois/record/parser/whois.domain-registry.nl.rb +1 -1
  32. data/lib/whois/record/parser/whois.domain.kg.rb +1 -1
  33. data/lib/whois/record/parser/whois.domainregistry.my.rb +1 -1
  34. data/lib/whois/record/parser/whois.domreg.lt.rb +2 -2
  35. data/lib/whois/record/parser/whois.dot.tk.rb +1 -1
  36. data/lib/whois/record/parser/whois.dreamhost.com.rb +1 -1
  37. data/lib/whois/record/parser/whois.educause.edu.rb +128 -20
  38. data/lib/whois/record/parser/whois.eenet.ee.rb +1 -1
  39. data/lib/whois/record/parser/whois.eu.rb +2 -2
  40. data/lib/whois/record/parser/whois.fi.rb +1 -1
  41. data/lib/whois/record/parser/whois.gg.rb +1 -1
  42. data/lib/whois/record/parser/whois.godaddy.com.rb +1 -1
  43. data/lib/whois/record/parser/whois.hkirc.hk.rb +12 -13
  44. data/lib/whois/record/parser/whois.iana.org.rb +2 -1
  45. data/lib/whois/record/parser/whois.in.ua.rb +1 -1
  46. data/lib/whois/record/parser/whois.isnic.is.rb +1 -1
  47. data/lib/whois/record/parser/whois.isoc.org.il.rb +1 -1
  48. data/lib/whois/record/parser/whois.ja.net.rb +2 -1
  49. data/lib/whois/record/parser/whois.je.rb +1 -1
  50. data/lib/whois/record/parser/whois.jprs.jp.rb +1 -1
  51. data/lib/whois/record/parser/whois.kenic.or.ke.rb +1 -1
  52. data/lib/whois/record/parser/whois.markmonitor.com.rb +1 -1
  53. data/lib/whois/record/parser/whois.meregistry.net.rb +1 -1
  54. data/lib/whois/record/parser/whois.museum.rb +1 -1
  55. data/lib/whois/record/parser/whois.na-nic.com.na.rb +1 -0
  56. data/lib/whois/record/parser/whois.netcom.cm.rb +1 -1
  57. data/lib/whois/record/parser/whois.nic-se.se.rb +1 -1
  58. data/lib/whois/record/parser/whois.nic.am.rb +1 -1
  59. data/lib/whois/record/parser/whois.nic.as.rb +1 -1
  60. data/lib/whois/record/parser/whois.nic.asia.rb +1 -1
  61. data/lib/whois/record/parser/whois.nic.at.rb +1 -1
  62. data/lib/whois/record/parser/whois.nic.cc.rb +1 -1
  63. data/lib/whois/record/parser/whois.nic.cd.rb +1 -1
  64. data/lib/whois/record/parser/whois.nic.ch.rb +2 -2
  65. data/lib/whois/record/parser/whois.nic.ci.rb +1 -1
  66. data/lib/whois/record/parser/whois.nic.ck.rb +1 -1
  67. data/lib/whois/record/parser/whois.nic.cl.rb +1 -1
  68. data/lib/whois/record/parser/whois.nic.co.rb +1 -1
  69. data/lib/whois/record/parser/whois.nic.coop.rb +1 -1
  70. data/lib/whois/record/parser/whois.nic.cz.rb +11 -9
  71. data/lib/whois/record/parser/whois.nic.ec.rb +1 -1
  72. data/lib/whois/record/parser/whois.nic.gl.rb +2 -63
  73. data/lib/whois/record/parser/whois.nic.hu.rb +3 -3
  74. data/lib/whois/record/parser/whois.nic.im.rb +1 -1
  75. data/lib/whois/record/parser/whois.nic.ir.rb +1 -1
  76. data/lib/whois/record/parser/whois.nic.it.rb +4 -4
  77. data/lib/whois/record/parser/whois.nic.kz.rb +1 -1
  78. data/lib/whois/record/parser/whois.nic.li.rb +1 -1
  79. data/lib/whois/record/parser/whois.nic.lv.rb +1 -1
  80. data/lib/whois/record/parser/whois.nic.ly.rb +1 -1
  81. data/lib/whois/record/parser/whois.nic.md.rb +5 -5
  82. data/lib/whois/record/parser/whois.nic.mg.rb +1 -1
  83. data/lib/whois/record/parser/whois.nic.mx.rb +1 -1
  84. data/lib/whois/record/parser/whois.nic.net.sa.rb +1 -1
  85. data/lib/whois/record/parser/whois.nic.nu.rb +1 -1
  86. data/lib/whois/record/parser/whois.nic.org.uy.rb +1 -1
  87. data/lib/whois/record/parser/whois.nic.sl.rb +1 -1
  88. data/lib/whois/record/parser/whois.nic.sm.rb +1 -1
  89. data/lib/whois/record/parser/whois.nic.sn.rb +6 -3
  90. data/lib/whois/record/parser/whois.nic.so.rb +1 -1
  91. data/lib/whois/record/parser/whois.nic.st.rb +1 -1
  92. data/lib/whois/record/parser/whois.nic.tel.rb +1 -1
  93. data/lib/whois/record/parser/whois.nic.tr.rb +2 -1
  94. data/lib/whois/record/parser/whois.nic.travel.rb +1 -1
  95. data/lib/whois/record/parser/whois.nic.tv.rb +1 -1
  96. data/lib/whois/record/parser/whois.nic.uk.rb +11 -4
  97. data/lib/whois/record/parser/whois.nic.us.rb +1 -1
  98. data/lib/whois/record/parser/whois.nic.ve.rb +5 -3
  99. data/lib/whois/record/parser/whois.pandi.or.id.rb +5 -4
  100. data/lib/whois/record/parser/whois.pnina.ps.rb +8 -8
  101. data/lib/whois/record/parser/whois.register.bg.rb +6 -5
  102. data/lib/whois/record/parser/whois.registry.hm.rb +1 -1
  103. data/lib/whois/record/parser/whois.registry.om.rb +125 -0
  104. data/lib/whois/record/parser/whois.registrypro.pro.rb +1 -1
  105. data/lib/whois/record/parser/whois.ripe.net.rb +1 -1
  106. data/lib/whois/record/parser/whois.rnids.rs.rb +1 -1
  107. data/lib/whois/record/parser/whois.rotld.ro.rb +5 -4
  108. data/lib/whois/record/parser/whois.samoanic.ws.rb +1 -1
  109. data/lib/whois/record/parser/whois.sgnic.sg.rb +16 -16
  110. data/lib/whois/record/parser/whois.sk-nic.sk.rb +15 -8
  111. data/lib/whois/record/parser/whois.smallregistry.net.rb +10 -2
  112. data/lib/whois/record/parser/whois.srs.net.nz.rb +38 -20
  113. data/lib/whois/record/parser/whois.tcinet.ru.rb +4 -2
  114. data/lib/whois/record/parser/whois.thnic.co.th.rb +5 -4
  115. data/lib/whois/record/parser/whois.tld.ee.rb +7 -7
  116. data/lib/whois/record/parser/whois.tonic.to.rb +2 -3
  117. data/lib/whois/record/parser/whois.twnic.net.tw.rb +1 -1
  118. data/lib/whois/record/parser/whois.tznic.or.tz.rb +8 -4
  119. data/lib/whois/record/parser/whois.usp.ac.fj.rb +5 -4
  120. data/lib/whois/record/parser/whois.za.net.rb +1 -1
  121. data/lib/whois/record/parser/whois.za.org.rb +1 -1
  122. data/lib/whois/record/scanners/whois.ati.tn.rb +46 -0
  123. data/lib/whois/record/scanners/whois.cira.ca.rb +0 -1
  124. data/lib/whois/record/scanners/whois.registry.om.rb +39 -0
  125. data/lib/whois/record/scanners/whois.rnids.rs.rb +5 -0
  126. data/lib/whois/record/super_struct.rb +8 -5
  127. data/lib/whois/server/adapters/base.rb +53 -53
  128. data/lib/whois/version.rb +2 -2
  129. data/spec/fixtures/responses/whois.ati.tn/status_available.expected +57 -0
  130. data/spec/fixtures/responses/whois.ati.tn/status_available.txt +4 -0
  131. data/spec/fixtures/responses/whois.ati.tn/status_registered.expected +122 -0
  132. data/spec/fixtures/responses/whois.ati.tn/status_registered.txt +36 -0
  133. data/spec/fixtures/responses/whois.cctld.uz/property_expires_on_dash.expected +2 -0
  134. data/spec/fixtures/responses/whois.cctld.uz/property_expires_on_dash.txt +123 -0
  135. data/spec/fixtures/responses/whois.cctld.uz/property_status_reserved.expected +8 -0
  136. data/spec/fixtures/responses/whois.cctld.uz/property_status_reserved.txt +123 -0
  137. data/spec/fixtures/responses/{whois.nic.uk/property_status_registered.expected → whois.co.ug/property_status_active.expected} +0 -0
  138. data/spec/fixtures/responses/whois.co.ug/property_status_active.txt +35 -0
  139. data/spec/fixtures/responses/whois.co.ug/property_status_unconfirmed.expected +8 -0
  140. data/spec/fixtures/responses/whois.co.ug/property_status_unconfirmed.txt +30 -0
  141. data/spec/fixtures/responses/whois.dns.be/{response_throttled.expected → response_throttled_hourly.expected} +0 -0
  142. data/spec/fixtures/responses/whois.dns.be/{response_throttled_max.txt → response_throttled_hourly.txt} +0 -0
  143. data/spec/fixtures/responses/whois.dns.be/{response_throttled_max.expected → response_throttled_limit.expected} +0 -0
  144. data/spec/fixtures/responses/whois.dns.be/{response_throttled.txt → response_throttled_limit.txt} +0 -0
  145. data/spec/fixtures/responses/whois.dns.hr/status_registered.expected +13 -11
  146. data/spec/fixtures/responses/whois.domain-registry.nl/status_available.expected +4 -0
  147. data/spec/fixtures/responses/whois.domain-registry.nl/status_redemption.expected +4 -0
  148. data/spec/fixtures/responses/whois.educause.edu/fixture1.txt +63 -0
  149. data/spec/fixtures/responses/whois.educause.edu/fixture2.txt +66 -0
  150. data/spec/fixtures/responses/whois.educause.edu/fixture3.txt +67 -0
  151. data/spec/fixtures/responses/whois.educause.edu/fixture4.txt +68 -0
  152. data/spec/fixtures/responses/whois.educause.edu/fixture5.txt +66 -0
  153. data/spec/fixtures/responses/whois.educause.edu/fixture6.txt +66 -0
  154. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant.expected +27 -0
  155. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant.txt +63 -0
  156. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_with_additional_organization.expected +28 -0
  157. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_with_additional_organization.txt +66 -0
  158. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_without_address.expected +26 -0
  159. data/spec/fixtures/responses/whois.educause.edu/{property_registrant_without_address.txt → property_contact_registrant_without_address.txt} +0 -0
  160. data/spec/fixtures/responses/whois.educause.edu/property_contact_registrant_without_zip.expected +27 -0
  161. data/spec/fixtures/responses/whois.educause.edu/{property_registrant_without_zip.txt → property_contact_registrant_without_zip.txt} +0 -0
  162. data/spec/fixtures/responses/whois.educause.edu/property_contacts.expected +31 -0
  163. data/spec/fixtures/responses/whois.educause.edu/property_contacts.txt +63 -0
  164. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case1.expected +31 -0
  165. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case1.txt +66 -0
  166. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case2.expected +32 -0
  167. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case2.txt +67 -0
  168. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case3.expected +32 -0
  169. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case3.txt +66 -0
  170. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case4.expected +32 -0
  171. data/spec/fixtures/responses/whois.educause.edu/property_contacts_case4.txt +68 -0
  172. data/spec/fixtures/responses/whois.educause.edu/status_available.expected +34 -0
  173. data/spec/fixtures/responses/whois.educause.edu/status_registered.expected +70 -8
  174. data/spec/fixtures/responses/whois.hkirc.hk/property_expires_on_null.expected +2 -0
  175. data/spec/fixtures/responses/whois.hkirc.hk/property_expires_on_null.txt +104 -0
  176. data/spec/fixtures/responses/whois.na-nic.com.na/property_status_active.expected +8 -0
  177. data/spec/fixtures/responses/whois.na-nic.com.na/property_status_active.txt +54 -0
  178. data/spec/fixtures/responses/whois.na-nic.com.na/property_status_delegated.expected +8 -0
  179. data/spec/fixtures/responses/whois.na-nic.com.na/property_status_delegated.txt +86 -0
  180. data/spec/fixtures/responses/whois.na-nic.com.na/status_registered.expected +9 -2
  181. data/spec/fixtures/responses/whois.na-nic.com.na/status_registered.txt +17 -7
  182. data/spec/fixtures/responses/whois.nc/property_contact_without_state.txt +21 -0
  183. data/spec/fixtures/responses/whois.nic.af/status_registered.expected +14 -3
  184. data/spec/fixtures/responses/whois.nic.af/status_registered.txt +59 -40
  185. data/spec/fixtures/responses/whois.nic.cx/status_registered.expected +7 -0
  186. data/spec/fixtures/responses/whois.nic.gl/status_available.expected +7 -0
  187. data/spec/fixtures/responses/whois.nic.gl/status_registered.expected +14 -0
  188. data/spec/fixtures/responses/whois.nic.gs/status_registered.expected +7 -0
  189. data/spec/fixtures/responses/whois.nic.ht/status_registered.expected +9 -2
  190. data/spec/fixtures/responses/whois.nic.ht/status_registered.txt +58 -44
  191. data/spec/fixtures/responses/whois.nic.ki/status_registered.expected +7 -0
  192. data/spec/fixtures/responses/whois.nic.ms/status_registered.expected +7 -0
  193. data/spec/fixtures/responses/whois.nic.mu/status_registered.expected +9 -2
  194. data/spec/fixtures/responses/whois.nic.mu/status_registered.txt +52 -8
  195. data/spec/fixtures/responses/whois.nic.net.nf/status_registered.expected +7 -0
  196. data/spec/fixtures/responses/whois.nic.net.ng/status_registered.expected +7 -0
  197. data/spec/fixtures/responses/whois.nic.net.sb/status_registered.expected +7 -0
  198. data/spec/fixtures/responses/whois.nic.tl/status_registered.expected +9 -2
  199. data/spec/fixtures/responses/whois.nic.tl/status_registered.txt +42 -5
  200. data/spec/fixtures/responses/whois.nic.uk/property_nameservers_with_ip.txt +11 -7
  201. data/spec/fixtures/responses/whois.nic.uk/property_registrant_type_individual.txt +45 -0
  202. data/spec/fixtures/responses/whois.nic.uk/{property_status_registered.txt → property_registrant_type_unknown.txt} +5 -5
  203. data/spec/fixtures/responses/whois.nic.uk/property_status_missing.txt +2 -2
  204. data/spec/fixtures/responses/whois.nic.uk/property_status_no_status_listed.txt +2 -2
  205. data/spec/fixtures/responses/whois.nic.uk/property_status_registered_until_expiry_date.txt +18 -13
  206. data/spec/fixtures/responses/whois.nic.uk/property_status_suspended.txt +51 -51
  207. data/spec/fixtures/responses/whois.nic.uk/status_available.txt +2 -2
  208. data/spec/fixtures/responses/whois.nic.uk/status_invalid.txt +2 -2
  209. data/spec/fixtures/responses/whois.nic.uk/status_registered.expected +2 -2
  210. data/spec/fixtures/responses/whois.nic.uk/status_registered.txt +5 -5
  211. data/spec/fixtures/responses/whois.nic.uk/status_reserved.expected +1 -1
  212. data/spec/fixtures/responses/whois.nic.uk/status_reserved.txt +2 -2
  213. data/spec/fixtures/responses/whois.nic.uk/status_suspended.expected +1 -1
  214. data/spec/fixtures/responses/whois.nic.uk/status_suspended.txt +51 -51
  215. data/spec/fixtures/responses/whois.registry.gy/status_registered.expected +7 -0
  216. data/spec/fixtures/responses/whois.registry.om/status_available.expected +56 -0
  217. data/spec/fixtures/responses/whois.registry.om/status_available.txt +1 -0
  218. data/spec/fixtures/responses/whois.registry.om/status_registered.expected +100 -0
  219. data/spec/fixtures/responses/whois.registry.om/status_registered.txt +18 -0
  220. data/spec/fixtures/responses/whois.rnids.rs/property_nameservers_hyphenated.expected +9 -0
  221. data/spec/fixtures/responses/whois.rnids.rs/property_nameservers_hyphenated.txt +36 -0
  222. data/spec/fixtures/responses/whois.rnids.rs/token_whois_privacy.expected +11 -0
  223. data/spec/fixtures/responses/whois.rnids.rs/token_whois_privacy.txt +36 -0
  224. data/spec/fixtures/responses/whois.srs.net.nz/response_throttled.expected +2 -0
  225. data/spec/fixtures/responses/whois.srs.net.nz/response_throttled.txt +27 -0
  226. data/spec/fixtures/responses/whois.srs.net.nz/status_available.expected +4 -0
  227. data/spec/fixtures/responses/whois.srs.net.nz/status_available.txt +2 -3
  228. data/spec/fixtures/responses/whois.srs.net.nz/status_invalid.expected +4 -0
  229. data/spec/fixtures/responses/whois.srs.net.nz/status_invalid.txt +2 -3
  230. data/spec/fixtures/responses/whois.srs.net.nz/status_registered.expected +6 -2
  231. data/spec/fixtures/responses/whois.srs.net.nz/status_registered.txt +5 -4
  232. data/spec/fixtures/responses/whois.tznic.or.tz/property_status_expired.expected +8 -0
  233. data/spec/fixtures/responses/whois.tznic.or.tz/property_status_expired.txt +56 -0
  234. data/spec/support/helpers/spec_helper.rb +0 -5
  235. data/spec/tlds +4 -2
  236. data/spec/whois/record/contact_spec.rb +8 -8
  237. data/spec/whois/record/nameserver_spec.rb +6 -6
  238. data/spec/whois/record/parser/base_spec.rb +11 -11
  239. data/spec/whois/record/parser/blank_spec.rb +1 -1
  240. data/spec/whois/record/parser/responses/whois.ati.tn/status_available_spec.rb +108 -0
  241. data/spec/whois/record/parser/responses/whois.ati.tn/status_registered_spec.rb +173 -0
  242. data/spec/whois/record/parser/responses/whois.cctld.uz/property_expires_on_dash_spec.rb +29 -0
  243. data/spec/whois/record/parser/responses/whois.cctld.uz/property_status_reserved_spec.rb +39 -0
  244. data/spec/whois/record/parser/responses/{whois.nic.uk/property_status_registered_spec.rb → whois.co.ug/property_status_active_spec.rb} +4 -4
  245. data/spec/whois/record/parser/responses/whois.co.ug/property_status_unconfirmed_spec.rb +39 -0
  246. data/spec/whois/record/parser/responses/whois.dns.be/{response_throttled_spec.rb → response_throttled_hourly_spec.rb} +3 -3
  247. data/spec/whois/record/parser/responses/whois.dns.be/{response_throttled_max_spec.rb → response_throttled_limit_spec.rb} +3 -3
  248. data/spec/whois/record/parser/responses/whois.dns.hr/status_registered_spec.rb +13 -11
  249. data/spec/whois/record/parser/responses/whois.domain-registry.nl/status_available_spec.rb +5 -0
  250. data/spec/whois/record/parser/responses/whois.domain-registry.nl/status_redemption_spec.rb +5 -0
  251. data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_spec.rb +44 -0
  252. data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_with_additional_organization_spec.rb +44 -0
  253. data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_without_address_spec.rb +44 -0
  254. data/spec/whois/record/parser/responses/whois.educause.edu/property_contact_registrant_without_zip_spec.rb +44 -0
  255. data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case1_spec.rb +43 -0
  256. data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case2_spec.rb +43 -0
  257. data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case3_spec.rb +43 -0
  258. data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_case4_spec.rb +43 -0
  259. data/spec/whois/record/parser/responses/whois.educause.edu/property_contacts_spec.rb +43 -0
  260. data/spec/whois/record/parser/responses/whois.educause.edu/status_available_spec.rb +48 -0
  261. data/spec/whois/record/parser/responses/whois.educause.edu/status_registered_spec.rb +83 -8
  262. data/spec/whois/record/parser/responses/whois.hkirc.hk/property_expires_on_null_spec.rb +29 -0
  263. data/spec/whois/record/parser/responses/whois.na-nic.com.na/property_status_active_spec.rb +39 -0
  264. data/spec/whois/record/parser/responses/whois.na-nic.com.na/property_status_delegated_spec.rb +39 -0
  265. data/spec/whois/record/parser/responses/whois.na-nic.com.na/status_registered_spec.rb +10 -2
  266. data/spec/whois/record/parser/responses/whois.nic.af/status_registered_spec.rb +15 -3
  267. data/spec/whois/record/parser/responses/whois.nic.cx/status_registered_spec.rb +8 -0
  268. data/spec/whois/record/parser/responses/whois.nic.gl/status_available_spec.rb +10 -0
  269. data/spec/whois/record/parser/responses/whois.nic.gl/status_registered_spec.rb +18 -0
  270. data/spec/whois/record/parser/responses/whois.nic.gs/status_registered_spec.rb +8 -0
  271. data/spec/whois/record/parser/responses/whois.nic.ht/status_registered_spec.rb +10 -2
  272. data/spec/whois/record/parser/responses/whois.nic.ki/status_registered_spec.rb +8 -0
  273. data/spec/whois/record/parser/responses/whois.nic.ms/status_registered_spec.rb +8 -0
  274. data/spec/whois/record/parser/responses/whois.nic.mu/status_registered_spec.rb +10 -2
  275. data/spec/whois/record/parser/responses/whois.nic.net.nf/status_registered_spec.rb +8 -0
  276. data/spec/whois/record/parser/responses/whois.nic.net.ng/status_registered_spec.rb +8 -0
  277. data/spec/whois/record/parser/responses/whois.nic.net.sb/status_registered_spec.rb +8 -0
  278. data/spec/whois/record/parser/responses/whois.nic.tl/status_registered_spec.rb +10 -2
  279. data/spec/whois/record/parser/responses/whois.nic.uk/status_registered_spec.rb +2 -2
  280. data/spec/whois/record/parser/responses/whois.nic.uk/status_reserved_spec.rb +1 -1
  281. data/spec/whois/record/parser/responses/whois.nic.uk/status_suspended_spec.rb +1 -1
  282. data/spec/whois/record/parser/responses/whois.registry.gy/status_registered_spec.rb +8 -0
  283. data/spec/whois/record/parser/responses/whois.registry.om/status_available_spec.rb +107 -0
  284. data/spec/whois/record/parser/responses/whois.registry.om/status_registered_spec.rb +151 -0
  285. data/spec/whois/record/parser/responses/whois.rnids.rs/property_nameservers_hyphenated_spec.rb +36 -0
  286. data/spec/whois/record/parser/responses/whois.rnids.rs/token_whois_privacy_spec.rb +42 -0
  287. data/spec/whois/record/parser/responses/whois.srs.net.nz/response_throttled_spec.rb +29 -0
  288. data/spec/whois/record/parser/responses/whois.srs.net.nz/status_available_spec.rb +5 -0
  289. data/spec/whois/record/parser/responses/whois.srs.net.nz/status_invalid_spec.rb +5 -0
  290. data/spec/whois/record/parser/responses/whois.srs.net.nz/status_registered_spec.rb +7 -2
  291. data/spec/whois/record/parser/responses/whois.tznic.or.tz/property_status_expired_spec.rb +39 -0
  292. data/spec/whois/record/parser_spec.rb +25 -25
  293. data/spec/whois/record/part_spec.rb +5 -5
  294. data/spec/whois/record/registrar_spec.rb +8 -8
  295. data/spec/whois/record/super_struct_spec.rb +0 -1
  296. data/spec/whois/record_spec.rb +12 -12
  297. data/spec/whois/server/adapters/afilias_spec.rb +2 -2
  298. data/spec/whois/server/adapters/formatted_spec.rb +1 -1
  299. data/spec/whois/server/adapters/pir_spec.rb +2 -2
  300. data/spec/whois/server/adapters/standard_spec.rb +1 -1
  301. data/spec/whois/server/adapters/verisign_spec.rb +2 -2
  302. data/whois.gemspec +6 -6
  303. metadata +97 -20
  304. data/.rspec +0 -1
  305. data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_address.expected +0 -11
  306. data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_zip.expected +0 -12
  307. data/spec/whois/record/parser/responses/whois.educause.edu/property_registrant_without_address_spec.rb +0 -38
  308. data/spec/whois/record/parser/responses/whois.educause.edu/property_registrant_without_zip_spec.rb +0 -39
@@ -0,0 +1,18 @@
1
+ Domain Name: rop.gov.om
2
+ Registrar Name: Oman Telecommunication Company
3
+ Status: ok
4
+
5
+ Registrant Contact ID: 10084244
6
+ Registrant Contact Name: Nasser Said Al Daree
7
+ Registrant Contact Email: Visit whois.registry.om for Web based WhoIs
8
+
9
+ Tech Contact ID: 10084244
10
+ Tech Contact Name: Nasser Said Al Daree
11
+ Tech Contact Email: Visit whois.registry.om for Web based WhoIs
12
+
13
+ Name Server: om14.omantel.net.om
14
+ Name Server IP: 212.72.23.4
15
+ Name Server: om16.omantel.net.om
16
+ Name Server IP: 212.72.1.186
17
+ Name Server: om41.omantel.net.om
18
+ Name Server IP: 62.231.243.249
@@ -0,0 +1,9 @@
1
+ #nameservers
2
+ should: %s CLASS(array)
3
+ should: %s SIZE(2)
4
+ should: %s[0] CLASS(nameserver)
5
+ should: %s[0].name == "bits-hq.bitsyu.net"
6
+ should: %s[0].ipv4 == "217.24.17.10"
7
+ should: %s[1] CLASS(nameserver)
8
+ should: %s[1].name == "largo.bitsyu.net"
9
+ should: %s[1].ipv4 == "217.24.17.80"
@@ -0,0 +1,36 @@
1
+ %
2
+ %This is the RNIDS Whois server.
3
+ %
4
+ % Date Format : DD.MM.YYYY
5
+ % Whois Server Version: 1.0.0
6
+ %
7
+ % Rights restricted by copyright.
8
+ % See http://www.rnids.rs/whois_en
9
+ %
10
+ %
11
+ %
12
+ % Ovo je odgovor od RNIDS Whois servera.
13
+ %
14
+ % Format datuma : DD.MM.YYYY
15
+ % Verzija Whois Servera : 1.0.0
16
+ %
17
+ % Sva prava zadržana. Za više informacija.
18
+ % pogledajte http://www.rnids.rs/whois_sr
19
+
20
+ Domain name: eg.rs.
21
+ Domain status: Active
22
+ Registration date: 22.10.2010 10:20:31
23
+ Modification date: 08.08.2011 11:13:00
24
+ Expiration date: 22.10.2012 10:20:31
25
+ Registrar: GAMA Electronics d.o.o.
26
+
27
+
28
+ Whois privacy has been activated for domain.
29
+
30
+
31
+ DNS: bits-hq.bitsyu.net. - 217.24.17.10
32
+ DNS: largo.bitsyu.net. - 217.24.17.80
33
+
34
+
35
+
36
+
@@ -0,0 +1,11 @@
1
+ #registrant_contacts
2
+ should: %s CLASS(array)
3
+ should: %s == []
4
+
5
+ #admin_contacts
6
+ should: %s CLASS(array)
7
+ should: %s == []
8
+
9
+ #technical_contacts
10
+ should: %s CLASS(array)
11
+ should: %s == []
@@ -0,0 +1,36 @@
1
+ %
2
+ %This is the RNIDS Whois server.
3
+ %
4
+ % Date Format : DD.MM.YYYY
5
+ % Whois Server Version: 1.0.0
6
+ %
7
+ % Rights restricted by copyright.
8
+ % See http://www.rnids.rs/whois_en
9
+ %
10
+ %
11
+ %
12
+ % Ovo je odgovor od RNIDS Whois servera.
13
+ %
14
+ % Format datuma : DD.MM.YYYY
15
+ % Verzija Whois Servera : 1.0.0
16
+ %
17
+ % Sva prava zadržana. Za više informacija.
18
+ % pogledajte http://www.rnids.rs/whois_sr
19
+
20
+ Domain name: eg.rs.
21
+ Domain status: Active
22
+ Registration date: 22.10.2010 10:20:31
23
+ Modification date: 08.08.2011 11:13:00
24
+ Expiration date: 22.10.2012 10:20:31
25
+ Registrar: GAMA Electronics d.o.o.
26
+
27
+
28
+ Whois privacy has been activated for domain.
29
+
30
+
31
+ DNS: bits-hq.bitsyu.net. - 217.24.17.10
32
+ DNS: largo.bitsyu.net. - 217.24.17.80
33
+
34
+
35
+
36
+
@@ -0,0 +1,2 @@
1
+ #response_throttled?
2
+ should: %s == true
@@ -0,0 +1,27 @@
1
+ % New Zealand Domain Name Registry Limited
2
+ % Users confirm on submission their agreement to all published Terms
3
+ %
4
+ version: 5.00
5
+ query_datetime: 2012-05-03T13:18:06+12:00
6
+ domain_name: jaycar.co.nz
7
+ query_status: 440 Request Denied
8
+ %
9
+ %
10
+ %
11
+ %
12
+ %
13
+ % Users are advised that the following activities are strictly forbidden.
14
+ %
15
+ % Using multiple WHOIS queries, or using the output of multiple WHOIS
16
+ % queries in conjunction with any other facility or service, to enable
17
+ % or effect a download of part or all of the .nz Register.
18
+ %
19
+ % Using any information contained in the WHOIS query output to attempt a
20
+ % targeted contact campaign with any person, or any organisation, using any
21
+ % medium.
22
+ %
23
+ % A breach of these conditions will be treated as a breach of the .nz Policies
24
+ % and Procedures. Sanctions in line with those specified in the policies and
25
+ % procedures at www.dnc.org.nz may result from any breach.
26
+ %
27
+ % Copyright InternetNZ
@@ -21,3 +21,7 @@
21
21
  #nameservers
22
22
  should: %s CLASS(array)
23
23
  should: %s == []
24
+
25
+
26
+ #response_throttled?
27
+ should: %s == false
@@ -1,8 +1,8 @@
1
1
  % New Zealand Domain Name Registry Limited
2
2
  % Users confirm on submission their agreement to all published Terms
3
3
  %
4
- version: 4.00
5
- query_datetime: 2010-03-22T22:33:34+13:00
4
+ version: 5.00
5
+ query_datetime: 2012-05-03T20:25:07+12:00
6
6
  domain_name: u34jedzcq.co.nz
7
7
  query_status: 220 Available
8
8
  %
@@ -10,7 +10,6 @@ query_status: 220 Available
10
10
  %
11
11
  %
12
12
  %
13
- %
14
13
  % Users are advised that the following activities are strictly forbidden.
15
14
  %
16
15
  % Using multiple WHOIS queries, or using the output of multiple WHOIS
@@ -28,3 +28,7 @@
28
28
 
29
29
  #invalid?
30
30
  should: %s == true
31
+
32
+
33
+ #response_throttled?
34
+ should: %s == false
@@ -1,8 +1,8 @@
1
1
  % New Zealand Domain Name Registry Limited
2
2
  % Users confirm on submission their agreement to all published Terms
3
3
  %
4
- version: 4.00
5
- query_datetime: 2010-03-22T22:33:25+13:00
4
+ version: 5.00
5
+ query_datetime: 2012-05-03T20:27:42+12:00
6
6
  domain_name: u34jedzcq.nz
7
7
  query_status: 500 Invalid characters in query string
8
8
  %
@@ -10,7 +10,6 @@ query_status: 500 Invalid characters in query string
10
10
  %
11
11
  %
12
12
  %
13
- %
14
13
  % Users are advised that the following activities are strictly forbidden.
15
14
  %
16
15
  % Using multiple WHOIS queries, or using the output of multiple WHOIS
@@ -14,11 +14,11 @@
14
14
 
15
15
  #updated_on
16
16
  should: %s CLASS(time)
17
- should: %s == Time.parse("2010-01-16 23:23:15 +13:00")
17
+ should: %s == Time.parse("2012-01-16 23:16:18 +13:00")
18
18
 
19
19
  #expires_on
20
20
  should: %s CLASS(time)
21
- should: %s == Time.parse("2011-02-17 00:00:00 +13:00")
21
+ should: %s == Time.parse("2013-02-17 00:00:00 +13:00")
22
22
 
23
23
 
24
24
  #nameservers
@@ -32,3 +32,7 @@
32
32
  should: %s[2].name == "ns3.google.com"
33
33
  should: %s[3] CLASS(nameserver)
34
34
  should: %s[3].name == "ns4.google.com"
35
+
36
+
37
+ #response_throttled?
38
+ should: %s == false
@@ -1,14 +1,15 @@
1
1
  % New Zealand Domain Name Registry Limited
2
2
  % Users confirm on submission their agreement to all published Terms
3
3
  %
4
- version: 4.00
5
- query_datetime: 2010-03-22T22:32:20+13:00
4
+ version: 5.00
5
+ query_datetime: 2012-05-03T20:26:25+12:00
6
6
  domain_name: google.co.nz
7
7
  query_status: 200 Active
8
8
  domain_dateregistered: 1999-02-17T00:00:00+13:00
9
- domain_datebilleduntil: 2011-02-17T00:00:00+13:00
10
- domain_datelastmodified: 2010-01-16T23:23:15+13:00
9
+ domain_datebilleduntil: 2013-02-17T00:00:00+13:00
10
+ domain_datelastmodified: 2012-01-16T23:16:18+13:00
11
11
  domain_delegaterequested: yes
12
+ domain_signed: no
12
13
  %
13
14
  registrar_name: MarkMonitor
14
15
  registrar_address1: 391 N. Ancestor Place
@@ -0,0 +1,8 @@
1
+ #status
2
+ should: %s == :expired
3
+
4
+ #available?
5
+ should: %s == false
6
+
7
+ #registered?
8
+ should: %s == true
@@ -0,0 +1,56 @@
1
+ %
2
+ % TZNIC WHOIS data and services are subject to the Terms of Use
3
+ % available at: http://www.tznic.or.tz/docs/whois_tou.pdf
4
+ %
5
+ % You may also use our WHOIS Web service available at:
6
+ % http://whois.tznic.or.tz/whois
7
+ %
8
+ %
9
+ % Whoisd Server Version: 3.1.1
10
+ % Timestamp: Fri May 11 09:18:51 2012
11
+
12
+ domain: amanabank.co.tz
13
+ registrant: AB2-EXTREME
14
+ admin-c: AB2-EXTREME
15
+ nsset: NS-AMANABANK.CO.TZ
16
+ registrar: REG-XTREME
17
+ status: Expired
18
+ registered: 28.04.2011 19:27:26
19
+ changed: 24.04.2012 18:53:54
20
+ expire: 28.04.2012
21
+
22
+ contact: AB2-EXTREME
23
+ org: Amana Bank Ltd
24
+ name: Abdul Bandawe
25
+ address: 3rd Floor, PPF Tower
26
+ address: P. O. Box 9771
27
+ address: Dar es Salaam
28
+ address: 9771
29
+ address: TZ
30
+ phone: +255.713509199
31
+ e-mail: abdul.bandawe@amanabank.co.tz
32
+ registrar: REG-XTREME
33
+ created: 24.04.2012 18:53:07
34
+
35
+ nsset: NS-AMANABANK.CO.TZ
36
+ nserver: ns5.e-xtremetech.net
37
+ nserver: ns6.e-xtremetech.net
38
+ tech-c: MS1-TZNIC
39
+ registrar: REG-TZNIC
40
+ created: 28.04.2011 19:24:06
41
+
42
+ contact: MS1-TZNIC
43
+ org: Extreme Web Technologies
44
+ name: Mohsin Sumar
45
+ address: 5th Floor, Osman Towers
46
+ address: Zanaki Street
47
+ address: Dar es Salaam
48
+ address: P.O.Box 14001
49
+ address: TZ
50
+ phone: +255.784870811
51
+ e-mail: info@extremewebtechnologies.com
52
+ registrar: REG-TZNIC
53
+ created: 18.08.2009 12:11:40
54
+ changed: 31.08.2010 10:56:38
55
+
56
+
@@ -31,11 +31,6 @@ module RSpecSupportSpecHelpers
31
31
  Whois::Server.send :class_variable_set, :@@definitions, @_definitions
32
32
  end
33
33
 
34
-
35
- def nameserver(*params)
36
- Whois::Record::Nameserver.new(*params)
37
- end
38
-
39
34
  end
40
35
 
41
36
  RSpec.configure do |config|
data/spec/tlds CHANGED
@@ -215,7 +215,8 @@ no;whois.norid.no;google.no;u34jedzcq.no
215
215
  np;;;
216
216
  nr;;;
217
217
  nu;whois.nic.nu;google.nu;u34jedzcq.nu
218
- om;;;
218
+ nz;whois.srs.net.nz;google.co.nz;u34jedzcq.co.nz
219
+ om;whois.registry.om;rop.gov.om;u34jedzcq.om
219
220
  org.za;whois.org.za;joburg.org.za;u34jedzcq.org.za
220
221
  org;whois.publicinterestregistry.net;google.org;u34jedzcq.org
221
222
  pa;;;
@@ -265,6 +266,7 @@ sr;;;
265
266
  st;whois.nic.st;google.st;u34jedzcq.st
266
267
  su;whois.ripn.net;google.su;u34jedzcq.su
267
268
  sv;;;
269
+ sx;whois.sx;whois.sx;u34jedzcq.sx
268
270
  sy;;;
269
271
  sz;;;
270
272
  tc;whois.adamsnames.tc;google.tc;u34jedzcq.tc
@@ -278,7 +280,7 @@ tk;whois.dot.tk;thinkcode.tk;u34jedzcq.tk
278
280
  tl;whois.nic.tl;thinkcode.tl;u34jedzcq.tl
279
281
  tld;registry;available;unavailable
280
282
  tm;whois.nic.tm;google.tm;u34jedzcq.tm
281
- tn;;;
283
+ tn;whois.ati.tn;google.tn;u34jedzcq.tn
282
284
  to;whois.tonic.to;go.to;u34jedzcq.to
283
285
  tp;;;
284
286
  tr;whois.nic.tr;google.com.tr;u34jedzcq.com.tr
@@ -22,14 +22,14 @@ describe Whois::Record::Contact do
22
22
  end.should_not raise_error
23
23
  end
24
24
 
25
- it "initializes a new instance from given params" do
26
- i = klass.new(10, klass::TYPE_REGISTRANT, "John Doe", nil)
27
-
28
- i.id.should == 10
29
- i.type.should == klass::TYPE_REGISTRANT
30
- i.name.should == "John Doe"
31
- i.organization.should be_nil
32
- end
25
+ # it "initializes a new instance from given params" do
26
+ # i = klass.new(10, klass::TYPE_REGISTRANT, "John Doe", nil)
27
+
28
+ # i.id.should == 10
29
+ # i.type.should == klass::TYPE_REGISTRANT
30
+ # i.name.should == "John Doe"
31
+ # i.organization.should be_nil
32
+ # end
33
33
 
34
34
  it "initializes a new instance from given hash" do
35
35
  i = klass.new(:id => 10, :name => "John Doe", :type => klass::TYPE_REGISTRANT)
@@ -22,13 +22,13 @@ describe Whois::Record::Nameserver do
22
22
  end.should_not raise_error
23
23
  end
24
24
 
25
- it "initializes a new instance from given params" do
26
- i = klass.new("ns1.example.com", "127.0.0.1")
25
+ # it "initializes a new instance from given params" do
26
+ # i = klass.new("ns1.example.com", "127.0.0.1")
27
27
 
28
- i.name.should == "ns1.example.com"
29
- i.ipv4.should == "127.0.0.1"
30
- i.ipv6.should be_nil
31
- end
28
+ # i.name.should == "ns1.example.com"
29
+ # i.ipv4.should == "127.0.0.1"
30
+ # i.ipv6.should be_nil
31
+ # end
32
32
 
33
33
  it "initializes a new instance from given hash" do
34
34
  i = klass.new(:name => "ns1.example.com", :ipv4 => "127.0.0.1")
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  describe Whois::Record::Parser::Base do
4
4
 
5
5
  before(:each) do
6
- @part = Whois::Record::Part.new("This is the response.", "whois.example.test")
6
+ @part = Whois::Record::Part.new(:body => "This is the response.", :host => "whois.example.test")
7
7
  end
8
8
 
9
9
 
@@ -54,12 +54,12 @@ describe Whois::Record::Parser::Base do
54
54
 
55
55
  describe "#content_for_scanner" do
56
56
  it "returns the part body with line feed normalized" do
57
- i = klass.new(Whois::Record::Part.new("This is\r\nthe response.", "whois.example.test"))
57
+ i = klass.new(Whois::Record::Part.new(:body => "This is\r\nthe response.", :host => "whois.example.test"))
58
58
  i.send(:content_for_scanner).should == "This is\nthe response."
59
59
  end
60
60
 
61
61
  it "caches the result" do
62
- i = klass.new(Whois::Record::Part.new("This is\r\nthe response.", "whois.example.test"))
62
+ i = klass.new(Whois::Record::Part.new(:body => "This is\r\nthe response.", :host => "whois.example.test"))
63
63
  i.instance_eval { @content_for_scanner }.should be_nil
64
64
  i.send(:content_for_scanner)
65
65
  i.instance_eval { @content_for_scanner }.should == "This is\nthe response."
@@ -125,14 +125,14 @@ describe Whois::Record::Parser::Base do
125
125
  end
126
126
 
127
127
  it "returns true if the content_for_scanner is the same" do
128
- i = klass.new(Whois::Record::Part.new("This is the\nresponse 1.", "whois.example.test"))
129
- o = klass.new(Whois::Record::Part.new("This is the\r\nresponse 1.", "whois.example.test"))
128
+ i = klass.new(Whois::Record::Part.new(:body => "This is the\nresponse 1.", :host => "whois.example.test"))
129
+ o = klass.new(Whois::Record::Part.new(:body => "This is the\r\nresponse 1.", :host => "whois.example.test"))
130
130
  i.unchanged?(o).should be_true
131
131
  end
132
132
 
133
133
  it "returns false if the content_for_scanner is not the same" do
134
- i = klass.new(Whois::Record::Part.new("This is the response 1.", "whois.example.test"))
135
- o = klass.new(Whois::Record::Part.new("This is the response 2.", "whois.example.test"))
134
+ i = klass.new(Whois::Record::Part.new(:body => "This is the response 1.", :host => "whois.example.test"))
135
+ o = klass.new(Whois::Record::Part.new(:body => "This is the response 2.", :host => "whois.example.test"))
136
136
  i.unchanged?(o).should be_false
137
137
  end
138
138
  end
@@ -221,20 +221,20 @@ describe Whois::Record::Parser::Base, "Parser Behavior" do
221
221
 
222
222
  context "property supported" do
223
223
  it "raises Whois::ResponseIsThrottled when the response is throttled" do
224
- i = Klass.new(Whois::Record::Part.new("", "throttled.whois.test"))
224
+ i = Klass.new(Whois::Record::Part.new(:body => "", :host => "throttled.whois.test"))
225
225
  lambda { i.domain }.should raise_error(Whois::ResponseIsThrottled)
226
226
 
227
- i = Klass.new(Whois::Record::Part.new("", "success.whois.test"))
227
+ i = Klass.new(Whois::Record::Part.new(:body => "", :host => "success.whois.test"))
228
228
  lambda { i.domain }.should_not raise_error
229
229
  end
230
230
  end
231
231
 
232
232
  context "property not supported" do
233
233
  it "raises Whois::ResponseIsThrottled when the response is throttled" do
234
- i = Klass.new(Whois::Record::Part.new("", "throttled.whois.test"))
234
+ i = Klass.new(Whois::Record::Part.new(:body => "", :host => "throttled.whois.test"))
235
235
  lambda { i.domain_id }.should raise_error(Whois::PropertyNotSupported)
236
236
 
237
- i = Klass.new(Whois::Record::Part.new("", "success.whois.test"))
237
+ i = Klass.new(Whois::Record::Part.new(:body => "", :host => "success.whois.test"))
238
238
  lambda { i.domain_id }.should raise_error(Whois::PropertyNotSupported)
239
239
  end
240
240
  end