whois 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (573) hide show
  1. data/Rakefile +13 -17
  2. data/lib/whois.rb +1 -1
  3. data/lib/whois/client.rb +1 -1
  4. data/lib/{core_ext.rb → whois/core_ext.rb} +4 -4
  5. data/lib/{core_ext → whois/core_ext}/array/extract_options.rb +0 -0
  6. data/lib/{core_ext → whois/core_ext}/array/wrap.rb +0 -0
  7. data/lib/{core_ext → whois/core_ext}/class/attribute.rb +3 -3
  8. data/lib/{core_ext → whois/core_ext}/date_time/conversions.rb +0 -0
  9. data/lib/{core_ext → whois/core_ext}/kernel/singleton_class.rb +0 -0
  10. data/lib/{core_ext → whois/core_ext}/module/remove_method.rb +0 -0
  11. data/lib/whois/definitions/ipv4.rb +4 -0
  12. data/lib/whois/definitions/tlds.rb +29 -29
  13. data/lib/whois/record.rb +14 -4
  14. data/lib/whois/record/parser.rb +17 -5
  15. data/lib/whois/record/parser/base.rb +11 -8
  16. data/lib/whois/record/parser/scanners/whois.centralnic.com.rb +1 -1
  17. data/lib/whois/record/parser/scanners/whois.dns.hr.rb +41 -0
  18. data/lib/whois/record/parser/scanners/whois.nc.rb +48 -0
  19. data/lib/whois/record/parser/scanners/whois.nic.hu.rb +2 -2
  20. data/lib/whois/record/parser/scanners/whois.rnids.rs.rb +78 -0
  21. data/lib/whois/record/parser/whois.biz.rb +2 -2
  22. data/lib/whois/record/parser/whois.dns.hr.rb +112 -0
  23. data/lib/whois/record/parser/whois.dreamhost.com.rb +120 -0
  24. data/lib/whois/record/parser/whois.fi.rb +76 -0
  25. data/lib/whois/record/parser/whois.ficora.fi.rb +3 -55
  26. data/lib/whois/record/parser/whois.godaddy.com.rb +3 -3
  27. data/lib/whois/record/parser/whois.markmonitor.com.rb +6 -9
  28. data/lib/whois/record/parser/whois.nc.rb +135 -0
  29. data/lib/whois/record/parser/whois.net.ua.rb +3 -57
  30. data/lib/whois/record/parser/whois.nic.gl.rb +5 -6
  31. data/lib/whois/record/parser/whois.nic.it.rb +12 -9
  32. data/lib/whois/record/parser/whois.nic.lk.rb +118 -0
  33. data/lib/whois/record/parser/whois.nic.mg.rb +2 -0
  34. data/lib/whois/record/parser/whois.nic.uk.rb +32 -12
  35. data/lib/whois/record/parser/whois.registry.qa.rb +2 -1
  36. data/lib/whois/record/parser/whois.rnids.rs.rb +143 -0
  37. data/lib/whois/record/parser/whois.ua.rb +75 -0
  38. data/lib/whois/version.rb +1 -1
  39. data/spec/fixtures/responses/jobswhois.verisign-grs.com/property_nameserver_no_nameserver.expected +1 -1
  40. data/spec/fixtures/responses/jobswhois.verisign-grs.com/status_available.expected +1 -1
  41. data/spec/fixtures/responses/jobswhois.verisign-grs.com/status_registered.expected +8 -8
  42. data/spec/fixtures/responses/kero.yachay.pe/status_available.expected +1 -1
  43. data/spec/fixtures/responses/kero.yachay.pe/status_inactive.expected +2 -2
  44. data/spec/fixtures/responses/kero.yachay.pe/status_registered.expected +6 -6
  45. data/spec/fixtures/responses/whois.adamsnames.tc/gd/status_available.expected +1 -1
  46. data/spec/fixtures/responses/whois.adamsnames.tc/gd/status_registered.expected +4 -4
  47. data/spec/fixtures/responses/whois.adamsnames.tc/tc/status_available.expected +1 -1
  48. data/spec/fixtures/responses/whois.adamsnames.tc/tc/status_registered.expected +6 -6
  49. data/spec/fixtures/responses/whois.adamsnames.tc/vg/status_available.expected +1 -1
  50. data/spec/fixtures/responses/whois.adamsnames.tc/vg/status_registered.expected +6 -6
  51. data/spec/fixtures/responses/whois.aeda.net.ae/status_available.expected +1 -1
  52. data/spec/fixtures/responses/whois.aeda.net.ae/status_registered.expected +4 -4
  53. data/spec/fixtures/responses/whois.aero/status_available.expected +4 -4
  54. data/spec/fixtures/responses/whois.aero/status_registered.expected +19 -19
  55. data/spec/fixtures/responses/whois.afilias-grs.info/bz/status_available.expected +4 -4
  56. data/spec/fixtures/responses/whois.afilias-grs.info/bz/status_registered.expected +16 -16
  57. data/spec/fixtures/responses/whois.afilias-grs.info/gi/status_available.expected +4 -4
  58. data/spec/fixtures/responses/whois.afilias-grs.info/gi/status_registered.expected +17 -17
  59. data/spec/fixtures/responses/whois.afilias-grs.info/hn/status_available.expected +4 -4
  60. data/spec/fixtures/responses/whois.afilias-grs.info/hn/status_registered.expected +17 -17
  61. data/spec/fixtures/responses/whois.afilias-grs.info/lc/status_available.expected +4 -4
  62. data/spec/fixtures/responses/whois.afilias-grs.info/lc/status_registered.expected +17 -17
  63. data/spec/fixtures/responses/whois.afilias-grs.info/mn/status_available.expected +4 -4
  64. data/spec/fixtures/responses/whois.afilias-grs.info/mn/status_registered.expected +19 -19
  65. data/spec/fixtures/responses/whois.afilias-grs.info/sc/status_available.expected +5 -5
  66. data/spec/fixtures/responses/whois.afilias-grs.info/sc/status_registered.expected +17 -17
  67. data/spec/fixtures/responses/whois.afilias-grs.info/vc/status_available.expected +4 -4
  68. data/spec/fixtures/responses/whois.afilias-grs.info/vc/status_registered.expected +19 -19
  69. data/spec/fixtures/responses/whois.afilias.info/status_available.expected +4 -4
  70. data/spec/fixtures/responses/whois.afilias.info/status_registered.expected +19 -19
  71. data/spec/fixtures/responses/whois.ai/status_available.expected +1 -1
  72. data/spec/fixtures/responses/whois.ai/status_registered.expected +6 -6
  73. data/spec/fixtures/responses/whois.arnes.si/status_available.expected +1 -1
  74. data/spec/fixtures/responses/whois.arnes.si/status_registered.expected +8 -8
  75. data/spec/fixtures/responses/whois.audns.net.au/status_available.expected +1 -1
  76. data/spec/fixtures/responses/whois.audns.net.au/status_registered.expected +7 -7
  77. data/spec/fixtures/responses/whois.biz/status_available.expected +4 -4
  78. data/spec/fixtures/responses/whois.biz/status_registered.expected +19 -19
  79. data/spec/fixtures/responses/whois.cat/status_available.expected +1 -1
  80. data/spec/fixtures/responses/whois.cat/status_registered.expected +7 -7
  81. data/spec/fixtures/responses/whois.cctld.uz/status_available.expected +1 -1
  82. data/spec/fixtures/responses/whois.cctld.uz/status_registered.expected +6 -6
  83. data/spec/fixtures/responses/whois.centralnic.com/ae.org/status_available.expected +4 -4
  84. data/spec/fixtures/responses/whois.centralnic.com/ae.org/status_registered.expected +17 -17
  85. data/spec/fixtures/responses/whois.centralnic.com/ar.com/status_available.expected +4 -4
  86. data/spec/fixtures/responses/whois.centralnic.com/ar.com/status_registered.expected +21 -21
  87. data/spec/fixtures/responses/whois.centralnic.com/br.com/status_available.expected +4 -4
  88. data/spec/fixtures/responses/whois.centralnic.com/br.com/status_registered.expected +17 -17
  89. data/spec/fixtures/responses/whois.centralnic.com/cn.com/status_available.expected +4 -4
  90. data/spec/fixtures/responses/whois.centralnic.com/cn.com/status_registered.expected +17 -17
  91. data/spec/fixtures/responses/whois.centralnic.com/de.com/status_available.expected +4 -4
  92. data/spec/fixtures/responses/whois.centralnic.com/de.com/status_registered.expected +18 -18
  93. data/spec/fixtures/responses/whois.centralnic.com/eu.com/status_available.expected +4 -4
  94. data/spec/fixtures/responses/whois.centralnic.com/eu.com/status_registered.expected +17 -17
  95. data/spec/fixtures/responses/whois.centralnic.com/gb.com/status_available.expected +4 -4
  96. data/spec/fixtures/responses/whois.centralnic.com/gb.com/status_registered.expected +19 -19
  97. data/spec/fixtures/responses/whois.centralnic.com/gb.net/status_available.expected +4 -4
  98. data/spec/fixtures/responses/whois.centralnic.com/gb.net/status_registered.expected +19 -19
  99. data/spec/fixtures/responses/whois.centralnic.com/gr.com/status_available.expected +4 -4
  100. data/spec/fixtures/responses/whois.centralnic.com/gr.com/status_registered.expected +20 -20
  101. data/spec/fixtures/responses/whois.centralnic.com/hu.com/status_available.expected +4 -4
  102. data/spec/fixtures/responses/whois.centralnic.com/hu.com/status_registered.expected +17 -17
  103. data/spec/fixtures/responses/whois.centralnic.com/jpn.com/status_available.expected +4 -4
  104. data/spec/fixtures/responses/whois.centralnic.com/jpn.com/status_registered.expected +17 -17
  105. data/spec/fixtures/responses/whois.centralnic.com/kr.com/status_available.expected +4 -4
  106. data/spec/fixtures/responses/whois.centralnic.com/kr.com/status_registered.expected +20 -20
  107. data/spec/fixtures/responses/whois.centralnic.com/no.com/status_available.expected +4 -4
  108. data/spec/fixtures/responses/whois.centralnic.com/no.com/status_registered.expected +17 -17
  109. data/spec/fixtures/responses/whois.centralnic.com/qc.com/status_available.expected +4 -4
  110. data/spec/fixtures/responses/whois.centralnic.com/qc.com/status_registered.expected +19 -19
  111. data/spec/fixtures/responses/whois.centralnic.com/ru.com/status_available.expected +4 -4
  112. data/spec/fixtures/responses/whois.centralnic.com/ru.com/status_registered.expected +16 -16
  113. data/spec/fixtures/responses/whois.centralnic.com/sa.com/status_available.expected +4 -4
  114. data/spec/fixtures/responses/whois.centralnic.com/sa.com/status_registered.expected +17 -17
  115. data/spec/fixtures/responses/whois.centralnic.com/se.com/status_available.expected +4 -4
  116. data/spec/fixtures/responses/whois.centralnic.com/se.com/status_registered.expected +19 -19
  117. data/spec/fixtures/responses/whois.centralnic.com/se.net/status_available.expected +4 -4
  118. data/spec/fixtures/responses/whois.centralnic.com/se.net/status_registered.expected +17 -17
  119. data/spec/fixtures/responses/whois.centralnic.com/uk.com/status_available.expected +4 -4
  120. data/spec/fixtures/responses/whois.centralnic.com/uk.com/status_registered.expected +17 -17
  121. data/spec/fixtures/responses/whois.centralnic.com/uk.net/status_available.expected +4 -4
  122. data/spec/fixtures/responses/whois.centralnic.com/uk.net/status_registered.expected +17 -17
  123. data/spec/fixtures/responses/whois.centralnic.com/us.com/status_available.expected +4 -4
  124. data/spec/fixtures/responses/whois.centralnic.com/us.com/status_registered.expected +18 -18
  125. data/spec/fixtures/responses/whois.centralnic.com/us.org/status_available.expected +4 -4
  126. data/spec/fixtures/responses/whois.centralnic.com/uy.com/status_available.expected +4 -4
  127. data/spec/fixtures/responses/whois.centralnic.com/uy.com/status_registered.expected +17 -17
  128. data/spec/fixtures/responses/whois.centralnic.com/za.com/status_available.expected +4 -4
  129. data/spec/fixtures/responses/whois.centralnic.com/za.com/status_registered.expected +17 -17
  130. data/spec/fixtures/responses/whois.cira.ca/schema-1/status_available.expected +1 -1
  131. data/spec/fixtures/responses/whois.cira.ca/schema-1/status_registered.expected +10 -10
  132. data/spec/fixtures/responses/whois.cira.ca/schema-2/status_available.expected +1 -1
  133. data/spec/fixtures/responses/whois.cira.ca/schema-2/status_registered.expected +9 -9
  134. data/spec/fixtures/responses/whois.cnnic.cn/status_available.expected +3 -3
  135. data/spec/fixtures/responses/whois.cnnic.cn/status_registered.expected +16 -16
  136. data/spec/fixtures/responses/whois.co.ca/status_available.expected +1 -1
  137. data/spec/fixtures/responses/whois.co.ca/status_registered.expected +6 -6
  138. data/spec/fixtures/responses/whois.co.pl/status_available.expected +1 -1
  139. data/spec/fixtures/responses/whois.co.pl/status_registered.expected +5 -5
  140. data/spec/fixtures/responses/whois.co.ug/status_available.expected +1 -1
  141. data/spec/fixtures/responses/whois.co.ug/status_registered.expected +8 -8
  142. data/spec/fixtures/responses/whois.crsnic.net/property_nameserver_no_nameserver.expected +1 -1
  143. data/spec/fixtures/responses/whois.crsnic.net/property_registrar_with_multiple_entries.expected +1 -1
  144. data/spec/fixtures/responses/whois.crsnic.net/status_available.expected +1 -1
  145. data/spec/fixtures/responses/whois.crsnic.net/status_registered.expected +10 -10
  146. data/spec/fixtures/responses/whois.denic.de/schema-1.10.0/status_available.expected +4 -4
  147. data/spec/fixtures/responses/whois.denic.de/schema-1.10.0/status_registered.expected +17 -17
  148. data/spec/fixtures/responses/whois.denic.de/schema-1.11.0/property_nameservers_with_ip.expected +5 -5
  149. data/spec/fixtures/responses/whois.denic.de/schema-1.11.0/status_available.expected +4 -4
  150. data/spec/fixtures/responses/whois.denic.de/schema-1.11.0/status_invalid.expected +4 -4
  151. data/spec/fixtures/responses/whois.denic.de/schema-1.11.0/status_registered.expected +13 -13
  152. data/spec/fixtures/responses/whois.denic.de/schema-2.0/property_nameservers_with_ip.expected +5 -5
  153. data/spec/fixtures/responses/whois.denic.de/schema-2.0/status_available.expected +4 -4
  154. data/spec/fixtures/responses/whois.denic.de/schema-2.0/status_invalid.expected +4 -4
  155. data/spec/fixtures/responses/whois.denic.de/schema-2.0/status_registered.expected +13 -13
  156. data/spec/fixtures/responses/whois.dk-hostmaster.dk/status_available.expected +1 -1
  157. data/spec/fixtures/responses/whois.dk-hostmaster.dk/status_registered.expected +6 -6
  158. data/spec/fixtures/responses/whois.dns.be/property_nameservers_with_ip.expected +5 -5
  159. data/spec/fixtures/responses/whois.dns.be/status_available.expected +1 -1
  160. data/spec/fixtures/responses/whois.dns.be/status_registered.expected +7 -7
  161. data/spec/fixtures/responses/whois.dns.hr/status_available.expected +54 -0
  162. data/spec/fixtures/responses/whois.dns.hr/status_available.txt +1 -0
  163. data/spec/fixtures/responses/whois.dns.hr/status_registered.expected +67 -0
  164. data/spec/fixtures/responses/whois.dns.hr/status_registered.txt +7 -0
  165. data/spec/fixtures/responses/whois.dns.lu/property_nameservers_with_ip.expected +5 -5
  166. data/spec/fixtures/responses/whois.dns.lu/status_available.expected +1 -1
  167. data/spec/fixtures/responses/whois.dns.lu/status_registered.expected +7 -7
  168. data/spec/fixtures/responses/whois.dns.pl/property_nameservers_with_ip.expected +4 -4
  169. data/spec/fixtures/responses/whois.dns.pl/status_available.expected +1 -1
  170. data/spec/fixtures/responses/whois.dns.pl/status_registered.expected +6 -6
  171. data/spec/fixtures/responses/whois.dns.pt/property_nameservers.expected +6 -6
  172. data/spec/fixtures/responses/whois.dns.pt/property_nameservers_without_host.expected +6 -6
  173. data/spec/fixtures/responses/whois.dns.pt/status_available.expected +1 -1
  174. data/spec/fixtures/responses/whois.dns.pt/status_inactive.expected +4 -4
  175. data/spec/fixtures/responses/whois.dns.pt/status_registered.expected +8 -8
  176. data/spec/fixtures/responses/whois.dns.pt/status_reserved.expected +2 -2
  177. data/spec/fixtures/responses/whois.domain-registry.nl/property_nameservers_with_ip.expected +4 -4
  178. data/spec/fixtures/responses/whois.domain-registry.nl/status_available.expected +1 -1
  179. data/spec/fixtures/responses/whois.domain-registry.nl/status_redemption.expected +1 -1
  180. data/spec/fixtures/responses/whois.domain-registry.nl/status_registered.expected +8 -8
  181. data/spec/fixtures/responses/whois.domain.kg/status_available.expected +1 -1
  182. data/spec/fixtures/responses/whois.domain.kg/status_registered.expected +7 -7
  183. data/spec/fixtures/responses/whois.domainregistry.ie/property_nameservers_with_ip.expected +8 -8
  184. data/spec/fixtures/responses/whois.domainregistry.ie/status_available.expected +1 -1
  185. data/spec/fixtures/responses/whois.domainregistry.ie/status_registered.expected +6 -6
  186. data/spec/fixtures/responses/whois.domainregistry.my/status_available.expected +1 -1
  187. data/spec/fixtures/responses/whois.domainregistry.my/status_registered.expected +7 -7
  188. data/spec/fixtures/responses/whois.domreg.lt/property_nameservers_with_ip.expected +6 -6
  189. data/spec/fixtures/responses/whois.domreg.lt/status_available.expected +1 -1
  190. data/spec/fixtures/responses/whois.domreg.lt/status_registered.expected +6 -6
  191. data/spec/fixtures/responses/whois.dot.tk/status_available.expected +1 -1
  192. data/spec/fixtures/responses/whois.dot.tk/status_registered.expected +8 -8
  193. data/spec/fixtures/responses/whois.dotmobiregistry.net/status_available.expected +4 -4
  194. data/spec/fixtures/responses/whois.dotmobiregistry.net/status_registered.expected +19 -19
  195. data/spec/fixtures/responses/whois.dreamhost.com/property_contact_private.expected +47 -0
  196. data/spec/fixtures/responses/whois.dreamhost.com/property_contact_private.txt +75 -0
  197. data/spec/fixtures/responses/whois.dreamhost.com/status_registered.expected +87 -0
  198. data/spec/fixtures/responses/whois.dreamhost.com/status_registered.txt +79 -0
  199. data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_address.expected +3 -3
  200. data/spec/fixtures/responses/whois.educause.edu/property_registrant_without_zip.expected +3 -3
  201. data/spec/fixtures/responses/whois.educause.edu/status_available.expected +1 -1
  202. data/spec/fixtures/responses/whois.educause.edu/status_registered.expected +11 -11
  203. data/spec/fixtures/responses/whois.eenet.ee/status_available.expected +1 -1
  204. data/spec/fixtures/responses/whois.eenet.ee/status_registered.expected +6 -6
  205. data/spec/fixtures/responses/whois.eu/property_nameservers.expected +7 -7
  206. data/spec/fixtures/responses/whois.eu/status_available.expected +1 -1
  207. data/spec/fixtures/responses/whois.eu/status_registered.expected +6 -6
  208. data/spec/fixtures/responses/{whois.net.ua → whois.fi}/status_available.expected +3 -3
  209. data/spec/fixtures/responses/{whois.ficora.fi → whois.fi}/status_available.txt +0 -0
  210. data/spec/fixtures/responses/{whois.ficora.fi → whois.fi}/status_registered.expected +8 -8
  211. data/spec/fixtures/responses/{whois.ficora.fi → whois.fi}/status_registered.txt +0 -0
  212. data/spec/fixtures/responses/whois.gg/status_available.expected +1 -1
  213. data/spec/fixtures/responses/whois.gg/status_registered.expected +8 -8
  214. data/spec/fixtures/responses/whois.godaddy.com/status_registered.expected +22 -22
  215. data/spec/fixtures/responses/whois.godaddy.com/status_registered.txt +11 -11
  216. data/spec/fixtures/responses/whois.gov.za/status_registered.expected +1 -1
  217. data/spec/fixtures/responses/whois.hkirc.hk/status_available.expected +1 -1
  218. data/spec/fixtures/responses/whois.hkirc.hk/status_registered.expected +6 -6
  219. data/spec/fixtures/responses/whois.iam.net.ma/status_registered.expected +2 -2
  220. data/spec/fixtures/responses/whois.iana.org/int/status_available.expected +4 -4
  221. data/spec/fixtures/responses/whois.iana.org/int/status_registered.expected +17 -17
  222. data/spec/fixtures/responses/whois.iana.org/tld/status_not_assigned.expected +5 -5
  223. data/spec/fixtures/responses/whois.in.ua/status_available.expected +1 -1
  224. data/spec/fixtures/responses/whois.in.ua/status_registered.expected +7 -7
  225. data/spec/fixtures/responses/whois.isnic.is/status_available.expected +1 -1
  226. data/spec/fixtures/responses/whois.isnic.is/status_registered.expected +6 -6
  227. data/spec/fixtures/responses/whois.isoc.org.il/status_available.expected +1 -1
  228. data/spec/fixtures/responses/whois.isoc.org.il/status_registered.expected +9 -9
  229. data/spec/fixtures/responses/whois.ja.net/ac.uk/status_available.expected +1 -1
  230. data/spec/fixtures/responses/whois.ja.net/ac.uk/status_registered.expected +9 -9
  231. data/spec/fixtures/responses/whois.ja.net/gov.uk/status_available.expected +1 -1
  232. data/spec/fixtures/responses/whois.ja.net/gov.uk/status_registered.expected +13 -13
  233. data/spec/fixtures/responses/whois.je/status_available.expected +1 -1
  234. data/spec/fixtures/responses/whois.je/status_registered.expected +8 -8
  235. data/spec/fixtures/responses/whois.jprs.jp/jp/property_updates_on_error_out-of-range.expected +1 -1
  236. data/spec/fixtures/responses/whois.jprs.jp/jp/status_available.expected +1 -1
  237. data/spec/fixtures/responses/whois.jprs.jp/jp/status_registered.expected +9 -9
  238. data/spec/fixtures/responses/whois.jprs.jp/jp/status_reserved.expected +2 -2
  239. data/spec/fixtures/responses/whois.jprs.jp/ne.jp/status_available.expected +1 -1
  240. data/spec/fixtures/responses/whois.jprs.jp/ne.jp/status_registered.expected +8 -8
  241. data/spec/fixtures/responses/whois.kenic.or.ke/status_available.expected +1 -1
  242. data/spec/fixtures/responses/whois.kenic.or.ke/status_registered.expected +9 -9
  243. data/spec/fixtures/responses/whois.kr/property_nameservers_with_ip.expected +4 -4
  244. data/spec/fixtures/responses/whois.kr/status_available.expected +1 -1
  245. data/spec/fixtures/responses/whois.kr/status_registered.expected +7 -7
  246. data/spec/fixtures/responses/whois.markmonitor.com/property_contacts_are_blank.expected +7 -7
  247. data/spec/fixtures/responses/whois.markmonitor.com/status_registered.expected +19 -19
  248. data/spec/fixtures/responses/whois.meregistry.net/property_nameservers_is_blank.expected +1 -1
  249. data/spec/fixtures/responses/whois.meregistry.net/status_available.expected +4 -4
  250. data/spec/fixtures/responses/whois.meregistry.net/status_registered.expected +19 -19
  251. data/spec/fixtures/responses/whois.museum/status_available.expected +1 -1
  252. data/spec/fixtures/responses/whois.museum/status_registered.expected +7 -7
  253. data/spec/fixtures/responses/whois.na-nic.com.na/status_available.expected +1 -1
  254. data/spec/fixtures/responses/whois.na-nic.com.na/status_registered.expected +7 -7
  255. data/spec/fixtures/responses/whois.nc/status_available.expected +55 -0
  256. data/spec/fixtures/responses/whois.nc/status_available.txt +6 -0
  257. data/spec/fixtures/responses/whois.nc/status_registered.expected +76 -0
  258. data/spec/fixtures/responses/whois.nc/status_registered.txt +24 -0
  259. data/spec/fixtures/responses/whois.netcom.cm/status_available.expected +1 -1
  260. data/spec/fixtures/responses/whois.netcom.cm/status_registered.expected +9 -9
  261. data/spec/fixtures/responses/whois.nic-se.se/property_datetime_is_dash.expected +2 -2
  262. data/spec/fixtures/responses/whois.nic-se.se/property_nameservers_with_ip.expected +6 -6
  263. data/spec/fixtures/responses/whois.nic-se.se/status_available.expected +1 -1
  264. data/spec/fixtures/responses/whois.nic-se.se/status_registered.expected +9 -9
  265. data/spec/fixtures/responses/whois.nic.af/status_available.expected +1 -1
  266. data/spec/fixtures/responses/whois.nic.af/status_registered.expected +7 -7
  267. data/spec/fixtures/responses/whois.nic.ag/status_available.expected +4 -4
  268. data/spec/fixtures/responses/whois.nic.ag/status_registered.expected +19 -19
  269. data/spec/fixtures/responses/whois.nic.am/status_available.expected +1 -1
  270. data/spec/fixtures/responses/whois.nic.am/status_registered.expected +9 -9
  271. data/spec/fixtures/responses/whois.nic.as/status_available.expected +1 -1
  272. data/spec/fixtures/responses/whois.nic.as/status_registered.expected +6 -6
  273. data/spec/fixtures/responses/whois.nic.asia/status_available.expected +4 -4
  274. data/spec/fixtures/responses/whois.nic.asia/status_registered.expected +17 -17
  275. data/spec/fixtures/responses/whois.nic.at/status_available.expected +1 -1
  276. data/spec/fixtures/responses/whois.nic.at/status_registered.expected +7 -7
  277. data/spec/fixtures/responses/whois.nic.bo/status_registered.expected +2 -2
  278. data/spec/fixtures/responses/whois.nic.cc/property_nameserver_no_nameserver.expected +1 -1
  279. data/spec/fixtures/responses/whois.nic.cc/status_available.expected +1 -1
  280. data/spec/fixtures/responses/whois.nic.cc/status_registered.expected +9 -9
  281. data/spec/fixtures/responses/whois.nic.cd/status_available.expected +1 -1
  282. data/spec/fixtures/responses/whois.nic.cd/status_registered.expected +8 -8
  283. data/spec/fixtures/responses/whois.nic.ch/property_nameservers_with_ip.expected +4 -4
  284. data/spec/fixtures/responses/whois.nic.ch/status_available.expected +1 -1
  285. data/spec/fixtures/responses/whois.nic.ch/status_registered.expected +6 -6
  286. data/spec/fixtures/responses/whois.nic.ci/status_available.expected +1 -1
  287. data/spec/fixtures/responses/whois.nic.ci/status_registered.expected +8 -8
  288. data/spec/fixtures/responses/whois.nic.ck/status_available.expected +1 -1
  289. data/spec/fixtures/responses/whois.nic.ck/status_registered.expected +6 -6
  290. data/spec/fixtures/responses/whois.nic.cl/status_available.expected +1 -1
  291. data/spec/fixtures/responses/whois.nic.cl/status_registered.expected +6 -6
  292. data/spec/fixtures/responses/whois.nic.co/status_available.expected +1 -1
  293. data/spec/fixtures/responses/whois.nic.co/status_registered.expected +9 -9
  294. data/spec/fixtures/responses/whois.nic.coop/status_available.expected +1 -1
  295. data/spec/fixtures/responses/whois.nic.coop/status_registered.expected +7 -7
  296. data/spec/fixtures/responses/whois.nic.cx/status_available.expected +1 -1
  297. data/spec/fixtures/responses/whois.nic.cx/status_registered.expected +9 -9
  298. data/spec/fixtures/responses/whois.nic.cz/property_nameservers_with_ip.expected +5 -5
  299. data/spec/fixtures/responses/whois.nic.cz/status_available.expected +1 -1
  300. data/spec/fixtures/responses/whois.nic.cz/status_registered.expected +9 -9
  301. data/spec/fixtures/responses/whois.nic.ec/status_available.expected +1 -1
  302. data/spec/fixtures/responses/whois.nic.ec/status_registered.expected +9 -9
  303. data/spec/fixtures/responses/whois.nic.fr/fr/property_contact_without_address.expected +2 -2
  304. data/spec/fixtures/responses/whois.nic.fr/fr/property_nameservers.expected +6 -6
  305. data/spec/fixtures/responses/whois.nic.fr/fr/property_nameservers_multiple_ipv4.expected +4 -4
  306. data/spec/fixtures/responses/whois.nic.fr/fr/property_nameservers_with_ipv4_and_some_ipv6.expected +8 -8
  307. data/spec/fixtures/responses/whois.nic.fr/fr/status_available.expected +4 -4
  308. data/spec/fixtures/responses/whois.nic.fr/fr/status_registered.expected +17 -17
  309. data/spec/fixtures/responses/whois.nic.fr/pm/property_nameservers_with_ipv4_and_ipv6.expected +5 -5
  310. data/spec/fixtures/responses/whois.nic.fr/pm/status_available.expected +4 -4
  311. data/spec/fixtures/responses/whois.nic.fr/pm/status_registered.expected +13 -13
  312. data/spec/fixtures/responses/whois.nic.fr/re/property_nameservers_with_ipv4_and_ipv6.expected +5 -5
  313. data/spec/fixtures/responses/whois.nic.fr/re/status_available.expected +4 -4
  314. data/spec/fixtures/responses/whois.nic.fr/re/status_registered.expected +13 -13
  315. data/spec/fixtures/responses/whois.nic.fr/tf/status_available.expected +4 -4
  316. data/spec/fixtures/responses/whois.nic.fr/tf/status_registered.expected +16 -16
  317. data/spec/fixtures/responses/whois.nic.fr/wf/status_available.expected +4 -4
  318. data/spec/fixtures/responses/whois.nic.fr/wf/status_registered.expected +16 -16
  319. data/spec/fixtures/responses/whois.nic.fr/yt/status_available.expected +4 -4
  320. data/spec/fixtures/responses/whois.nic.fr/yt/status_registered.expected +16 -16
  321. data/spec/fixtures/responses/whois.nic.gl/property_status_active.expected +8 -0
  322. data/spec/fixtures/responses/whois.nic.gl/property_status_active.txt +47 -0
  323. data/spec/fixtures/responses/whois.nic.gl/property_status_delegated.expected +8 -0
  324. data/spec/fixtures/responses/whois.nic.gl/property_status_delegated.txt +48 -0
  325. data/spec/fixtures/responses/whois.nic.gl/status_available.expected +1 -1
  326. data/spec/fixtures/responses/whois.nic.gl/status_registered.expected +9 -9
  327. data/spec/fixtures/responses/whois.nic.gl/status_registered.txt +9 -5
  328. data/spec/fixtures/responses/whois.nic.gs/status_available.expected +1 -1
  329. data/spec/fixtures/responses/whois.nic.gs/status_registered.expected +7 -7
  330. data/spec/fixtures/responses/whois.nic.ht/status_available.expected +1 -1
  331. data/spec/fixtures/responses/whois.nic.ht/status_registered.expected +9 -9
  332. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_company.expected +3 -3
  333. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_company.txt +2 -2
  334. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_private_person.expected +2 -2
  335. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_private_person.txt +1 -1
  336. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_without_address.expected +3 -3
  337. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/property_contact_without_address.txt +1 -1
  338. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/status_available.expected +4 -4
  339. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/status_in_progress.expected +3 -3
  340. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/status_registered.expected +23 -23
  341. data/spec/fixtures/responses/whois.nic.hu/schema-1.99/status_registered.txt +2 -2
  342. data/spec/fixtures/responses/whois.nic.hu/schema-current/status_available.expected +4 -4
  343. data/spec/fixtures/responses/whois.nic.hu/schema-current/status_registered.expected +4 -4
  344. data/spec/fixtures/responses/whois.nic.im/status_available.expected +1 -1
  345. data/spec/fixtures/responses/whois.nic.im/status_registered.expected +7 -7
  346. data/spec/fixtures/responses/whois.nic.ir/status_available.expected +1 -1
  347. data/spec/fixtures/responses/whois.nic.ir/status_registered.expected +7 -7
  348. data/spec/fixtures/responses/whois.nic.it/property_contact_province.expected +3 -3
  349. data/spec/fixtures/responses/whois.nic.it/property_contact_with_company_in_address.expected +3 -3
  350. data/spec/fixtures/responses/whois.nic.it/property_contact_with_organization.expected +3 -3
  351. data/spec/fixtures/responses/whois.nic.it/property_status_pending-delete.expected +8 -0
  352. data/spec/fixtures/responses/whois.nic.it/property_status_pending-delete.txt +54 -0
  353. data/spec/fixtures/responses/whois.nic.it/property_status_pendingupdate_autorenewperiod.expected +8 -0
  354. data/spec/fixtures/responses/whois.nic.it/property_status_pendingupdate_autorenewperiod.txt +62 -0
  355. data/spec/fixtures/responses/whois.nic.it/property_technical_contact.expected +3 -3
  356. data/spec/fixtures/responses/whois.nic.it/status_available.expected +4 -4
  357. data/spec/fixtures/responses/whois.nic.it/status_registered.expected +19 -19
  358. data/spec/fixtures/responses/whois.nic.ki/status_available.expected +1 -1
  359. data/spec/fixtures/responses/whois.nic.ki/status_registered.expected +9 -9
  360. data/spec/fixtures/responses/whois.nic.kz/status_available.expected +1 -1
  361. data/spec/fixtures/responses/whois.nic.kz/status_registered.expected +6 -6
  362. data/spec/fixtures/responses/whois.nic.la/status_available.expected +4 -4
  363. data/spec/fixtures/responses/whois.nic.la/status_registered.expected +19 -19
  364. data/spec/fixtures/responses/whois.nic.li/status_available.expected +1 -1
  365. data/spec/fixtures/responses/whois.nic.li/status_registered.expected +6 -6
  366. data/spec/fixtures/responses/whois.nic.lk/lk/status_available.expected +55 -0
  367. data/spec/fixtures/responses/whois.nic.lk/lk/status_available.txt +1 -0
  368. data/spec/fixtures/responses/whois.nic.lk/lk/status_registered.expected +70 -0
  369. data/spec/fixtures/responses/whois.nic.lk/lk/status_registered.txt +24 -0
  370. data/spec/fixtures/responses/whois.nic.lk/xn--fzc2c9e2c/status_available.txt +0 -0
  371. data/spec/fixtures/responses/whois.nic.lk/xn--fzc2c9e2c/status_registered.txt +18 -0
  372. data/spec/fixtures/responses/whois.nic.lk/xn--xkc2al3hye2a/status_available.txt +0 -0
  373. data/spec/fixtures/responses/whois.nic.lk/xn--xkc2al3hye2a/status_registered.txt +18 -0
  374. data/spec/fixtures/responses/whois.nic.lv/status_available.expected +1 -1
  375. data/spec/fixtures/responses/whois.nic.lv/status_registered.expected +7 -7
  376. data/spec/fixtures/responses/whois.nic.ly/status_available.expected +1 -1
  377. data/spec/fixtures/responses/whois.nic.ly/status_registered.expected +9 -9
  378. data/spec/fixtures/responses/whois.nic.md/status_available.expected +2 -2
  379. data/spec/fixtures/responses/whois.nic.md/status_registered.expected +9 -9
  380. data/spec/fixtures/responses/whois.nic.mg/property_status_active.expected +8 -0
  381. data/spec/fixtures/responses/whois.nic.mg/property_status_active.txt +65 -0
  382. data/spec/fixtures/responses/whois.nic.mg/property_status_delegated.expected +8 -0
  383. data/spec/fixtures/responses/whois.nic.mg/property_status_delegated.txt +78 -0
  384. data/spec/fixtures/responses/whois.nic.mg/status_available.expected +1 -1
  385. data/spec/fixtures/responses/whois.nic.mg/status_registered.expected +9 -9
  386. data/spec/fixtures/responses/whois.nic.ms/status_available.expected +1 -1
  387. data/spec/fixtures/responses/whois.nic.ms/status_registered.expected +7 -7
  388. data/spec/fixtures/responses/whois.nic.mu/status_available.expected +1 -1
  389. data/spec/fixtures/responses/whois.nic.mu/status_registered.expected +9 -9
  390. data/spec/fixtures/responses/whois.nic.mx/property_nameservers_with_ip.expected +4 -4
  391. data/spec/fixtures/responses/whois.nic.mx/status_available.expected +1 -1
  392. data/spec/fixtures/responses/whois.nic.mx/status_registered.expected +8 -8
  393. data/spec/fixtures/responses/whois.nic.net.nf/status_available.expected +1 -1
  394. data/spec/fixtures/responses/whois.nic.net.nf/status_registered.expected +9 -9
  395. data/spec/fixtures/responses/whois.nic.net.ng/status_available.expected +1 -1
  396. data/spec/fixtures/responses/whois.nic.net.ng/status_registered.expected +9 -9
  397. data/spec/fixtures/responses/whois.nic.net.sa/status_available.expected +1 -1
  398. data/spec/fixtures/responses/whois.nic.net.sa/status_registered.expected +5 -5
  399. data/spec/fixtures/responses/whois.nic.net.sb/status_available.expected +1 -1
  400. data/spec/fixtures/responses/whois.nic.net.sb/status_registered.expected +7 -7
  401. data/spec/fixtures/responses/whois.nic.nu/status_available.expected +1 -1
  402. data/spec/fixtures/responses/whois.nic.nu/status_registered.expected +9 -9
  403. data/spec/fixtures/responses/whois.nic.org.uy/status_available.expected +1 -1
  404. data/spec/fixtures/responses/whois.nic.org.uy/status_registered.expected +6 -6
  405. data/spec/fixtures/responses/whois.nic.pr/status_registered.expected +2 -2
  406. data/spec/fixtures/responses/whois.nic.priv.at/status_registered.expected +1 -1
  407. data/spec/fixtures/responses/whois.nic.sl/status_available.expected +1 -1
  408. data/spec/fixtures/responses/whois.nic.sl/status_registered.expected +8 -8
  409. data/spec/fixtures/responses/whois.nic.sm/status_available.expected +1 -1
  410. data/spec/fixtures/responses/whois.nic.sm/status_registered.expected +8 -8
  411. data/spec/fixtures/responses/whois.nic.sn/status_available.expected +4 -4
  412. data/spec/fixtures/responses/whois.nic.sn/status_registered.expected +17 -17
  413. data/spec/fixtures/responses/whois.nic.so/status_available.expected +1 -1
  414. data/spec/fixtures/responses/whois.nic.so/status_registered.expected +9 -9
  415. data/spec/fixtures/responses/whois.nic.st/status_available.expected +1 -1
  416. data/spec/fixtures/responses/whois.nic.st/status_registered.expected +8 -8
  417. data/spec/fixtures/responses/whois.nic.tel/status_available.expected +1 -1
  418. data/spec/fixtures/responses/whois.nic.tel/status_registered.expected +10 -10
  419. data/spec/fixtures/responses/whois.nic.tl/status_available.expected +1 -1
  420. data/spec/fixtures/responses/whois.nic.tl/status_registered.expected +7 -7
  421. data/spec/fixtures/responses/whois.nic.tr/property_nameservers_with_ip.expected +5 -5
  422. data/spec/fixtures/responses/whois.nic.tr/property_nameservers_with_trailing_space.expected +4 -4
  423. data/spec/fixtures/responses/whois.nic.tr/status_available.expected +1 -1
  424. data/spec/fixtures/responses/whois.nic.tr/status_registered.expected +6 -6
  425. data/spec/fixtures/responses/whois.nic.travel/status_available.expected +1 -1
  426. data/spec/fixtures/responses/whois.nic.travel/status_registered.expected +7 -7
  427. data/spec/fixtures/responses/whois.nic.tv/property_nameserver_no_nameserver.expected +1 -1
  428. data/spec/fixtures/responses/whois.nic.tv/status_available.expected +1 -1
  429. data/spec/fixtures/responses/whois.nic.tv/status_registered.expected +7 -7
  430. data/spec/fixtures/responses/whois.nic.uk/property_nameservers_with_ip.expected +4 -4
  431. data/spec/fixtures/responses/whois.nic.uk/property_registrar_without_trading_name.expected +1 -1
  432. data/spec/fixtures/responses/whois.nic.uk/property_status_no_status_listed.expected +8 -0
  433. data/spec/fixtures/responses/whois.nic.uk/property_status_no_status_listed.txt +48 -0
  434. data/spec/fixtures/responses/whois.nic.uk/status_available.expected +1 -1
  435. data/spec/fixtures/responses/whois.nic.uk/status_registered.expected +13 -13
  436. data/spec/fixtures/responses/whois.nic.uk/status_reserved.expected +71 -0
  437. data/spec/fixtures/responses/whois.nic.uk/status_reserved.txt +48 -0
  438. data/spec/fixtures/responses/whois.nic.uk/status_suspended.expected +5 -5
  439. data/spec/fixtures/responses/whois.nic.us/status_available.expected +1 -1
  440. data/spec/fixtures/responses/whois.nic.us/status_registered.expected +9 -9
  441. data/spec/fixtures/responses/whois.nic.ve/property_nameservers.expected +4 -4
  442. data/spec/fixtures/responses/whois.nic.ve/property_nameservers_missing.expected +1 -1
  443. data/spec/fixtures/responses/whois.nic.ve/property_updated_on.expected +1 -1
  444. data/spec/fixtures/responses/whois.nic.ve/status_available.expected +1 -1
  445. data/spec/fixtures/responses/whois.nic.ve/status_inactive.expected +7 -7
  446. data/spec/fixtures/responses/whois.nic.ve/status_registered.expected +3 -3
  447. data/spec/fixtures/responses/whois.nic.xxx/status_available.expected +4 -4
  448. data/spec/fixtures/responses/whois.nic.xxx/status_registered.expected +16 -16
  449. data/spec/fixtures/responses/whois.norid.no/status_registered.expected +2 -2
  450. data/spec/fixtures/responses/whois.pandi.or.id/status_available.expected +1 -1
  451. data/spec/fixtures/responses/whois.pandi.or.id/status_registered.expected +9 -9
  452. data/spec/fixtures/responses/whois.pnina.ps/property_nameservers_with_nodns.expected +3 -3
  453. data/spec/fixtures/responses/whois.pnina.ps/status_available.expected +1 -1
  454. data/spec/fixtures/responses/whois.pnina.ps/status_registered.expected +7 -7
  455. data/spec/fixtures/responses/whois.publicinterestregistry.net/status_available.expected +4 -4
  456. data/spec/fixtures/responses/whois.publicinterestregistry.net/status_registered.expected +19 -19
  457. data/spec/fixtures/responses/whois.register.bg/property_nameservers_with_ip.expected +4 -4
  458. data/spec/fixtures/responses/whois.register.bg/status_available.expected +1 -1
  459. data/spec/fixtures/responses/whois.register.bg/status_registered.expected +8 -8
  460. data/spec/fixtures/responses/whois.registro.br/property_nameservers_with_ip.expected +6 -6
  461. data/spec/fixtures/responses/whois.registro.br/status_available.expected +1 -1
  462. data/spec/fixtures/responses/whois.registro.br/status_registered.expected +7 -7
  463. data/spec/fixtures/responses/whois.registry.gy/status_available.expected +1 -1
  464. data/spec/fixtures/responses/whois.registry.gy/status_registered.expected +9 -9
  465. data/spec/fixtures/responses/whois.registry.hm/status_available.expected +1 -1
  466. data/spec/fixtures/responses/whois.registry.hm/status_registered.expected +6 -6
  467. data/spec/fixtures/responses/whois.registry.in/status_available.expected +4 -4
  468. data/spec/fixtures/responses/whois.registry.in/status_registered.expected +15 -15
  469. data/spec/fixtures/responses/whois.registry.qa/property_nameservers_without_ips.expected +12 -0
  470. data/spec/fixtures/responses/whois.registry.qa/property_nameservers_without_ips.txt +22 -0
  471. data/spec/fixtures/responses/whois.registry.qa/{qa/status_available.expected → status_available.expected} +3 -3
  472. data/spec/fixtures/responses/whois.registry.qa/{qa/status_available.txt → status_available.txt} +0 -0
  473. data/spec/fixtures/responses/whois.registry.qa/{qa/status_registered.expected → status_registered.expected} +11 -11
  474. data/spec/fixtures/responses/whois.registry.qa/{qa/status_registered.txt → status_registered.txt} +0 -0
  475. data/spec/fixtures/responses/whois.registrypro.pro/status_available.expected +1 -1
  476. data/spec/fixtures/responses/whois.registrypro.pro/status_registered.expected +9 -9
  477. data/spec/fixtures/responses/whois.ripe.net/fo/status_available.expected +1 -1
  478. data/spec/fixtures/responses/whois.ripe.net/fo/status_registered.expected +4 -4
  479. data/spec/fixtures/responses/whois.ripe.net/gm/status_available.expected +1 -1
  480. data/spec/fixtures/responses/whois.ripe.net/gm/status_registered.expected +4 -4
  481. data/spec/fixtures/responses/whois.ripe.net/mc/status_available.expected +1 -1
  482. data/spec/fixtures/responses/whois.ripe.net/mc/status_registered.expected +5 -5
  483. data/spec/fixtures/responses/whois.ripe.net/va/status_available.expected +1 -1
  484. data/spec/fixtures/responses/whois.ripe.net/va/status_registered.expected +7 -7
  485. data/spec/fixtures/responses/whois.rnids.rs/status_available.expected +57 -0
  486. data/spec/fixtures/responses/whois.rnids.rs/status_available.txt +1 -0
  487. data/spec/fixtures/responses/whois.rnids.rs/status_registered.expected +94 -0
  488. data/spec/fixtures/responses/whois.rnids.rs/status_registered.txt +44 -0
  489. data/spec/fixtures/responses/whois.rotld.ro/status_available.expected +1 -1
  490. data/spec/fixtures/responses/whois.rotld.ro/status_registered.expected +6 -6
  491. data/spec/fixtures/responses/whois.samoanic.ws/status_available.expected +1 -1
  492. data/spec/fixtures/responses/whois.samoanic.ws/status_registered.expected +9 -9
  493. data/spec/fixtures/responses/whois.sgnic.sg/property_nameservers_schema_1.expected +6 -6
  494. data/spec/fixtures/responses/whois.sgnic.sg/property_nameservers_schema_1_with_ip.expected +5 -5
  495. data/spec/fixtures/responses/whois.sgnic.sg/property_nameservers_schema_2.expected +6 -6
  496. data/spec/fixtures/responses/whois.sgnic.sg/status_available.expected +1 -1
  497. data/spec/fixtures/responses/whois.sgnic.sg/status_registered.expected +8 -8
  498. data/spec/fixtures/responses/whois.sk-nic.sk/status_available.expected +1 -1
  499. data/spec/fixtures/responses/whois.sk-nic.sk/status_registered.expected +8 -8
  500. data/spec/fixtures/responses/whois.smallregistry.net/status_available.expected +4 -4
  501. data/spec/fixtures/responses/whois.smallregistry.net/status_registered.expected +16 -16
  502. data/spec/fixtures/responses/whois.srs.net.nz/status_available.expected +1 -1
  503. data/spec/fixtures/responses/whois.srs.net.nz/status_invalid.expected +1 -1
  504. data/spec/fixtures/responses/whois.srs.net.nz/status_registered.expected +9 -9
  505. data/spec/fixtures/responses/whois.tcinet.ru/ru/property_nameservers_with_ip.expected +5 -5
  506. data/spec/fixtures/responses/whois.tcinet.ru/ru/status_available.expected +2 -2
  507. data/spec/fixtures/responses/whois.tcinet.ru/ru/status_registered.expected +12 -12
  508. data/spec/fixtures/responses/whois.tcinet.ru/su/status_available.expected +2 -2
  509. data/spec/fixtures/responses/whois.tcinet.ru/su/status_registered.expected +10 -10
  510. data/spec/fixtures/responses/whois.tcinet.ru/xn--p1ai/status_available.expected +2 -2
  511. data/spec/fixtures/responses/whois.tcinet.ru/xn--p1ai/status_registered.expected +11 -11
  512. data/spec/fixtures/responses/whois.thnic.co.th/status_available.expected +1 -1
  513. data/spec/fixtures/responses/whois.thnic.co.th/status_registered.expected +9 -9
  514. data/spec/fixtures/responses/whois.tld.ee/status_available.expected +3 -3
  515. data/spec/fixtures/responses/whois.tld.ee/status_expired.expected +6 -6
  516. data/spec/fixtures/responses/whois.tld.ee/status_registered.expected +14 -14
  517. data/spec/fixtures/responses/whois.twnic.net.tw/status_available.expected +1 -1
  518. data/spec/fixtures/responses/whois.twnic.net.tw/status_registered.expected +8 -8
  519. data/spec/fixtures/responses/whois.tznic.or.tz/status_available.expected +1 -1
  520. data/spec/fixtures/responses/whois.tznic.or.tz/status_registered.expected +7 -7
  521. data/spec/fixtures/responses/whois.ua/property_nameservers_uppercase.expected +9 -0
  522. data/spec/fixtures/responses/{whois.net.ua → whois.ua}/property_nameservers_uppercase.txt +0 -0
  523. data/spec/fixtures/responses/{whois.net.ua → whois.ua}/redirect_to_whois.in.ua.txt +0 -0
  524. data/spec/fixtures/responses/{whois.ficora.fi → whois.ua}/status_available.expected +3 -3
  525. data/spec/fixtures/responses/{whois.net.ua → whois.ua}/status_available.txt +0 -0
  526. data/spec/fixtures/responses/{whois.net.ua → whois.ua}/status_registered.expected +8 -8
  527. data/spec/fixtures/responses/{whois.net.ua → whois.ua}/status_registered.txt +0 -0
  528. data/spec/fixtures/responses/whois.usp.ac.fj/status_available.expected +1 -1
  529. data/spec/fixtures/responses/whois.usp.ac.fj/status_registered.expected +5 -5
  530. data/spec/fixtures/responses/whois.za.net/status_available.expected +1 -1
  531. data/spec/fixtures/responses/whois.za.net/status_registered.expected +6 -6
  532. data/spec/fixtures/responses/whois.za.org/status_available.expected +1 -1
  533. data/spec/fixtures/responses/whois.za.org/status_registered.expected +7 -7
  534. data/spec/spec_helper.rb +1 -1
  535. data/spec/support/helpers/connectivity_helper.rb +2 -2
  536. data/spec/support/helpers/spec_helper.rb +20 -25
  537. data/spec/tlds +22 -18
  538. data/spec/whois/client_spec.rb +16 -9
  539. data/spec/whois/record/parser/base_spec.rb +8 -8
  540. data/spec/whois/record/parser/responses/whois.dns.hr/status_available_spec.rb +105 -0
  541. data/spec/whois/record/parser/responses/whois.dns.hr/status_registered_spec.rb +118 -0
  542. data/spec/whois/record/parser/responses/whois.dreamhost.com/property_contact_private_spec.rb +78 -0
  543. data/spec/whois/record/parser/responses/whois.dreamhost.com/status_registered_spec.rb +131 -0
  544. data/spec/whois/record/parser/responses/whois.fi/status_available_spec.rb +60 -0
  545. data/spec/whois/record/parser/responses/whois.fi/status_registered_spec.rb +70 -0
  546. data/spec/whois/record/parser/responses/whois.godaddy.com/status_registered_spec.rb +7 -7
  547. data/spec/whois/record/parser/responses/whois.nc/status_available_spec.rb +106 -0
  548. data/spec/whois/record/parser/responses/whois.nc/status_registered_spec.rb +127 -0
  549. data/spec/whois/record/parser/responses/whois.nic.gl/property_status_active_spec.rb +39 -0
  550. data/spec/whois/record/parser/responses/whois.nic.gl/property_status_delegated_spec.rb +39 -0
  551. data/spec/whois/record/parser/responses/whois.nic.gl/status_registered_spec.rb +2 -2
  552. data/spec/whois/record/parser/responses/whois.nic.hu/schema-1.99/status_registered_spec.rb +3 -3
  553. data/spec/whois/record/parser/responses/whois.nic.it/property_status_pending-delete_spec.rb +39 -0
  554. data/spec/whois/record/parser/responses/whois.nic.it/property_status_pendingupdate_autorenewperiod_spec.rb +39 -0
  555. data/spec/whois/record/parser/responses/whois.nic.lk/lk/status_available_spec.rb +106 -0
  556. data/spec/whois/record/parser/responses/whois.nic.lk/lk/status_registered_spec.rb +121 -0
  557. data/spec/whois/record/parser/responses/whois.nic.mg/property_status_active_spec.rb +39 -0
  558. data/spec/whois/record/parser/responses/whois.nic.mg/property_status_delegated_spec.rb +39 -0
  559. data/spec/whois/record/parser/responses/whois.nic.uk/property_status_no_status_listed_spec.rb +39 -0
  560. data/spec/whois/record/parser/responses/whois.nic.uk/status_reserved_spec.rb +114 -0
  561. data/spec/whois/record/parser/responses/whois.registry.qa/property_nameservers_without_ips_spec.rb +39 -0
  562. data/spec/whois/record/parser/responses/whois.registry.qa/{qa/status_available_spec.rb → status_available_spec.rb} +2 -2
  563. data/spec/whois/record/parser/responses/whois.registry.qa/{qa/status_registered_spec.rb → status_registered_spec.rb} +2 -2
  564. data/spec/whois/record/parser/responses/whois.rnids.rs/status_available_spec.rb +108 -0
  565. data/spec/whois/record/parser/responses/whois.rnids.rs/status_registered_spec.rb +145 -0
  566. data/spec/whois/record/parser/responses/whois.ua/property_nameservers_uppercase_spec.rb +36 -0
  567. data/spec/whois/record/parser/responses/whois.ua/status_available_spec.rb +60 -0
  568. data/spec/whois/record/parser/responses/whois.ua/status_registered_spec.rb +70 -0
  569. data/spec/whois/record/parser_spec.rb +46 -25
  570. data/spec/whois/record_spec.rb +11 -3
  571. data/whois.gemspec +4 -4
  572. metadata +111 -35
  573. data/spec/fixtures/responses/whois.net.ua/property_nameservers_uppercase.expected +0 -9
@@ -7,69 +7,17 @@
7
7
  #++
8
8
 
9
9
 
10
- require 'whois/record/parser/base'
10
+ require 'whois/record/parser/whois.fi'
11
11
 
12
12
 
13
13
  module Whois
14
14
  class Record
15
15
  class Parser
16
16
 
17
- #
18
- # = whois.ficora.fi parser
19
- #
20
17
  # Parser for the whois.ficora.fi server.
21
18
  #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisFicoraFi < Base
29
-
30
- property_supported :status do
31
- if content_for_scanner =~ /status:\s+(.+?)\n/
32
- case $1.downcase
33
- when "granted" then :registered
34
- else
35
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
36
- end
37
- else
38
- :available
39
- end
40
- end
41
-
42
- property_supported :available? do
43
- (status == :available)
44
- end
45
-
46
- property_supported :registered? do
47
- !available?
48
- end
49
-
50
-
51
- property_supported :created_on do
52
- if content_for_scanner =~ /created:\s+(.*)\n/
53
- Time.parse($1)
54
- end
55
- end
56
-
57
- property_not_supported :updated_on
58
-
59
- property_supported :expires_on do
60
- if content_for_scanner =~ /expires:\s+(.*)\n/
61
- Time.parse($1)
62
- end
63
- end
64
-
65
-
66
- property_supported :nameservers do
67
- content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |line|
68
- Record::Nameserver.new(line.split(" ").first)
69
- end
70
- end
71
-
72
- end
19
+ # It aliases the whois.fi parser.
20
+ WhoisFicoraFi = WhoisFi
73
21
 
74
22
  end
75
23
  end
@@ -30,7 +30,7 @@ module Whois
30
30
 
31
31
  property_not_supported :status
32
32
 
33
- # The server seems to provide only linesrmation for registered domains
33
+ # The server is contacted only in case of a registered domain.
34
34
  property_supported :available? do
35
35
  false
36
36
  end
@@ -61,8 +61,8 @@ module Whois
61
61
 
62
62
  property_supported :registrar do
63
63
  Record::Registrar.new(
64
- :name => content_for_scanner[/Registered through: (.+) \(/, 1],
65
- :url => content_for_scanner[/Registered through: .*\((.+)\)\n/, 1]
64
+ :name => content_for_scanner[/Registered through: (.+)\n/, 1],
65
+ :url => "http://www.godaddy.com/"
66
66
  )
67
67
  end
68
68
 
@@ -14,22 +14,19 @@ module Whois
14
14
  class Record
15
15
  class Parser
16
16
 
17
- #
18
- # = whois.markmonitor.com parser
19
- #
20
17
  # Parser for the whois.markmonitor.com server.
21
18
  #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
19
+ # @note This parser is just a stub and provides only a few basic methods
20
+ # to check for domain availability and get domain status.
21
+ # Please consider to contribute implementing missing methods.
27
22
  #
23
+ # @see Whois::Record::Parser::Example
24
+ # The Example parser for the list of all available methods.
28
25
  class WhoisMarkmonitorCom < Base
29
26
 
30
27
  property_not_supported :status
31
28
 
32
- # The server seems to provide only linesrmation for registered domains
29
+ # The server is contacted only in case of a registered domain.
33
30
  property_supported :available? do
34
31
  false
35
32
  end
@@ -0,0 +1,135 @@
1
+ #--
2
+ # Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
+ #++
8
+
9
+
10
+ require 'whois/record/parser/base'
11
+ require 'whois/record/parser/scanners/whois.nc.rb'
12
+
13
+
14
+ module Whois
15
+ class Record
16
+ class Parser
17
+
18
+ # Parser for the whois.nc server.
19
+ #
20
+ # @see Whois::Record::Parser::Example
21
+ # The Example parser for the list of all available methods.
22
+ #
23
+ # @since RELEASE
24
+ class WhoisNc < Base
25
+ include Scanners::Ast
26
+
27
+ property_not_supported :disclaimer
28
+
29
+
30
+ property_supported :domain do
31
+ node("Domain")
32
+ end
33
+
34
+ property_not_supported :domain_id
35
+
36
+
37
+ property_not_supported :referral_whois
38
+
39
+ property_not_supported :referral_url
40
+
41
+
42
+ property_supported :status do
43
+ if available?
44
+ :available
45
+ else
46
+ :registered
47
+ end
48
+ end
49
+
50
+ property_supported :available? do
51
+ !!node("status:available")
52
+ end
53
+
54
+ property_supported :registered? do
55
+ !available?
56
+ end
57
+
58
+
59
+ property_supported :created_on do
60
+ node("Created on") { |value| Time.parse(value) }
61
+ end
62
+
63
+ property_supported :updated_on do
64
+ node("Last updated on") { |value| Time.parse(value) }
65
+ end
66
+
67
+ property_supported :expires_on do
68
+ node("Expires on") { |value| Time.parse(value) }
69
+ end
70
+
71
+
72
+ property_not_supported :registrar
73
+
74
+
75
+ property_supported :registrant_contacts do
76
+ node("Registrant name") do |str|
77
+ address = []
78
+ index = 1
79
+ while line = node("Registrant address #{index}")
80
+ address << line
81
+ index += 1
82
+ end
83
+
84
+ zip, city = address[-2].match(/(\d+) (.+)/)[1, 2]
85
+
86
+ Record::Contact.new(
87
+ :type => Whois::Record::Contact::TYPE_REGISTRANT,
88
+ :id => nil,
89
+ :name => node("Registrant name"),
90
+ :organization => nil,
91
+ :address => address[0..-3].join("\n"),
92
+ :city => city,
93
+ :zip => zip,
94
+ :state => nil,
95
+ :country => address[-1],
96
+ :phone => nil,
97
+ :fax => nil,
98
+ :email => nil
99
+ )
100
+ end
101
+ end
102
+
103
+ property_not_supported :admin_contacts
104
+
105
+ property_not_supported :technical_contacts
106
+
107
+
108
+ property_supported :nameservers do
109
+ nameservers = []
110
+ index = 1
111
+ while line = node("Domain server #{index}")
112
+ nameservers << line
113
+ index += 1
114
+ end
115
+
116
+ nameservers.map do |name|
117
+ Record::Nameserver.new(:name => name)
118
+ end
119
+ end
120
+
121
+
122
+ # Initializes a new {Scanners::WhoisNc} instance
123
+ # passing the {#content_for_scanner}
124
+ # and calls +parse+ on it.
125
+ #
126
+ # @return [Hash]
127
+ def parse
128
+ Scanners::WhoisNc.new(content_for_scanner).parse
129
+ end
130
+
131
+ end
132
+
133
+ end
134
+ end
135
+ end
@@ -7,71 +7,17 @@
7
7
  #++
8
8
 
9
9
 
10
- require 'whois/record/parser/base'
10
+ require 'whois/record/parser/whois.ua.rb'
11
11
 
12
12
 
13
13
  module Whois
14
14
  class Record
15
15
  class Parser
16
16
 
17
- #
18
- # = whois.net.ua parser
19
- #
20
17
  # Parser for the whois.net.ua server.
21
18
  #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisNetUa < Base
29
-
30
- property_supported :status do
31
- if content_for_scanner =~ /status:\s+(.+?)\n/
32
- case $1.downcase
33
- when /^ok-until/ then :registered
34
- else
35
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
36
- end
37
- else
38
- :available
39
- end
40
- end
41
-
42
- property_supported :available? do
43
- !!(content_for_scanner =~ /No entries found for domain/)
44
- end
45
-
46
- property_supported :registered? do
47
- !available?
48
- end
49
-
50
-
51
- property_not_supported :created_on
52
-
53
- property_supported :updated_on do
54
- if content_for_scanner =~ /changed:\s+(.*)\n/
55
- time = $1.split(" ").last
56
- Time.parse(time)
57
- end
58
- end
59
-
60
- property_supported :expires_on do
61
- if content_for_scanner =~ /status:\s+(.*)\n/
62
- time = $1.split(" ").last
63
- Time.parse(time)
64
- end
65
- end
66
-
67
-
68
- property_supported :nameservers do
69
- content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |name|
70
- Record::Nameserver.new(name.strip.downcase)
71
- end
72
- end
73
-
74
- end
19
+ # It aliases the whois.ua parser.
20
+ WhoisNetUa = WhoisUa
75
21
 
76
22
  end
77
23
  end
@@ -30,12 +30,11 @@ module Whois
30
30
  property_supported :status do
31
31
  if content_for_scanner =~ /Status:\s+(.+?)\n/
32
32
  case $1.downcase
33
- when "active"
34
- :registered
35
- when "not registered"
36
- :available
37
- else
38
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
33
+ when "active" then :registered
34
+ when "delegated" then :registered
35
+ when "not registered" then :available
36
+ else
37
+ Whois.bug!(ParserError, "Unknown status `#{$1}'.")
39
38
  end
40
39
  else
41
40
  Whois.bug!(ParserError, "Unable to parse status.")
@@ -38,18 +38,21 @@ module Whois
38
38
 
39
39
 
40
40
  property_supported :status do
41
- case node("Status").to_s.downcase
41
+ case s = node("Status").to_s.downcase
42
42
  when /^ok/, "active", /\bclient/
43
43
  :registered
44
- when "grace-period", "pendingupdate", "no-provider"
44
+ when "grace-period", "no-provider"
45
45
  :registered
46
- when "pendingtransfer",
47
- "pendingtransfer / autorenewperiod"
46
+ when /^pendingupdate/
48
47
  :registered
49
- when /redemption\-/,
50
- "pendingdelete / redemptionperiod",
51
- # The domain will be deleted in 5 days
52
- "pendingdelete / pendingdelete"
48
+ when /^pendingtransfer/
49
+ :registered
50
+ when /redemption\-/
51
+ :redemption
52
+ when "pending-delete"
53
+ :redemption
54
+ # The domain will be deleted in 5 days
55
+ when /^pendingdelete/
53
56
  :redemption
54
57
  when "unassignable"
55
58
  :reserved
@@ -58,7 +61,7 @@ module Whois
58
61
  when /^inactive/
59
62
  :inactive
60
63
  else
61
- Whois.bug!(ParserError, "Unknown status `#{node("Status")}'.")
64
+ Whois.bug!(ParserError, "Unknown status `#{s}'.")
62
65
  end
63
66
  end
64
67
 
@@ -0,0 +1,118 @@
1
+ #--
2
+ # Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
+ #++
8
+
9
+
10
+ require 'whois/record/parser/base'
11
+
12
+
13
+ module Whois
14
+ class Record
15
+ class Parser
16
+
17
+ # Parser for the whois.nic.lk server.
18
+ #
19
+ # @see Whois::Record::Parser::Example
20
+ # The Example parser for the list of all available methods.
21
+ #
22
+ # @since RELEASE
23
+ class WhoisNicLk < Base
24
+
25
+ property_not_supported :disclaimer
26
+
27
+
28
+ property_supported :domain do
29
+ if content_for_scanner =~ /Domain Name:\n\s+(.+)\n/
30
+ $1
31
+ end
32
+ end
33
+
34
+ property_not_supported :domain_id
35
+
36
+
37
+ property_not_supported :referral_whois
38
+
39
+ property_not_supported :referral_url
40
+
41
+
42
+
43
+ property_supported :status do
44
+ if available?
45
+ :available
46
+ else
47
+ :registered
48
+ end
49
+ end
50
+
51
+ property_supported :available? do
52
+ !!(content_for_scanner =~ /^This Domain is not available/)
53
+ end
54
+
55
+ property_supported :registered? do
56
+ !available?
57
+ end
58
+
59
+
60
+ property_supported :created_on do
61
+ if content_for_scanner =~ /Created on\.+:(.+)\n/
62
+ Time.parse($1)
63
+ end
64
+ end
65
+
66
+ property_supported :updated_on do
67
+ if content_for_scanner =~ /Record last updated on\.+:(.+)\n/
68
+ Time.parse($1)
69
+ end
70
+ end
71
+
72
+ property_supported :expires_on do
73
+ if content_for_scanner =~ /Expires on\.+:(.+)\n/
74
+ Time.parse($1)
75
+ end
76
+ end
77
+
78
+
79
+ property_not_supported :registrar
80
+
81
+
82
+ property_supported :registrant_contacts do
83
+ if content_for_scanner =~ /Registrant:\n\s+(.+)\n/
84
+ Record::Contact.new(
85
+ :type => Whois::Record::Contact::TYPE_REGISTRANT,
86
+ :id => nil,
87
+ :name => $1,
88
+ :organization => nil,
89
+ :address => nil,
90
+ :city => nil,
91
+ :zip => nil,
92
+ :state => nil,
93
+ :country => nil,
94
+ :country_code => nil,
95
+ :phone => nil,
96
+ :fax => nil,
97
+ :email => nil
98
+ )
99
+ end
100
+ end
101
+
102
+ property_not_supported :admin_contacts
103
+
104
+ property_not_supported :technical_contacts
105
+
106
+ property_supported :nameservers do
107
+ if content_for_scanner =~ /Domain Servers in listed order:\n((?:.+\n)+)/
108
+ $1.split("\n").map do |name|
109
+ Record::Nameserver.new(:name => name.strip.chomp("."))
110
+ end
111
+ end
112
+ end
113
+
114
+ end
115
+
116
+ end
117
+ end
118
+ end