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
@@ -64,6 +64,14 @@ describe Whois::Record::Parser::WhoisNicKi, "status_registered.expected" do
64
64
  @parser.expires_on.should == Time.parse("2010-11-27")
65
65
  end
66
66
  end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == "http://www.markmonitor.com"
73
+ end
74
+ end
67
75
  describe "#nameservers" do
68
76
  it do
69
77
  @parser.nameservers.should be_a(Array)
@@ -64,6 +64,14 @@ describe Whois::Record::Parser::WhoisNicMs, "status_registered.expected" do
64
64
  @parser.expires_on.should == Time.parse("2011-06-04 08:00 AST")
65
65
  end
66
66
  end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == "http://www.markmonitor.com"
73
+ end
74
+ end
67
75
  describe "#nameservers" do
68
76
  it do
69
77
  @parser.nameservers.should be_a(Array)
@@ -55,13 +55,21 @@ describe Whois::Record::Parser::WhoisNicMu, "status_registered.expected" do
55
55
  describe "#updated_on" do
56
56
  it do
57
57
  @parser.updated_on.should be_a(Time)
58
- @parser.updated_on.should == Time.parse("2009-12-04")
58
+ @parser.updated_on.should == Time.parse("2012-03-21")
59
59
  end
60
60
  end
61
61
  describe "#expires_on" do
62
62
  it do
63
63
  @parser.expires_on.should be_a(Time)
64
- @parser.expires_on.should == Time.parse("2010-12-20")
64
+ @parser.expires_on.should == Time.parse("2012-12-20")
65
+ end
66
+ end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == "http://www.markmonitor.com"
65
73
  end
66
74
  end
67
75
  describe "#nameservers" do
@@ -64,6 +64,14 @@ describe Whois::Record::Parser::WhoisNicNetNf, "status_registered.expected" do
64
64
  @parser.expires_on.should == Time.parse("2010-11-27")
65
65
  end
66
66
  end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == "http://www.markmonitor.com"
73
+ end
74
+ end
67
75
  describe "#nameservers" do
68
76
  it do
69
77
  @parser.nameservers.should be_a(Array)
@@ -54,6 +54,14 @@ describe Whois::Record::Parser::WhoisNicNetNg, "status_registered.expected" do
54
54
  @parser.expires_on.should == Time.parse("2020-07-31 00:00 WAT")
55
55
  end
56
56
  end
57
+ describe "#registrar" do
58
+ it do
59
+ @parser.registrar.should be_a(Whois::Record::Registrar)
60
+ @parser.registrar.id.should == nil
61
+ @parser.registrar.name.should == "nira"
62
+ @parser.registrar.url.should == nil
63
+ end
64
+ end
57
65
  describe "#nameservers" do
58
66
  it do
59
67
  @parser.nameservers.should be_a(Array)
@@ -64,6 +64,14 @@ describe Whois::Record::Parser::WhoisNicNetSb, "status_registered.expected" do
64
64
  @parser.expires_on.should == Time.parse("2012-03-27")
65
65
  end
66
66
  end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "Key-Systems"
72
+ @parser.registrar.url.should == "http://www.key-systems.net"
73
+ end
74
+ end
67
75
  describe "#nameservers" do
68
76
  it do
69
77
  @parser.nameservers.should be_a(Array)
@@ -55,13 +55,21 @@ describe Whois::Record::Parser::WhoisNicTl, "status_registered.expected" do
55
55
  describe "#updated_on" do
56
56
  it do
57
57
  @parser.updated_on.should be_a(Time)
58
- @parser.updated_on.should == Time.parse("2009-08-05")
58
+ @parser.updated_on.should == Time.parse("2012-04-26")
59
59
  end
60
60
  end
61
61
  describe "#expires_on" do
62
62
  it do
63
63
  @parser.expires_on.should be_a(Time)
64
- @parser.expires_on.should == Time.parse("2010-05-23")
64
+ @parser.expires_on.should == Time.parse("2013-05-23")
65
+ end
66
+ end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == "http://www.markmonitor.com"
65
73
  end
66
74
  end
67
75
  describe "#nameservers" do
@@ -45,13 +45,13 @@ describe Whois::Record::Parser::WhoisNicUk, "status_registered.expected" do
45
45
  describe "#updated_on" do
46
46
  it do
47
47
  @parser.updated_on.should be_a(Time)
48
- @parser.updated_on.should == Time.parse("2009-08-13")
48
+ @parser.updated_on.should == Time.parse("2011-02-10")
49
49
  end
50
50
  end
51
51
  describe "#expires_on" do
52
52
  it do
53
53
  @parser.expires_on.should be_a(Time)
54
- @parser.expires_on.should == Time.parse("2011-02-14")
54
+ @parser.expires_on.should == Time.parse("2013-02-14")
55
55
  end
56
56
  end
57
57
  describe "#registrar" do
@@ -45,7 +45,7 @@ describe Whois::Record::Parser::WhoisNicUk, "status_reserved.expected" do
45
45
  describe "#updated_on" do
46
46
  it do
47
47
  @parser.updated_on.should be_a(Time)
48
- @parser.updated_on.should == Time.parse("2011-12-23")
48
+ @parser.updated_on.should == Time.parse("2012-03-23")
49
49
  end
50
50
  end
51
51
  describe "#expires_on" do
@@ -45,7 +45,7 @@ describe Whois::Record::Parser::WhoisNicUk, "status_suspended.expected" do
45
45
  describe "#updated_on" do
46
46
  it do
47
47
  @parser.updated_on.should be_a(Time)
48
- @parser.updated_on.should == Time.parse("2010-06-01")
48
+ @parser.updated_on.should == Time.parse("2012-02-09")
49
49
  end
50
50
  end
51
51
  describe "#expires_on" do
@@ -64,6 +64,14 @@ describe Whois::Record::Parser::WhoisRegistryGy, "status_registered.expected" do
64
64
  @parser.expires_on.should == Time.parse("2011-10-05")
65
65
  end
66
66
  end
67
+ describe "#registrar" do
68
+ it do
69
+ @parser.registrar.should be_a(Whois::Record::Registrar)
70
+ @parser.registrar.id.should == nil
71
+ @parser.registrar.name.should == "MarkMonitor"
72
+ @parser.registrar.url.should == nil
73
+ end
74
+ end
67
75
  describe "#nameservers" do
68
76
  it do
69
77
  @parser.nameservers.should be_a(Array)
@@ -0,0 +1,107 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.registry.om/status_available.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake spec:generate
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.registry.om.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisRegistryOm, "status_available.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.registry.om/status_available.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ describe "#disclaimer" do
25
+ it do
26
+ lambda { @parser.disclaimer }.should raise_error(Whois::PropertyNotSupported)
27
+ end
28
+ end
29
+ describe "#domain" do
30
+ it do
31
+ @parser.domain.should == nil
32
+ end
33
+ end
34
+ describe "#domain_id" do
35
+ it do
36
+ lambda { @parser.domain_id }.should raise_error(Whois::PropertyNotSupported)
37
+ end
38
+ end
39
+ describe "#referral_url" do
40
+ it do
41
+ lambda { @parser.referral_url }.should raise_error(Whois::PropertyNotSupported)
42
+ end
43
+ end
44
+ describe "#referral_whois" do
45
+ it do
46
+ lambda { @parser.referral_whois }.should raise_error(Whois::PropertyNotSupported)
47
+ end
48
+ end
49
+ describe "#status" do
50
+ it do
51
+ @parser.status.should == :available
52
+ end
53
+ end
54
+ describe "#available?" do
55
+ it do
56
+ @parser.available?.should == true
57
+ end
58
+ end
59
+ describe "#registered?" do
60
+ it do
61
+ @parser.registered?.should == false
62
+ end
63
+ end
64
+ describe "#created_on" do
65
+ it do
66
+ lambda { @parser.created_on }.should raise_error(Whois::PropertyNotSupported)
67
+ end
68
+ end
69
+ describe "#updated_on" do
70
+ it do
71
+ lambda { @parser.updated_on }.should raise_error(Whois::PropertyNotSupported)
72
+ end
73
+ end
74
+ describe "#expires_on" do
75
+ it do
76
+ lambda { @parser.expires_on }.should raise_error(Whois::PropertyNotSupported)
77
+ end
78
+ end
79
+ describe "#registrar" do
80
+ it do
81
+ @parser.registrar.should == nil
82
+ end
83
+ end
84
+ describe "#registrant_contacts" do
85
+ it do
86
+ @parser.registrant_contacts.should be_a(Array)
87
+ @parser.registrant_contacts.should == []
88
+ end
89
+ end
90
+ describe "#admin_contacts" do
91
+ it do
92
+ lambda { @parser.admin_contacts }.should raise_error(Whois::PropertyNotSupported)
93
+ end
94
+ end
95
+ describe "#technical_contacts" do
96
+ it do
97
+ @parser.technical_contacts.should be_a(Array)
98
+ @parser.technical_contacts.should == []
99
+ end
100
+ end
101
+ describe "#nameservers" do
102
+ it do
103
+ @parser.nameservers.should be_a(Array)
104
+ @parser.nameservers.should == []
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,151 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.registry.om/status_registered.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake spec:generate
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.registry.om.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisRegistryOm, "status_registered.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.registry.om/status_registered.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ describe "#disclaimer" do
25
+ it do
26
+ lambda { @parser.disclaimer }.should raise_error(Whois::PropertyNotSupported)
27
+ end
28
+ end
29
+ describe "#domain" do
30
+ it do
31
+ @parser.domain.should == "rop.gov.om"
32
+ end
33
+ end
34
+ describe "#domain_id" do
35
+ it do
36
+ lambda { @parser.domain_id }.should raise_error(Whois::PropertyNotSupported)
37
+ end
38
+ end
39
+ describe "#referral_url" do
40
+ it do
41
+ lambda { @parser.referral_url }.should raise_error(Whois::PropertyNotSupported)
42
+ end
43
+ end
44
+ describe "#referral_whois" do
45
+ it do
46
+ lambda { @parser.referral_whois }.should raise_error(Whois::PropertyNotSupported)
47
+ end
48
+ end
49
+ describe "#status" do
50
+ it do
51
+ @parser.status.should == :registered
52
+ end
53
+ end
54
+ describe "#available?" do
55
+ it do
56
+ @parser.available?.should == false
57
+ end
58
+ end
59
+ describe "#registered?" do
60
+ it do
61
+ @parser.registered?.should == true
62
+ end
63
+ end
64
+ describe "#created_on" do
65
+ it do
66
+ lambda { @parser.created_on }.should raise_error(Whois::PropertyNotSupported)
67
+ end
68
+ end
69
+ describe "#updated_on" do
70
+ it do
71
+ lambda { @parser.updated_on }.should raise_error(Whois::PropertyNotSupported)
72
+ end
73
+ end
74
+ describe "#expires_on" do
75
+ it do
76
+ lambda { @parser.expires_on }.should raise_error(Whois::PropertyNotSupported)
77
+ end
78
+ end
79
+ describe "#registrar" do
80
+ it do
81
+ @parser.registrar.should be_a(Whois::Record::Registrar)
82
+ @parser.registrar.id.should == nil
83
+ @parser.registrar.name.should == "Oman Telecommunication Company"
84
+ @parser.registrar.organization.should == nil
85
+ @parser.registrar.url.should == nil
86
+ end
87
+ end
88
+ describe "#registrant_contacts" do
89
+ it do
90
+ @parser.registrant_contacts.should be_a(Array)
91
+ @parser.registrant_contacts.should have(1).items
92
+ @parser.registrant_contacts[0].should be_a(Whois::Record::Contact)
93
+ @parser.registrant_contacts[0].type.should == Whois::Record::Contact::TYPE_REGISTRANT
94
+ @parser.registrant_contacts[0].id.should == "10084244"
95
+ @parser.registrant_contacts[0].name.should == "Nasser Said Al Daree"
96
+ @parser.registrant_contacts[0].organization.should == nil
97
+ @parser.registrant_contacts[0].address.should == nil
98
+ @parser.registrant_contacts[0].city.should == nil
99
+ @parser.registrant_contacts[0].zip.should == nil
100
+ @parser.registrant_contacts[0].state.should == nil
101
+ @parser.registrant_contacts[0].country.should == nil
102
+ @parser.registrant_contacts[0].country_code.should == nil
103
+ @parser.registrant_contacts[0].phone.should == nil
104
+ @parser.registrant_contacts[0].fax.should == nil
105
+ @parser.registrant_contacts[0].email.should == "Visit whois.registry.om for Web based WhoIs"
106
+ end
107
+ end
108
+ describe "#admin_contacts" do
109
+ it do
110
+ lambda { @parser.admin_contacts }.should raise_error(Whois::PropertyNotSupported)
111
+ end
112
+ end
113
+ describe "#technical_contacts" do
114
+ it do
115
+ @parser.technical_contacts.should be_a(Array)
116
+ @parser.technical_contacts.should have(1).items
117
+ @parser.technical_contacts[0].should be_a(Whois::Record::Contact)
118
+ @parser.technical_contacts[0].type.should == Whois::Record::Contact::TYPE_TECHNICAL
119
+ @parser.technical_contacts[0].id.should == "10084244"
120
+ @parser.technical_contacts[0].name.should == "Nasser Said Al Daree"
121
+ @parser.technical_contacts[0].organization.should == nil
122
+ @parser.technical_contacts[0].address.should == nil
123
+ @parser.technical_contacts[0].city.should == nil
124
+ @parser.technical_contacts[0].zip.should == nil
125
+ @parser.technical_contacts[0].state.should == nil
126
+ @parser.technical_contacts[0].country.should == nil
127
+ @parser.technical_contacts[0].country_code.should == nil
128
+ @parser.technical_contacts[0].phone.should == nil
129
+ @parser.technical_contacts[0].fax.should == nil
130
+ @parser.technical_contacts[0].email.should == "Visit whois.registry.om for Web based WhoIs"
131
+ end
132
+ end
133
+ describe "#nameservers" do
134
+ it do
135
+ @parser.nameservers.should be_a(Array)
136
+ @parser.nameservers.should have(3).items
137
+ @parser.nameservers[0].should be_a(Whois::Record::Nameserver)
138
+ @parser.nameservers[0].name.should == "om14.omantel.net.om"
139
+ @parser.nameservers[0].ipv4.should == nil
140
+ @parser.nameservers[0].ipv6.should == nil
141
+ @parser.nameservers[1].should be_a(Whois::Record::Nameserver)
142
+ @parser.nameservers[1].name.should == "om16.omantel.net.om"
143
+ @parser.nameservers[1].ipv4.should == nil
144
+ @parser.nameservers[1].ipv6.should == nil
145
+ @parser.nameservers[2].should be_a(Whois::Record::Nameserver)
146
+ @parser.nameservers[2].name.should == "om41.omantel.net.om"
147
+ @parser.nameservers[2].ipv4.should == nil
148
+ @parser.nameservers[2].ipv6.should == nil
149
+ end
150
+ end
151
+ end
@@ -0,0 +1,36 @@
1
+ # encoding: utf-8
2
+
3
+ # This file is autogenerated. Do not edit it manually.
4
+ # If you want change the content of this file, edit
5
+ #
6
+ # /spec/fixtures/responses/whois.rnids.rs/property_nameservers_hyphenated.expected
7
+ #
8
+ # and regenerate the tests with the following rake task
9
+ #
10
+ # $ rake spec:generate
11
+ #
12
+
13
+ require 'spec_helper'
14
+ require 'whois/record/parser/whois.rnids.rs.rb'
15
+
16
+ describe Whois::Record::Parser::WhoisRnidsRs, "property_nameservers_hyphenated.expected" do
17
+
18
+ before(:each) do
19
+ file = fixture("responses", "whois.rnids.rs/property_nameservers_hyphenated.txt")
20
+ part = Whois::Record::Part.new(:body => File.read(file))
21
+ @parser = klass.new(part)
22
+ end
23
+
24
+ describe "#nameservers" do
25
+ it do
26
+ @parser.nameservers.should be_a(Array)
27
+ @parser.nameservers.should have(2).items
28
+ @parser.nameservers[0].should be_a(Whois::Record::Nameserver)
29
+ @parser.nameservers[0].name.should == "bits-hq.bitsyu.net"
30
+ @parser.nameservers[0].ipv4.should == "217.24.17.10"
31
+ @parser.nameservers[1].should be_a(Whois::Record::Nameserver)
32
+ @parser.nameservers[1].name.should == "largo.bitsyu.net"
33
+ @parser.nameservers[1].ipv4.should == "217.24.17.80"
34
+ end
35
+ end
36
+ end