whois-parser 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (239) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +14 -8
  3. data/CONTRIBUTING.md +21 -7
  4. data/LICENSE.txt +1 -1
  5. data/README.md +1 -1
  6. data/lib/whois-parser.rb +1 -1
  7. data/lib/whois/parser.rb +16 -1
  8. data/lib/whois/parser/version.rb +1 -1
  9. data/lib/whois/parsers/base.rb +1 -1
  10. data/lib/whois/parsers/base_afilias.rb +2 -2
  11. data/lib/whois/parsers/base_afilias2.rb +1 -1
  12. data/lib/whois/parsers/base_cocca.rb +4 -4
  13. data/lib/whois/parsers/base_cocca2.rb +2 -2
  14. data/lib/whois/parsers/base_icann_compliant.rb +1 -1
  15. data/lib/whois/parsers/base_icb.rb +1 -1
  16. data/lib/whois/parsers/base_iisse.rb +1 -1
  17. data/lib/whois/parsers/base_nic_fr.rb +3 -3
  18. data/lib/whois/parsers/base_shared1.rb +1 -1
  19. data/lib/whois/parsers/base_shared2.rb +1 -1
  20. data/lib/whois/parsers/base_shared3.rb +1 -1
  21. data/lib/whois/parsers/base_verisign.rb +1 -1
  22. data/lib/whois/parsers/base_whoisd.rb +2 -2
  23. data/lib/whois/parsers/blank.rb +1 -1
  24. data/lib/whois/parsers/capetown-whois.registry.net.za.rb +1 -1
  25. data/lib/whois/parsers/ccwhois.ksregistry.net.rb +1 -1
  26. data/lib/whois/parsers/ccwhois.verisign-grs.com.rb +1 -1
  27. data/lib/whois/parsers/coza-whois.registry.net.za.rb +25 -0
  28. data/lib/whois/parsers/durban-whois.registry.net.za.rb +1 -1
  29. data/lib/whois/parsers/example.rb +1 -1
  30. data/lib/whois/parsers/joburg-whois.registry.net.za.rb +1 -1
  31. data/lib/whois/parsers/kero.yachay.pe.rb +3 -3
  32. data/lib/whois/parsers/org-whois.registry.net.za.rb +1 -1
  33. data/lib/whois/parsers/tvwhois.verisign-grs.com.rb +1 -1
  34. data/lib/whois/parsers/whois.1und1.info.rb +1 -1
  35. data/lib/whois/parsers/whois.35.com.rb +1 -1
  36. data/lib/whois/parsers/whois.aeda.net.ae.rb +2 -2
  37. data/lib/whois/parsers/whois.aero.rb +1 -1
  38. data/lib/whois/parsers/whois.afilias-grs.info.rb +1 -1
  39. data/lib/whois/parsers/whois.afilias.net.rb +1 -1
  40. data/lib/whois/parsers/whois.amnic.net.rb +2 -2
  41. data/lib/whois/parsers/whois.ascio.com.rb +1 -1
  42. data/lib/whois/parsers/whois.ati.tn.rb +1 -1
  43. data/lib/whois/parsers/whois.audns.net.au.rb +1 -1
  44. data/lib/whois/parsers/whois.ax.rb +1 -1
  45. data/lib/whois/parsers/whois.biz.rb +12 -3
  46. data/lib/whois/parsers/whois.bnnic.bn.rb +1 -1
  47. data/lib/whois/parsers/whois.cat.rb +1 -1
  48. data/lib/whois/parsers/whois.cctld.by.rb +1 -1
  49. data/lib/whois/parsers/whois.cctld.uz.rb +2 -2
  50. data/lib/whois/parsers/whois.cdmon.com.rb +1 -1
  51. data/lib/whois/parsers/whois.centralnic.com.rb +1 -1
  52. data/lib/whois/parsers/whois.cira.ca.rb +4 -4
  53. data/lib/whois/parsers/whois.cmc.iq.rb +1 -1
  54. data/lib/whois/parsers/whois.cnnic.cn.rb +1 -1
  55. data/lib/whois/parsers/whois.co.ca.rb +1 -1
  56. data/lib/whois/parsers/whois.co.pl.rb +1 -1
  57. data/lib/whois/parsers/whois.co.ug.rb +2 -2
  58. data/lib/whois/parsers/whois.comlaude.com.rb +1 -1
  59. data/lib/whois/parsers/whois.corporatedomains.com.rb +1 -1
  60. data/lib/whois/parsers/whois.denic.de.rb +2 -2
  61. data/lib/whois/parsers/whois.dk-hostmaster.dk.rb +2 -2
  62. data/lib/whois/parsers/whois.dns.be.rb +3 -3
  63. data/lib/whois/parsers/whois.dns.hr.rb +1 -1
  64. data/lib/whois/parsers/whois.dns.lu.rb +2 -2
  65. data/lib/whois/parsers/whois.dns.pl.rb +1 -1
  66. data/lib/whois/parsers/whois.dns.pt.rb +2 -2
  67. data/lib/whois/parsers/whois.domain-registry.nl.rb +2 -2
  68. data/lib/whois/parsers/whois.domain.kg.rb +1 -1
  69. data/lib/whois/parsers/whois.domainregistry.ie.rb +2 -2
  70. data/lib/whois/parsers/whois.domreg.lt.rb +1 -1
  71. data/lib/whois/parsers/whois.donuts.co.rb +1 -1
  72. data/lib/whois/parsers/whois.dot.cf.rb +1 -1
  73. data/lib/whois/parsers/whois.dot.tk.rb +1 -1
  74. data/lib/whois/parsers/whois.dotgov.gov.rb +2 -2
  75. data/lib/whois/parsers/whois.dotmobiregistry.net.rb +1 -1
  76. data/lib/whois/parsers/whois.dotpostregistry.net.rb +1 -1
  77. data/lib/whois/parsers/whois.dreamhost.com.rb +1 -1
  78. data/lib/whois/parsers/whois.educause.edu.rb +2 -2
  79. data/lib/whois/parsers/whois.eenet.ee.rb +1 -1
  80. data/lib/whois/parsers/whois.enom.com.rb +1 -1
  81. data/lib/whois/parsers/whois.eu.org.rb +1 -1
  82. data/lib/whois/parsers/whois.eu.rb +2 -2
  83. data/lib/whois/parsers/whois.fi.rb +2 -2
  84. data/lib/whois/parsers/whois.gandi.net.rb +1 -1
  85. data/lib/whois/parsers/whois.gg.rb +1 -1
  86. data/lib/whois/parsers/whois.godaddy.com.rb +1 -1
  87. data/lib/whois/parsers/whois.gov.za.rb +1 -1
  88. data/lib/whois/parsers/whois.hkirc.hk.rb +1 -1
  89. data/lib/whois/parsers/whois.iana.org.rb +1 -1
  90. data/lib/whois/parsers/whois.iis.nu.rb +1 -1
  91. data/lib/whois/parsers/whois.iis.se.rb +1 -1
  92. data/lib/whois/parsers/whois.in.ua.rb +2 -2
  93. data/lib/whois/parsers/whois.inregistry.net.rb +1 -1
  94. data/lib/whois/parsers/whois.isnic.is.rb +1 -1
  95. data/lib/whois/parsers/whois.isoc.org.il.rb +2 -2
  96. data/lib/whois/parsers/whois.ja.net.rb +1 -1
  97. data/lib/whois/parsers/whois.je.rb +1 -1
  98. data/lib/whois/parsers/whois.jprs.jp.rb +3 -3
  99. data/lib/whois/parsers/whois.kenic.or.ke.rb +3 -3
  100. data/lib/whois/parsers/whois.kr.rb +1 -1
  101. data/lib/whois/parsers/whois.markmonitor.com.rb +1 -1
  102. data/lib/whois/parsers/whois.monic.mo.rb +1 -1
  103. data/lib/whois/parsers/whois.museum.rb +1 -1
  104. data/lib/whois/parsers/whois.mynic.my.rb +1 -1
  105. data/lib/whois/parsers/whois.na-nic.com.na.rb +1 -1
  106. data/lib/whois/parsers/whois.nc.rb +1 -1
  107. data/lib/whois/parsers/whois.netcom.cm.rb +1 -1
  108. data/lib/whois/parsers/whois.networksolutions.com.rb +1 -1
  109. data/lib/whois/parsers/whois.nic.ac.rb +1 -1
  110. data/lib/whois/parsers/whois.nic.af.rb +1 -1
  111. data/lib/whois/parsers/whois.nic.ag.rb +1 -1
  112. data/lib/whois/parsers/{whois.ai.rb → whois.nic.ai.rb} +3 -3
  113. data/lib/whois/parsers/whois.nic.as.rb +1 -1
  114. data/lib/whois/parsers/whois.nic.asia.rb +1 -1
  115. data/lib/whois/parsers/whois.nic.at.rb +1 -1
  116. data/lib/whois/parsers/whois.nic.bj.rb +1 -1
  117. data/lib/whois/parsers/whois.nic.bo.rb +1 -1
  118. data/lib/whois/parsers/whois.nic.cd.rb +1 -1
  119. data/lib/whois/parsers/whois.nic.ch.rb +1 -1
  120. data/lib/whois/parsers/whois.nic.ci.rb +1 -1
  121. data/lib/whois/parsers/whois.nic.cl.rb +1 -1
  122. data/lib/whois/parsers/whois.nic.co.rb +1 -1
  123. data/lib/whois/parsers/whois.nic.college.rb +1 -1
  124. data/lib/whois/parsers/whois.nic.coop.rb +1 -1
  125. data/lib/whois/parsers/whois.nic.cx.rb +1 -1
  126. data/lib/whois/parsers/whois.nic.cz.rb +1 -1
  127. data/lib/whois/parsers/whois.nic.design.rb +1 -1
  128. data/lib/whois/parsers/whois.nic.dm.rb +1 -1
  129. data/lib/whois/parsers/whois.nic.dz.rb +1 -1
  130. data/lib/whois/parsers/whois.nic.ec.rb +2 -2
  131. data/lib/whois/parsers/whois.nic.es.rb +1 -1
  132. data/lib/whois/parsers/whois.nic.fm.rb +18 -0
  133. data/lib/whois/parsers/whois.nic.fo.rb +1 -1
  134. data/lib/whois/parsers/whois.nic.fr.rb +1 -1
  135. data/lib/whois/parsers/whois.nic.gd.rb +1 -1
  136. data/lib/whois/parsers/whois.nic.gl.rb +1 -1
  137. data/lib/whois/parsers/whois.nic.gs.rb +1 -1
  138. data/lib/whois/parsers/whois.nic.hn.rb +1 -1
  139. data/lib/whois/parsers/whois.nic.ht.rb +1 -1
  140. data/lib/whois/parsers/whois.nic.hu.rb +1 -1
  141. data/lib/whois/parsers/whois.nic.im.rb +1 -1
  142. data/lib/whois/parsers/whois.nic.io.rb +1 -1
  143. data/lib/whois/parsers/whois.nic.ir.rb +1 -1
  144. data/lib/whois/parsers/whois.nic.it.rb +2 -2
  145. data/lib/whois/parsers/whois.nic.jobs.rb +1 -1
  146. data/lib/whois/parsers/whois.nic.ki.rb +1 -1
  147. data/lib/whois/parsers/whois.nic.kz.rb +1 -1
  148. data/lib/whois/parsers/whois.nic.la.rb +1 -1
  149. data/lib/whois/parsers/whois.nic.li.rb +1 -1
  150. data/lib/whois/parsers/whois.nic.lk.rb +1 -1
  151. data/lib/whois/parsers/whois.nic.lv.rb +1 -1
  152. data/lib/whois/parsers/whois.nic.ly.rb +1 -1
  153. data/lib/whois/parsers/whois.nic.md.rb +1 -1
  154. data/lib/whois/parsers/whois.nic.me.rb +1 -1
  155. data/lib/whois/parsers/whois.nic.mg.rb +1 -1
  156. data/lib/whois/parsers/whois.nic.ms.rb +1 -1
  157. data/lib/whois/parsers/whois.nic.mu.rb +1 -1
  158. data/lib/whois/parsers/whois.nic.mx.rb +1 -1
  159. data/lib/whois/parsers/whois.nic.name.rb +1 -1
  160. data/lib/whois/parsers/whois.nic.net.ng.rb +1 -1
  161. data/lib/whois/parsers/whois.nic.net.sa.rb +1 -1
  162. data/lib/whois/parsers/whois.nic.net.sb.rb +1 -1
  163. data/lib/whois/parsers/whois.nic.nf.rb +1 -1
  164. data/lib/whois/parsers/whois.nic.org.uy.rb +2 -2
  165. data/lib/whois/parsers/whois.nic.pm.rb +1 -1
  166. data/lib/whois/parsers/whois.nic.pr.rb +1 -1
  167. data/lib/whois/parsers/whois.nic.priv.at.rb +1 -1
  168. data/lib/whois/parsers/whois.nic.pw.rb +1 -1
  169. data/lib/whois/parsers/whois.nic.re.rb +1 -1
  170. data/lib/whois/parsers/whois.nic.sh.rb +1 -1
  171. data/lib/whois/parsers/whois.nic.sl.rb +1 -1
  172. data/lib/whois/parsers/whois.nic.sm.rb +2 -2
  173. data/lib/whois/parsers/whois.nic.sn.rb +1 -1
  174. data/lib/whois/parsers/whois.nic.so.rb +1 -1
  175. data/lib/whois/parsers/whois.nic.space.rb +1 -1
  176. data/lib/whois/parsers/whois.nic.st.rb +10 -10
  177. data/lib/whois/parsers/whois.nic.tc.rb +1 -1
  178. data/lib/whois/parsers/whois.nic.tech.rb +1 -1
  179. data/lib/whois/parsers/whois.nic.tel.rb +1 -1
  180. data/lib/whois/parsers/whois.nic.tl.rb +1 -1
  181. data/lib/whois/parsers/whois.nic.tm.rb +1 -1
  182. data/lib/whois/parsers/whois.nic.tr.rb +1 -1
  183. data/lib/whois/parsers/whois.nic.travel.rb +1 -1
  184. data/lib/whois/parsers/whois.nic.uk.rb +2 -2
  185. data/lib/whois/parsers/whois.nic.us.rb +1 -1
  186. data/lib/whois/parsers/whois.nic.ve.rb +2 -2
  187. data/lib/whois/parsers/whois.nic.wf.rb +1 -1
  188. data/lib/whois/parsers/whois.nic.xxx.rb +1 -1
  189. data/lib/whois/parsers/whois.nic.xyz.rb +1 -1
  190. data/lib/whois/parsers/whois.norid.no.rb +1 -1
  191. data/lib/whois/parsers/whois.pairnic.com.rb +1 -1
  192. data/lib/whois/parsers/whois.pandi.or.id.rb +1 -1
  193. data/lib/whois/parsers/whois.pir.org.rb +1 -1
  194. data/lib/whois/parsers/whois.pnina.ps.rb +1 -1
  195. data/lib/whois/parsers/whois.register.bg.rb +2 -2
  196. data/lib/whois/parsers/whois.register.com.rb +1 -1
  197. data/lib/whois/parsers/whois.register.si.rb +2 -2
  198. data/lib/whois/parsers/whois.registre.ma.rb +7 -9
  199. data/lib/whois/parsers/whois.registro.br.rb +53 -9
  200. data/lib/whois/parsers/whois.registry.gy.rb +1 -1
  201. data/lib/whois/parsers/whois.registry.hm.rb +1 -1
  202. data/lib/whois/parsers/whois.registry.om.rb +1 -1
  203. data/lib/whois/parsers/whois.registry.qa.rb +1 -1
  204. data/lib/whois/parsers/whois.ripe.net.rb +1 -1
  205. data/lib/whois/parsers/whois.rnids.rs.rb +2 -2
  206. data/lib/whois/parsers/whois.rotld.ro.rb +2 -2
  207. data/lib/whois/parsers/whois.rrpproxy.net.rb +1 -1
  208. data/lib/whois/parsers/whois.safenames.net.rb +1 -1
  209. data/lib/whois/parsers/whois.schlund.info.rb +1 -1
  210. data/lib/whois/parsers/whois.sgnic.sg.rb +2 -2
  211. data/lib/whois/parsers/whois.sk-nic.sk.rb +2 -2
  212. data/lib/whois/parsers/whois.smallregistry.net.rb +2 -2
  213. data/lib/whois/parsers/whois.srs.net.nz.rb +3 -3
  214. data/lib/whois/parsers/whois.sx.rb +2 -2
  215. data/lib/whois/parsers/whois.tcinet.ru.rb +1 -1
  216. data/lib/whois/parsers/whois.thnic.co.th.rb +2 -2
  217. data/lib/whois/parsers/whois.tld.ee.rb +1 -1
  218. data/lib/whois/parsers/whois.tld.sy.rb +1 -1
  219. data/lib/whois/parsers/whois.tonic.to.rb +1 -1
  220. data/lib/whois/parsers/whois.tucows.com.rb +1 -1
  221. data/lib/whois/parsers/whois.twnic.net.tw.rb +1 -1
  222. data/lib/whois/parsers/whois.tznic.or.tz.rb +1 -1
  223. data/lib/whois/parsers/whois.ua.rb +3 -3
  224. data/lib/whois/parsers/whois.udag.net.rb +1 -1
  225. data/lib/whois/parsers/whois.uniregistry.net.rb +1 -1
  226. data/lib/whois/parsers/whois.usp.ac.fj.rb +2 -2
  227. data/lib/whois/parsers/whois.verisign-grs.com.rb +1 -1
  228. data/lib/whois/parsers/whois.website.ws.rb +1 -1
  229. data/lib/whois/parsers/whois.wildwestdomains.com.rb +1 -1
  230. data/lib/whois/parsers/whois.yoursrs.com.rb +1 -1
  231. data/lib/whois/parsers/whois.za.net.rb +1 -1
  232. data/lib/whois/parsers/whois.za.org.rb +1 -1
  233. data/lib/whois/parsers/whois1.nic.bi.rb +1 -1
  234. data/lib/whois/parsers/za_central_registry.rb +12 -1
  235. data/lib/whois/scanners/whois.cira.ca.rb +1 -1
  236. data/whois-parser.gemspec +3 -3
  237. metadata +10 -10
  238. data/lib/whois/parsers/whois.registry.net.za.rb +0 -139
  239. data/lib/whois/scanners/whois.registry.net.za.rb +0 -92
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 21fd5bc663957914cbcb65f55d5e6bc882a6c514
4
- data.tar.gz: d13280e84b84c53572c060f513d37e117c1a15c6
2
+ SHA256:
3
+ metadata.gz: d8d389cb6d9d042a0a3d367f3990cf345152059c889a509627698b113918a1e9
4
+ data.tar.gz: 6c4f04da1b81da7a4b5f54a4c050ebebf11dd8dd6e4072be1e3d025717316671
5
5
  SHA512:
6
- metadata.gz: 0da9c4c8bcc2eb236e07ac477631ae26c3fcdafa3e39e9459eb339906e09099c4953db12012cb892e0478f60292dad4a3c92071e73f2decc0acef2ea21f2a311
7
- data.tar.gz: '0159553706ade5a05ff3de68168b751dd84127411783127c860492b7c665392c68aa116ce1cac81b8edc1f3882eafe286c040ec59f199188a7cb1b59f2531bf4'
6
+ metadata.gz: cb95c920da4e7ec031366e3261cff880f508fd380bcee97df4dd4e80457c3599b9fe205a9b720161cecb36569b70be2e51c697c3e4e1d3bd6c3241eccb05ab52
7
+ data.tar.gz: 59b6d898dc2bd51a98b7ce78665f5c2a7ce81106b990f5618b2aea8a91ccc0d8618247ac68f294d59d6eb376bff5a89e6568906d6643d8cba71d9ce0580d82b0
@@ -3,16 +3,26 @@
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/).
4
4
 
5
5
 
6
+ #### Release 1.1.0
7
+
8
+ - NEW: Added .FM parser (GH-74). [Thanks @thomas07vt]
9
+ - NEW: Added .BR parser contacts (GH-31). [Thanks @forain]
10
+
11
+ - CHANGED: Updated WhoisAi to WhoisNicAi.
12
+ - CHANGED: WhoizBiz to the new response (GH-73). [Thanks @thomas07vt]
13
+ - CHANGED: WhoizNicSt to the new response (GH-72). [Thanks @fturmel]
14
+ - CHANGED: WhoisRegistryNetZa to the new response (GH-43). [Thanks @sheldonh]
15
+
16
+ - FIXED: Bug where .EU domain property had double .eu suffix (GH-63).
17
+ - FIXED: Fix scanning issue with .ca when keys have no value (GH-36).
18
+
19
+
6
20
  #### Release 1.0.1
7
21
 
8
22
  - CHANGED: Updated GoDaddy parser to the new response (GH-60).
9
-
10
23
  - CHANGED: Updated Donuts parser to the new response. It looks like Donuts is now more compliant with base ICANN parser.
11
-
12
24
  - CHANGED: Updated Verisign parser to the new response (GH-57). [Thanks @phcyso]
13
-
14
25
  - CHANGED: Updated .BR parser to the new response (GH-51). [Thanks @otaviojr]
15
-
16
26
  - CHANGED: Add support for :expires_on to base_nic_fr (GH-54). [Thanks @yastupin]
17
27
 
18
28
 
@@ -29,13 +39,9 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
29
39
  Initial import from the `whois` library.
30
40
 
31
41
  - NEW: whois.dk-hostmaster.dk parser now recognizes throttled responses (whois/GH-382). [Thanks @troelskn]
32
-
33
42
  - NEW: Safer time parsing (GH-18). [Thanks @davidcornu]
34
-
35
43
  - NEW: Detect reserved .INFO domains (whois/GH-468).
36
44
 
37
45
  - CHANGED: whois.audns.net.au removed the registrar ID field (GH-20, GH-21). Thanks [@afoster]
38
-
39
46
  - CHANGED: Updated .JOBS from obswhois.verisign-grs.com to whois.nic.jobs (GH-23).
40
-
41
47
  - CHANGED: Updated .PRO from whois.dotproregistry.net to whois.afilias.net (GH-24).
@@ -4,31 +4,45 @@
4
4
 
5
5
  Fork, then clone the repo:
6
6
 
7
- $ git clone git@github.com:your-username/whois-parser.git
7
+ ```shell
8
+ git clone git@github.com:your-username/whois-parser.git
9
+ ```
8
10
 
9
11
  Set up your machine:
10
12
 
11
- $ bundle
13
+ ```shell
14
+ bundle
15
+ ```
12
16
 
13
17
  Make sure the tests pass:
14
18
 
15
- $ bundle exec rake
19
+ ```shell
20
+ $ bundle exec rake
21
+ ```
16
22
 
17
23
  To propose a change/feature/patch, create your feature branch:
18
24
 
19
- $ git checkout -b my-new-feature
25
+ ```shell
26
+ git checkout -b my-new-feature
27
+ ```
20
28
 
21
29
  Make your change. Add tests for your change. Make the tests pass:
22
30
 
23
- $ bundle exec rake
31
+ ```shell
32
+ bundle exec rake
33
+ ```
24
34
 
25
35
  `utils/mkwhois.rb` can be used to quicky generate `status_available.txt` and `status_registered.txt` files for your tests
26
36
 
27
- $ ruby utils/mkwhois.rb google.com status_available
37
+ ```shell
38
+ ruby utils/mkwhois.rb google.com status_available
39
+ ```
28
40
 
29
41
  Commit your changes:
30
42
 
31
- $ git commit -am 'Add some feature'
43
+ ```shell
44
+ git commit -am 'Add some feature'
45
+ ```
32
46
 
33
47
  Push to your fork and [submit a pull request](https://github.com/weppos/whois-parser/compare/).
34
48
 
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2009-2015 Simone Carletti
3
+ Copyright (c) 2009-2018 Simone Carletti
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -24,4 +24,4 @@ The [whois repository](https://github.com/weppos/whois) contains more informatio
24
24
 
25
25
  ## License
26
26
 
27
- Copyright (c) 2009-2017 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
27
+ Copyright (c) 2009-2018 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -54,6 +54,21 @@ require_relative 'parser_extensions' if ENV["WHOISRB_4EXTENSIONS"] == "1"
54
54
  module Whois
55
55
  class Parser
56
56
 
57
+ # Appends `Please report issue to` to the message
58
+ # and raises a new +error+ with the final message.
59
+ #
60
+ # @param [Exception] error
61
+ # @param [String] message
62
+ # @return [void]
63
+ #
64
+ # @api private
65
+ # @private
66
+ def bug!(error, message)
67
+ raise error, message.dup +
68
+ " Please report the issue at" +
69
+ " http://github.com/weppos/whois-parser/issues"
70
+ end
71
+
57
72
  METHODS = [
58
73
  :contacts,
59
74
  :changed?, :unchanged?,
@@ -1,6 +1,6 @@
1
1
  module Whois
2
2
  class Parser
3
3
  # The current library version.
4
- VERSION = "1.0.1".freeze
4
+ VERSION = "1.1.0".freeze
5
5
  end
6
6
  end
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -72,7 +72,7 @@ module Whois
72
72
  property_supported :registrar do
73
73
  node("Sponsoring Registrar") do |value|
74
74
  id, name = decompose_registrar(value) ||
75
- Whois.bug!(ParserError, "Unknown registrar format `#{value}'")
75
+ Whois::Parser.bug!(ParserError, "Unknown registrar format `#{value}'")
76
76
 
77
77
  Parser::Registrar.new(
78
78
  id: id,
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -29,7 +29,7 @@ module Whois
29
29
 
30
30
  property_supported :domain do
31
31
  content_for_scanner =~ /Query:\s+(.+?)\n/
32
- $1 || Whois.bug!(ParserError, "Unable to parse domain.")
32
+ $1 || Whois::Parser.bug!(ParserError, "Unable to parse domain.")
33
33
  end
34
34
 
35
35
  property_not_supported :domain_id
@@ -38,9 +38,9 @@ module Whois
38
38
  property_supported :status do
39
39
  if content_for_scanner =~ /Status:\s+(.+?)\n/
40
40
  status = $1.downcase
41
- self.class.status_mapping[status] || Whois.bug!(ParserError, "Unknown status `#{status}'.")
41
+ self.class.status_mapping[status] || Whois::Parser.bug!(ParserError, "Unknown status `#{status}'.")
42
42
  else
43
- Whois.bug!(ParserError, "Unable to parse status.")
43
+ Whois::Parser.bug!(ParserError, "Unable to parse status.")
44
44
  end
45
45
  end
46
46
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -42,7 +42,7 @@ module Whois
42
42
  when list.include?("ok")
43
43
  :registered
44
44
  else
45
- Whois.bug!(ParserError, "Unknown status `#{list.join(", ")}'.")
45
+ Whois::Parser.bug!(ParserError, "Unknown status `#{list.join(", ")}'.")
46
46
  end
47
47
  end
48
48
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -34,7 +34,7 @@ module Whois
34
34
  # This is the case of second level names.
35
35
  when "not_open" then :reserved
36
36
  else
37
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
37
+ Whois::Parser.bug!(ParserError, "Unknown status `#{$1}'.")
38
38
  end
39
39
  else
40
40
  :available
@@ -115,7 +115,7 @@ module Whois
115
115
 
116
116
  id = $1
117
117
  content_for_scanner.scan(/nic-hdl:\s+#{id}\n((.+\n)+)\n/).any? ||
118
- Whois.bug!(ParserError, "Unable to parse contact block for nic-hdl: #{id}")
118
+ Whois::Parser.bug!(ParserError, "Unable to parse contact block for nic-hdl: #{id}")
119
119
  values = build_hash($1.scan(/(.+?):\s+(.+?)\n/))
120
120
 
121
121
  if values["type"] == "ORGANIZATION"
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -43,7 +43,7 @@ module Whois
43
43
  v = self.class.status_mapping[s.downcase]
44
44
  break v if v
45
45
  end
46
- status || Whois.bug!(ParserError, "Unknown status `#{string}'.")
46
+ status || Whois::Parser.bug!(ParserError, "Unknown status `#{string}'.")
47
47
  end || :available
48
48
  end
49
49
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9
 
@@ -0,0 +1,25 @@
1
+ #--
2
+ # Ruby Whois
3
+ #
4
+ # An intelligent pure Ruby WHOIS client and parser.
5
+ #
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
+ #++
8
+
9
+
10
+ require_relative 'za_central_registry'
11
+
12
+
13
+ module Whois
14
+ class Parsers
15
+
16
+ # Parser for the coza-whois.registry.za.net server.
17
+ #
18
+ # @see Whois::Parsers::Example
19
+ # The Example parser for the list of all available methods.
20
+ #
21
+ class CozaWhoisRegistryNetZa < ZaCentralRegistry
22
+ end
23
+
24
+ end
25
+ end
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # An intelligent pure Ruby WHOIS client and parser.
5
5
  #
6
- # Copyright (c) 2009-2015 Simone Carletti <weppos@weppos.net>
6
+ # Copyright (c) 2009-2018 Simone Carletti <weppos@weppos.net>
7
7
  #++
8
8
 
9
9