whois 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/codeql-analysis.yml +64 -0
  4. data/.github/workflows/release.yml +16 -0
  5. data/.github/workflows/tests.yml +29 -0
  6. data/.rubocop.yml +27 -0
  7. data/.rubocop_opinionated.yml +135 -0
  8. data/.rubocop_todo.yml +166 -0
  9. data/.simplecov +2 -0
  10. data/.tool-versions +1 -0
  11. data/CHANGELOG.md +76 -53
  12. data/CONTRIBUTING.md +12 -12
  13. data/Gemfile +5 -0
  14. data/LICENSE.txt +1 -1
  15. data/README.md +22 -22
  16. data/Rakefile +12 -17
  17. data/bin/console +1 -0
  18. data/bin/whoisrb +3 -2
  19. data/data/ipv4.json +1 -3
  20. data/data/tld.json +2 -99
  21. data/lib/whois/client.rb +4 -2
  22. data/lib/whois/errors.rb +4 -2
  23. data/lib/whois/record/part.rb +5 -4
  24. data/lib/whois/record.rb +4 -2
  25. data/lib/whois/server/adapters/afilias.rb +4 -1
  26. data/lib/whois/server/adapters/arin.rb +7 -4
  27. data/lib/whois/server/adapters/arpa.rb +20 -19
  28. data/lib/whois/server/adapters/base.rb +26 -40
  29. data/lib/whois/server/adapters/formatted.rb +4 -2
  30. data/lib/whois/server/adapters/none.rb +3 -1
  31. data/lib/whois/server/adapters/not_implemented.rb +3 -1
  32. data/lib/whois/server/adapters/standard.rb +4 -2
  33. data/lib/whois/server/adapters/verisign.rb +4 -1
  34. data/lib/whois/server/adapters/web.rb +3 -1
  35. data/lib/whois/server/socket_handler.rb +8 -6
  36. data/lib/whois/server.rb +41 -47
  37. data/lib/whois/version.rb +4 -2
  38. data/lib/whois.rb +13 -11
  39. data/spec/integration/whois_spec.rb +6 -6
  40. data/spec/spec_helper.rb +4 -4
  41. data/spec/support/helpers/connectivity_helper.rb +3 -3
  42. data/spec/support/helpers/spec_helper.rb +2 -0
  43. data/spec/whois/client_spec.rb +6 -7
  44. data/spec/whois/record/part_spec.rb +4 -4
  45. data/spec/whois/record_spec.rb +9 -7
  46. data/spec/whois/server/adapters/afilias_spec.rb +4 -4
  47. data/spec/whois/server/adapters/arin_spec.rb +9 -10
  48. data/spec/whois/server/adapters/arpa_spec.rb +2 -2
  49. data/spec/whois/server/adapters/base_spec.rb +13 -13
  50. data/spec/whois/server/adapters/formatted_spec.rb +8 -8
  51. data/spec/whois/server/adapters/none_spec.rb +2 -2
  52. data/spec/whois/server/adapters/not_implemented_spec.rb +4 -4
  53. data/spec/whois/server/adapters/standard_spec.rb +5 -5
  54. data/spec/whois/server/adapters/verisign_spec.rb +5 -5
  55. data/spec/whois/server/adapters/web_spec.rb +4 -4
  56. data/spec/whois/server/socket_handler_spec.rb +7 -5
  57. data/spec/whois/server_spec.rb +31 -29
  58. data/spec/whois/{errors_spec.rb → web_interface_error_spec.rb} +4 -4
  59. data/spec/whois/whois_spec.rb +3 -3
  60. metadata +13 -39
  61. data/.travis.yml +0 -18
  62. data/bin/setup +0 -8
  63. data/tasks/spec.rake +0 -199
data/CHANGELOG.md CHANGED
@@ -3,21 +3,44 @@
3
3
  This project uses [Semantic Versioning 2.0.0](http://semver.org/).
4
4
 
5
5
 
6
- #### Release 5.0.1
6
+ ## Release 5.1.0
7
7
 
8
- - CHANGED: Use `String#match?` rather than `#=~` to improve performance (GH-589). Thanks @casperisfine @byroot
9
- - CHANGED: Empty Hash allocation optimization (GH-588). Thanks @casperisfine @byroot
8
+ ### Changed
10
9
 
10
+ - SERVER: Deleted .VISTAPRINT, .XN--ESTV75G
11
+ - CHANGED: Eager load all adapters (GH-644). Thanks @casperisfine @byroot
11
12
 
12
- #### Release 5.0.0
13
13
 
14
- - CHANGED: Minimum Ruby version 2.4
15
- - SERVER: Update Amazon Registry whois hosts
14
+ ## Release 5.0.2
16
15
 
17
- - FIXED: Fixed issue that prevented to query .CAT domains (GH-583).
16
+ ### Changed
18
17
 
18
+ - SERVER: Update 43.0.0.0/8 allocation (GH-615). Thanks @taketo1113
19
+ - SERVER: Deleted .LIAISON, .MOVISTAR, .TELEFONICA, .BNL, .CARTIER, .EVERBANK, .LADBROKES, .PIAGET, .STARHUB, .MOPAR, .MOBILY, .ISELECT, .XN--MGBB9FBPOB, .DODGE, .WARMAN, .DUNS, .LANCOME, .CHRYSLER, .SRT, .UCONNECT
20
+ - SERVER: Update .STREAM
19
21
 
20
- #### Release 4.1.0
22
+
23
+ ## Release 5.0.1
24
+
25
+ ### Changed
26
+
27
+ - Use `String#match?` rather than `#=~` to improve performance (GH-589). Thanks @casperisfine @byroot
28
+ - Empty Hash allocation optimization (GH-588). Thanks @casperisfine @byroot
29
+
30
+
31
+ ## Release 5.0.0
32
+
33
+ ## Changed
34
+
35
+ - Update Amazon Registry whois hosts
36
+ - Minimum Ruby version 2.4
37
+
38
+ ## Fixed
39
+
40
+ - Fixed issue that prevented to query .CAT domains (GH-583).
41
+
42
+
43
+ ## Release 4.1.0
21
44
 
22
45
  - SERVER: Added .SS
23
46
  - SERVER: Update .ALLFINANZ, .CAM, .DVAG, .FRESENIUS, .POHL, .TUI, .XN--VERMGENSBERATER-CTB, .XN--VERMGENSBERATUNG-PWB, .ZUERICH, .BMW, .MINI, .BABY, .DESI, .SAARLAND, .ECO
@@ -26,58 +49,58 @@ This project uses [Semantic Versioning 2.0.0](http://semver.org/).
26
49
  - CHANGED: Reduce string allocations and retentions (GH-437). Thanks @casperisfine @byroot
27
50
 
28
51
 
29
- #### Release 4.0.8
52
+ ## Release 4.0.8
30
53
 
31
54
  - SERVER: Deleted .XPERIA, .TELECITY, .VISTA, .JLC, .PANERAI, .GOODHANDS, .STATOIL, .ACTIVE, .BLANCO, .EPOST, .SPIEGEL, .ZIPPO
32
55
  - SERVER: Updated .SHOP, .NAGOYA, .OKINAWA, .RYUKYU, .TOKYO, .YOKOHAMA, .ORGANIC, .XN--MGBAB2BD, .MW, .IN, .XN--2SCRJ9C, .XN--3HCRJ9C, .XN--45BR5CYL, .XN--45BRJ9C, .XN--FPCRJ9C3D, .XN--GECRJ9C, .XN--H2BREG3EVE, .XN--H2BRJ9C, .XN--H2BRJ9C8C, .XN--MGBBH1A, .XN--MGBBH1A71E, .XN--MGBGU82A, .XN--RVC1E0AM3E, .XN--S9BRJ9C, .XN--XKC2DL3A5EE0H, .COUNTRY
33
56
  - SERVER: Added .XN--MGBAH1A3HJKRD
34
57
 
35
58
 
36
- #### Release 4.0.7
59
+ ## Release 4.0.7
37
60
 
38
61
  - SERVER: Added .CHARITY, .INC
39
62
  - SERVER: Updated .COLOGNE, .KOELN, .IE, .AU
40
63
  - SERVER: Deleted .IWC
41
64
 
42
65
 
43
- #### Release 4.0.6
66
+ ## Release 4.0.6
44
67
 
45
68
  - SERVER: Added .SPORT, .LLC, .FM (GH-568)
46
69
  - SERVER: Updated .MUSEUM, .MR, .PR, .AI, .SMART, .BAIDU, .GE, several newGTLDs
47
70
  - SERVER: Deleted .HTC
48
71
 
49
72
 
50
- #### Release 4.0.5
73
+ ## Release 4.0.5
51
74
 
52
75
  - SERVER: Updated .ALIBABA, .ALIPAY, .HDFC, .SINA, .WEIBO, .XN--9KRT00A, .XN--JLQ61U9W7B
53
76
  - SERVER: Deleted .MCD, .MCDONALDS, .PAMPEREDCHEF, .MONTBLANK, .CHLOE
54
77
 
55
78
 
56
- #### Release 4.0.4
79
+ ## Release 4.0.4
57
80
 
58
81
  - SERVER: Added .MERCKMSD
59
82
  - SERVER: Updated .KOSHER, .LDS, .BESTBUY, .DUNLOP, .GOODYEAR, .TVS, .BNL, .HOMEDEPOT, .HUGHES, .IVECO, .LAMER, .LATINO, .LOCKER, .METLIFE, .MOBILE, .NEWHOLLAND, .OLLO, .ORIGINS, .OTT, .PHONE, .PNC, .SBI, .SCHOLARSHIPS, .SLING, .STATEBANK, .THD, .UPS, .WOLTERSKLUWER, .XN--NQV7FS00EMA, .DELTA, .STAR, .ALLY, .BCG, .BLOCKBUSTER, .CASE, .CASEIH, .CLINIQUE, .CRUISE, .CYOU, .DATA, .DISH, .DOT, .DTV, .FEDEX, .FERRARI, .GALLUP, .HELSINKI, .ICBC, .MASERATI, .MCKINSEY, .MONSTER, .MORMON, .XN, .XN
60
83
 
61
84
 
62
- #### Release 4.0.3
85
+ ## Release 4.0.3
63
86
 
64
87
  - FIXED: Updated Verisign adapter to properly detect the new label for referral servers (GH-559)
65
88
 
66
89
 
67
- #### Release 4.0.2
90
+ ## Release 4.0.2
68
91
 
69
92
  - SERVER: Added .AFRICA, .XN--MGBAI9AZGQP6J, .FUN, .RMIT, .HOSPITAL, .BOSTON, .DATA, .MOBILE, .PHONE, .HAIR, .LADBROKES, .CATHOLIC, .XN--80AQECDR1A, .XN--MGBI4ECEXP, .XN--TIQ49XQYJ, .RUGBY, .HOTELS, .GROCERY, .XN--MGBAAKC7DVF, .MAP, .PHD, .SEARCH, .XN--2SCRJ9C, .XN--45BR5CYL, .XN--H2BREG3EVE, .XN--H2BRJ9C8C, .XN--MGBBH1A, .XN--MGBGU82A, .XN--RVC1E0AM3E, .ETISALAT
70
93
  - SERVER: Updated .LINK (GH-543), .AR, .MQ, .ARCHI, .BIO, .SKY, .GF, .KG, .STORAGE, .BIBLE
71
94
  - SERVER: Deleted .IINET, .MUTUELLE, .FLSMIDTH, .MTPC
72
95
 
73
96
 
74
- #### Release 4.0.1
97
+ ## Release 4.0.1
75
98
 
76
99
  - SERVER: Added .FREE, .HK.COM, .HK.ORG, .LTD.HK, .INC.HK, .BOX, .CRUISE, .FOOD, .JIO, .MOTO, .RELIANCE, .RIL
77
100
  - SERVER: Updated .ONLINE, .SITE, .STC, .STCGROUP
78
101
 
79
102
 
80
- #### Release 4.0.0
103
+ ## Release 4.0.0
81
104
 
82
105
  The WHOIS parsers are no longer part of this repository, and they have been extracted into a separate repository at https://github.com/weppos/whois-parser.
83
106
 
@@ -106,7 +129,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
106
129
  - REMOVED: Deleted deprecated Whois.query method.
107
130
 
108
131
 
109
- #### Release 3.6.5
132
+ ## Release 3.6.5
110
133
 
111
134
  - SERVER: Added .PARS, .XN--MGBT3DHD, .REDUMBRELLA, .TRV, .TUSHU, .WATCHES, .XN--ECKVDTC9D, .KFH, .KPN, .SHELL, .TRAVELERSINSURANCE, .WANGGOU, .XN--KPU716F, .XN--NGBE9E0A, .XN--PBT977C, .FORD, .JMP, .LINCOLN, .SAS, .STORAGE, .XN--JLQ61U9W7B, .ANALYTICS, .MOBILITY, .XN--MGBB9FBPOB, .CONTACT, .PID, .STAR, .WEBER, .BOSCH, .DEALER, .FOX, .LAMER, .ORIGINS, .REXROTH, .SAFETY, .SCHAEFFLER, .STATEFARM
112
135
 
@@ -117,7 +140,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
117
140
  - CHANGED: Updated whois.tld.ee to the new response format (GH-489, GH-490). [thanks @tanelj]
118
141
 
119
142
 
120
- #### Release 3.6.4
143
+ ## Release 3.6.4
121
144
 
122
145
  - SERVER: Added .ROCHER, .XN--VUQ861B, .CITYEATS, .CREDITUNION, .LIFESTYLE, .VANA, .COMSEC, .FAIRWINDS, .GRAINGER, .TAB, .BROADWAY, .AUDI, .BOEHRINGER, .BOSTIK, .BUGATTI, .LAMBORGHINI, .VERISIGN, .VIP., .SFR, .INSURANCE, .MED, .NORTON, .SYMANTEC, .AUTHOR, .BOOK, .BOT, .BUY, .CALL, .CIRCLE, .FAST, .FIRESTONE, .GOT, .JOT, .JOY, .LIKE, .NOWRUZ, .PIN, .READ, .ROOM, .SAFE, .SALON, .SHARP, .SHIA, .SMILE, .TCI, .TRAVELERS, .ZERO
123
146
 
@@ -140,7 +163,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
140
163
  - CHANGED: whois.aero now recognizes reserved domains (GH-464, GH-418). [thanks @linrock]
141
164
 
142
165
 
143
- #### Release 3.6.3
166
+ ## Release 3.6.3
144
167
 
145
168
  - SERVER: Added .ACO, .AAA, .GEA, .STCGROUP, .VIVA, .GROUP, .CEB, .FAGE, .MOM, .AMICA, .STC, .CIPRIANI, .KINDER, .XN--11B4C3D, .XN--3PXU8K, .XN--42C2D9A, .XN--9DBQ2A, .XN--C2BR7G, .XN--FHBEI, .XN--J1AEF, .XN--MK1BU44C, .XN--PSSY2U, .XN--T60B56A, .XN--TCKWE, .XN--EFVY88H, .CSC, .CAR, .PROTECTION, .STADA, .THEATRE, .LINDE, .SECURITY, .BMS, .LTD, .OBI, .BOM, .FINAL, .HYUNDAI, .KIA, .SEVEN, .STOCKHOLM, .CLUBMED, .DELL, .ARAMCO, .XN--MGBA3A3EJT, .MOI, .MTR, .VIRGIN, .YAMAXUN, .GUCCI, .JAGUAR, .LANDROVER, .RWE, .ZARA, .MEO, .PING, .SAPO, .SBS, .AARP, .APPLE, .BEATS, .XN--MGBTX2B, .XN--QXAM
146
169
 
@@ -149,7 +172,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
149
172
  - SERVER: Disabled whois.edu.cn as it has not been working for the last 6 years (GH-59).
150
173
 
151
174
 
152
- #### Release 3.6.2
175
+ ## Release 3.6.2
153
176
 
154
177
  - SERVER: Updated .LOVE
155
178
 
@@ -160,7 +183,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
160
183
  - CHANGED: Added expires_on at "co.jp" domain (GH-437). [thanks @kubihie]
161
184
 
162
185
 
163
- #### Release 3.6.1
186
+ ## Release 3.6.1
164
187
 
165
188
  - SERVER: Added .co.com (GH-428) [thanks @turigabor], .STATOIL, .CROWN, .ACCOUNTANT, .DATE, .DOHA, .DOWNLOAD, .FAITH, .LOAN, .MOVIE, .MTN, .PANERAI, .REVIEW, .TICKETS, .WIN, .ACCENTURE, .NEC, .PHILIPS, .XN--FJQ720A, .COUPONS, .ICBC, .SOCCER, .FYI, .JLL, .MBA, .THD, .BBVA, .SANDVIK, .SANDVIKCOROMANT, .WALTER, .AIRTEL, .BARCELONA, .BCN, .GAME, .JPRS, .LIVE, .STUDIO, .BING, .HOTMAIL, .JLC, .MICROSOFT, .WINDOWS, .PLAY, .AEG, .DRIVE, .GENTING, .CBA, .COMMBANK, .NETBANK, .RICOH, .STARHUB, .VISTA, .VISTAPRINT, .OFFICE, .SCOR, .SKYPE, .LAW, .BNL, .BRADESCO, .HOTELES, .OMEGA, .SWATCH, .TELEFONICA, .LANCASTER, .NOKIA, .ICE, .ITAU, .LEXUS, .MAN, .BET, .SANOFI, .SRL, .TATAMOTORS, .IPIRANGA, .LEXUS, .PET, .TOYOTA, .LIXIL, .BOOTS, .CHANEL, .VIN, .WINE, .XPERIA, .GIVING, .FAMILY, .SEEK
166
189
 
@@ -171,7 +194,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
171
194
  - CHANGED: Updated whois.nic.as to the new response format (GH-334). [thanks @case]
172
195
 
173
196
 
174
- #### Release 3.6.0
197
+ ## Release 3.6.0
175
198
 
176
199
  - SERVER: Added .MMA, .XN--30RR7Y, .LOVE, .SCHOLARSHIPS, .XN--NYQY26A, .CYOU, .RACING, .XN--KCRX77D1X4A, .DOOSAN, .GARDEN, .IWC, .LIDL, .OSAKA, .SCHWARZ, .SEW, .SALE, .VIDEO, .ZUERICH, .SHRIRAM, .BANK, .FIT, .KDDI, .LAT, .LOTTE, .MARRIOTT, .BARCLAYCARD, .BARCLAYS, .DABUR, .DCLK, .DESIGN, .GOOG, .HANGOUT, .HERMES, .IFM, .JCB, .TEMASEK, .XN--B4W605FERD, .BINGO, .CANON, .CHAT, .STYLE, .TENNIS, .TOSHIBA, .CASINO, .FANS, .FOOTBALL, .GOLDPOINT, .SCHOOL, .YODOBASHI, .EPSON, .GOO, .JAVA, .LECLERC, .ORACLE, .MAIF, .XN--MXTQ1M, .DATSUN, .INFINITI, .MTPC, .NISSAN, .BROTHER, .CHLOE, .ERNI, .FOREX, .MARKETS, .CFD, .SPREADBETTING, .TRADING, .FAN, .ONLINE, .PAGE, .PIAGET, .SITE, .BBC, .NEWS, .TECH, .KOMATSU, .SAP, .BOND, .XN--9ET52U, .AFL, .REDSTONE, .SEAT, .SEX, .BROKER, .DOG, .RENT, .SWISS, .HONDA, .WEIR, .BRIDGESTONE, .HITACHI, .SENER, .TORAY, .SKY, .XN--IMR513N, .BIBLE, .HOMEDEPOT, .XBOX, .AZURE, .ICU, .THEATER, .EARTH, .EXPRESS, .CAFE, .BAUHAUS, .ADS, .FILM, .GOLD, .GOLF, .GUGE, .PLUS, .TOURS, .XN--VUQ861B, .JEWELRY, .SHOW, .SONY, .TEAM, .XEROX, .AIG, .AUTO, .CARS, .CFA, .LIAISON, .LOL, .NADEX, .HOCKEY, .RUN, .TAXI, .XN--ESTV75G, .XN--MGBPL2FH, .XN--Y9A3AQ, .CORSICA, .LUPIN, .APP, .SAKURA, .BENTLEY, .HSBC, .IINET, .ORANGE, .FORUM, .REALTY, .AUTOS, .LASALLE, .MONTBLANC, .BHARTI, .SNCF, .MEN
177
200
 
@@ -186,7 +209,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
186
209
  - CHANGED: Updated .MA parser and definition from whois.iam.net.ma to whois.registre.ma
187
210
 
188
211
 
189
- #### Release 3.5.9
212
+ ## Release 3.5.9
190
213
 
191
214
  - SERVER: Added .KYOTO, .ONE, .CRICKET, .PARTY, .XN--45Q11C, XN--CZRS0T, .SAMSUNG, .CARTIER, .ADULT, .EUROVISION, .FASHION, .PORN, .TRUST, .KOELN, .XN--C1AVG, .NYC, .SAMSUNG, .COACH, .EVERBANK, .LEGAL, .MEMORIAL, .MONEY, .AQUARELLE, .IRISH, .LATROBE, .XN--HXT814E, .SKY, .DEV, .DOCS, .TYRES, .DOOSAN, .NTT, .AMSTERDAM, .FLOWERS, .GGEE, .CBN, .GDN, .APARTMENTS, .NICO, .SAXO, .BOATS, .COURSES, .STUDY, .SUCKS, .XN--90AIS, .ABBOTT, .PICTET, .XIN, .FANS
192
215
 
@@ -195,7 +218,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
195
218
  - FIXED: whois.schlund.info crashes with empty update date (GH-398). [thanks @alexaitken]
196
219
 
197
220
 
198
- #### Release 3.5.8
221
+ ## Release 3.5.8
199
222
 
200
223
  - SERVER: Created .FIRMDALE, .MADRID, .XN--FLW351E, .XN--QCKA1PMC, .LDS, .MORMON
201
224
 
@@ -208,14 +231,14 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
208
231
  - FIXED: Fixed the ARIN referral regex to correctly consider ports optional (GH-350). [thanks @jrideout]
209
232
 
210
233
 
211
- #### Release 3.5.7
234
+ ## Release 3.5.7
212
235
 
213
236
  - SERVER: Updated .AW, .BW, .GQ, .MK, .ML, .MZ, .PF, .VU, .ZM, .KIWI, .CAREER, .REISE, .VERSICHERUNG, .HOST, .PRESS, .HAMBURG, .BRUSSELS, .VLAANDEREN
214
237
 
215
238
  - SERVER: Created .BLOOMBERG, .ENERGY, .YANDEX, .PRAXI, .WHOSWHO, .WILLIAMHILL, .SUZUKI, .SCIENCE, .REALTOR, .SYDNEY, .TAIPEI, .DELIVERY, .DIRECT, .PLACE, .CITY, .DEALS, .AUCTION, .HEALTHCARE, .CANCERRESEARCH, .CUISINELLA, .SCHMIDT, .MELBOURNE, .KRD, .NRW, .SCB, .LACAIXA, .LGBT, .NGO, .ONG, .SPIEGEL, .NRA, .GENT, .REIT, .ANDROID, .TOP, .WALES, .SCA, .BNPPARIBAS, .EMERCK, .TATAR, .CYMRU, .RESTAURANT, .SARL, .XN--1QQW23A, .XN--XHQ521B, .NETWORK, .BUSINESS, .XN--VHQUV, .GIFTS, .HOSTING, .HELP, .DIET, .OOO, .UOL, .PROPERTY, .LTDA, .HOW, .CARAVAN, .CLICK, .CERN, .HERE, .ESQ, .GMAIL, .YOUTUBE, .PROD, .GBIZ, .IMMO, .OTSUKA, .DAD, .BOO, .DAY, .EAT, .FRL, .MOV, .NEW, .RSVP, .MEME, .ZIP, .PROF, .NEXUS, .GOOGLE, .GLE, .FLY, .CHROME, .CHANNEL, .CAL, .ING, .WORLD, .PIZZA, .PHARMACY, .WME, .GMX, .HOMES, .HORSE, .XN--P1ACF, .TUI, .POHL, .ALLFINANZ, .DVAG, .XN--VERMGENSBERATUNG-PWB, .XN--VERMGENSBERATER-CTB, .FORSALE, .IBM, .ALSACE, .ABOGADO, .BAND, .CRS, .FLSMIDTH, .POKER, .RIP, .WEDDING, .YOGA, .BUDAPEST, .CASA, .WORK
216
239
 
217
240
 
218
- #### Release 3.5.6
241
+ ## Release 3.5.6
219
242
 
220
243
  - SERVER: Created .AUDIO, .BEER, .CHURCH, .GUIDE, .HIPHOP, .JUEGOS, .LIFE, .LOANS, .LUXE, .BEST, .AUTOS, .HOMES, .MOTORCYCLES, .REISE, .RIO, .VERSICHERUNG, .YACHTS, .XN, .DEGREE, .SPACE, .WEBSITE, .ATTORNEY, .DENTIST, .HIV, .HOST, .LAWYER, .MARKET, .MORTGAGE, .PRESS, .SOFTWARE, .VET, .BIO, .ARMY, .ENGINEER, .GIVES, .HAMBURG, .NAVY, .NHK, .REHAB, .REPUBLICAN, .TIROL, .GLOBAL, .ORGANIC, .SCOT, .BZH, .XN, .BRUSSELS, .SURF, .VLAANDEREN, .CAPETOWN, .DURBAN, .GREEN, .JOBURG, .LOTTO, .OVH, .PHYSIO, .BMW, .CEO, .MINI, .ACTIVE
221
244
 
@@ -226,7 +249,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
226
249
  - FIXED: whois.register.com parser crashes when the update date is empty (GH-353). [thanks @alexaitken]
227
250
 
228
251
 
229
- #### Release 3.5.5
252
+ ## Release 3.5.5
230
253
 
231
254
  - NEW: Added registrar and contact support for whois.dns.lu (GH-329). [thanks @huyphan]
232
255
 
@@ -241,7 +264,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
241
264
  - FIXED: whois.nic.gd parser crashes when the domain is reserved (GH-335). [thanks @case]
242
265
 
243
266
 
244
- #### Release 3.5.4
267
+ ## Release 3.5.4
245
268
 
246
269
  - SERVER: Created .QUEBEC, .COLLEGE, .DESI, .FEEDBACK, .ROCKS, .XN, .ASSOCIATES, .CAPITAL, .CAREER, .ENGINEERING, .EUS, .GAL, .GRIPE, .LEASE, .MEDIA, .PICTURES, .REISEN, .SERVICES, .TOWN, .TOYS, .UNIVERSITY, .XN, .FOO, .FROGANS, .PARIS, .SOY, .BLACKFRIDAY, .CLINIC, .FITNESS, .SCHULE, .CARE, .CASH, .DENTAL, .DISCOUNT, .EXCHANGE, .FAIL, .FINANCIAL, .FUND, .FURNITURE, .GRATIS, .INVESTMENTS, .LIMITED, .SURGERY, .TAX, .WTF, .MOSCOW, .XN, .CREDITCARD, .FINANCE, .INSURE, .WTC, .AIRFORCE, .BAYERN, .GLOBO, .ACCOUNTANTS, .CLAIMS, .CREDIT, .DIGITAL
247
270
 
@@ -262,17 +285,17 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
262
285
  - CHANGED: whois.cctld.uz now supports updated_on (GH-315). [thanks @huyphan]
263
286
 
264
287
 
265
- #### Release 3.5.3
288
+ ## Release 3.5.3
266
289
 
267
290
  - CHANGED: Updated whois.pir.org to the new response format.
268
291
 
269
292
 
270
- #### Release 3.5.2
293
+ ## Release 3.5.2
271
294
 
272
295
  - SERVER: Added new gTLDs
273
296
 
274
297
 
275
- #### Release 3.5.1
298
+ ## Release 3.5.1
276
299
 
277
300
  - NEW: Added whois.corporatedomains.com parser (GH-311). [thanks @huyphan]
278
301
 
@@ -287,7 +310,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
287
310
  - FIXED: whois.ua parser crashes when the status is clientTransferProhibited.
288
311
 
289
312
 
290
- #### Release 3.5.0
313
+ ## Release 3.5.0
291
314
 
292
315
  - SERVER: Updated list of latest ASN allocations of 16-bit & 32-bit ASN's from IANA (GH-293). [thanks @itsbalamurali]
293
316
 
@@ -304,7 +327,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
304
327
  - FIXED: whois.registry.net.za parser crashes with some registrant contact formats.
305
328
 
306
329
 
307
- #### Release 3.4.5
330
+ ## Release 3.4.5
308
331
 
309
332
  - SERVER: Added new IDN TLDs: .XN--3BST00M, .XN--3DS443G, .XN--55QX5D, .XN--6FRZ82G, .XN--6QQ986B3XL, .XN--FIQ228C5HS, .XN--FIQ64B, .XN--IO0A7I, .XN--CG4BKI, .XN--MGBAB2BD, .XN--55QW42G, .XN--ZFR164B
310
333
 
@@ -329,7 +352,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
329
352
  - CHANGED: Afilias is using a slightly different whois response for some TLDs, including .INFO and .XXX (GH-304)
330
353
 
331
354
 
332
- #### Release 3.4.4
355
+ ## Release 3.4.4
333
356
 
334
357
  - CHANGED: Updated IBC parser and fixtures (.IO, .AC, .SH and .TM).
335
358
 
@@ -338,7 +361,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
338
361
  - CHANGED: Updated whois.pir.org parser to the new response format (GH-300). [thanks @muffinista]
339
362
 
340
363
 
341
- #### Release 3.4.3
364
+ ## Release 3.4.3
342
365
 
343
366
  - SERVER: Updated .COM, .NET, .CC, .WS TLD definitions.
344
367
 
@@ -361,14 +384,14 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
361
384
  - CHANGED: Updated whois.nic.gl parser to the new response format.
362
385
 
363
386
 
364
- #### Release 3.4.2
387
+ ## Release 3.4.2
365
388
 
366
389
  - CHANGED: Updated whois.registry.net.za parser to the new response format.
367
390
 
368
391
  - CHANGED: Updated whois.ascio.com parser to the new response format (GH-285). [thanks @takama]
369
392
 
370
393
 
371
- #### Release 3.4.1
394
+ ## Release 3.4.1
372
395
 
373
396
  - SERVER: Updated .XN--NGBC5AZD IDN TLD definition.
374
397
 
@@ -391,7 +414,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
391
414
  - CHANGED: Updated whois.gandi.net parser to the new response format.
392
415
 
393
416
 
394
- #### Release 3.4.0
417
+ ## Release 3.4.0
395
418
 
396
419
  - SERVER: Added .XN--MGBX4CD0AB (.ایران, Iran) IDN TLD definition.
397
420
 
@@ -428,7 +451,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
428
451
  - CHANGED: Updated whois.register.com parser to the new response format (GH-273). [thanks @gromnsk]
429
452
 
430
453
 
431
- #### Release 3.3.1
454
+ ## Release 3.3.1
432
455
 
433
456
  - SERVER: Updated .KR, .ES (GH-267) TLD definitions.
434
457
 
@@ -439,7 +462,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
439
462
  - CHANGED: Updated whois.enom.com parser to the new response format (GH-269). [thanks @takama]
440
463
 
441
464
 
442
- #### Release 3.3.0
465
+ ## Release 3.3.0
443
466
 
444
467
  - SERVER: Added .CF TLD definition.
445
468
 
@@ -462,7 +485,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
462
485
  - FIXED: whois.jprs.jp should support `Registered` status (GH-253). [thanks @Pietr]
463
486
 
464
487
 
465
- #### Release 3.2.1
488
+ ## Release 3.2.1
466
489
 
467
490
  - NEW: Added full whois.nic.tr parser.
468
491
 
@@ -483,7 +506,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
483
506
  - CHANGED: Deprecate Whois::Record::Contact::TYPE_ADMIN in favor of Whois::Record::Contact::TYPE_ADMINISTRATIVE
484
507
 
485
508
 
486
- #### Release 3.2.0
509
+ ## Release 3.2.0
487
510
 
488
511
  - SERVER: Added .JP.NET (GH-240), XN--J1AMH TLD definitions.
489
512
 
@@ -506,7 +529,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
506
529
  - FIXED: Arin adapter is incorrectly passing an Arin flag to referral queries.
507
530
 
508
531
 
509
- #### Release 3.1.3
532
+ ## Release 3.1.3
510
533
 
511
534
  - SERVER: Updated .GD (GH-227), .TC (GH-228) TLD definitions.
512
535
 
@@ -523,7 +546,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
523
546
  - FIXED: whois.ua is mixing two kinds of responses (GH-235).
524
547
 
525
548
 
526
- #### Release 3.1.2
549
+ ## Release 3.1.2
527
550
 
528
551
  - NEW: Added full whois.comlaude.com parser (GH-222). [thanks @delwyn]
529
552
 
@@ -542,12 +565,12 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
542
565
  - FIXED: whois.nic.fr parser crashes when the contact has no changed attribute (GH-226).
543
566
 
544
567
 
545
- #### Release 3.1.1
568
+ ## Release 3.1.1
546
569
 
547
570
  - FIXED: Fixed CLI crash (GH-219). [thanks @linrock]
548
571
 
549
572
 
550
- #### Release 3.1.0
573
+ ## Release 3.1.0
551
574
 
552
575
  - SERVER: Added .POST (GH-192) TLD definition.
553
576
 
@@ -578,7 +601,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
578
601
  - FIXED: Record#technical_contact raised a NoMethodError (GH-217). [thanks @yspro]
579
602
 
580
603
 
581
- #### Release 3.0.0
604
+ ## Release 3.0.0
582
605
 
583
606
  - SERVER: Added .AX TLD definition.
584
607
 
@@ -720,7 +743,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
720
743
  - Whois::PropertyNotAvailable -> Whois::AttributeNotImplemented
721
744
 
722
745
 
723
- #### Release 2.7.0
746
+ ## Release 2.7.0
724
747
 
725
748
  - SERVER: Added .IQ TLD server (GH-171).
726
749
 
@@ -759,7 +782,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
759
782
  - CHANGED: whois.dns.pl now supports expires_on (GH-185). [thanks @y3ti]
760
783
 
761
784
 
762
- #### Release 2.6.4
785
+ ## Release 2.6.4
763
786
 
764
787
  - SERVER: Added .CW TLD server.
765
788
 
@@ -794,7 +817,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
794
817
  - CHANGED: Removed support for .gemtest and removed /spec folder from the packaged gem.
795
818
 
796
819
 
797
- #### Release 2.6.3
820
+ ## Release 2.6.3
798
821
 
799
822
  - NEW: whois.registrypro.pro is now a full parser.
800
823
 
@@ -807,7 +830,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
807
830
  - CHANGED: Updated whois.registrypro.pro parser to the new response format.
808
831
 
809
832
 
810
- #### Release 2.6.2
833
+ ## Release 2.6.2
811
834
 
812
835
  - SERVER: Added .SX TLD server (GH-170).
813
836
 
@@ -818,7 +841,7 @@ The `whois` library is now simply a WHOIS client. If you want to use the parsing
818
841
  - NEW: whois.ua parser is now a full parser (GH-169). [thanks @Uko]
819
842
 
820
843
 
821
- #### Release 2.6.1
844
+ ## Release 2.6.1
822
845
 
823
846
  - Reverted partial commit about .SX definitions included in v2.6.0 by mistake.
824
847
 
data/CONTRIBUTING.md CHANGED
@@ -4,39 +4,39 @@
4
4
 
5
5
  Fork, then clone the repo:
6
6
 
7
- ~~~
7
+ ```
8
8
  git clone git@github.com:your-username/whois.git
9
- ~~~
9
+ ```
10
10
 
11
11
  Set up your machine:
12
12
 
13
- ~~~
13
+ ```
14
14
  bundle
15
- ~~~
15
+ ```
16
16
 
17
17
  Make sure the tests pass:
18
18
 
19
- ~~~
19
+ ```
20
20
  bundle exec rake
21
- ~~~
21
+ ```
22
22
 
23
23
  To propose a change/feature/patch, create your feature branch:
24
24
 
25
- ~~~
25
+ ```
26
26
  git checkout -b my-new-feature
27
- ~~~
27
+ ```
28
28
 
29
29
  Make your change. Add tests for your change. Make the tests pass:
30
30
 
31
- ~~~
31
+ ```
32
32
  bundle exec rake
33
- ~~~
33
+ ```
34
34
 
35
35
  Commit your changes:
36
36
 
37
- ~~~
37
+ ```
38
38
  git commit -am 'Add some feature'
39
- ~~~
39
+ ```
40
40
 
41
41
  Push to your fork and [submit a pull request](https://github.com/weppos/whois/compare/).
42
42
 
data/Gemfile CHANGED
@@ -1,3 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
6
+
7
+ gem "rubocop", "1.12.1", require: false
8
+ gem 'rubocop-rspec', require: false
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2009-2020 Simone Carletti
3
+ Copyright (c) 2009-2022 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
@@ -4,7 +4,7 @@
4
4
 
5
5
  This library was extracted from [RoboWhois](https://robowhois.com/) and [RoboDomain](https://robodomain.com/), and it's now in use at [DNSimple](https://dnsimple.com/). It has been performing queries in production since July 2009.
6
6
 
7
- [![Build Status](https://travis-ci.org/weppos/whois.svg?branch=master)](https://travis-ci.org/weppos/whois)
7
+ [![Build Status](https://github.com/weppos/whois/actions/workflows/tests.yml/badge.svg)](https://github.com/weppos/whois/actions/workflows/tests.yml)
8
8
 
9
9
 
10
10
  ## Donate a coffee
@@ -42,25 +42,25 @@ For older versions of Ruby, see the [CHANGELOG](CHANGELOG.md).
42
42
 
43
43
  You can install the gem manually:
44
44
 
45
- ~~~shell
45
+ ```shell
46
46
  gem install whois
47
- ~~~
47
+ ```
48
48
 
49
49
  Or use [Bundler](http://bundler.io/) and define it as a dependency in your `Gemfile`:
50
50
 
51
- ~~~ruby
51
+ ```ruby
52
52
  gem 'whois'
53
- ~~~
53
+ ```
54
54
 
55
55
  To use the WHOIS parser component you need to install the `whois-parser` gem:
56
56
 
57
- ~~~shell
57
+ ```shell
58
58
  gem install whois-parser
59
- ~~~
59
+ ```
60
60
 
61
- ~~~ruby
61
+ ```ruby
62
62
  gem 'whois-parser'
63
- ~~~
63
+ ```
64
64
 
65
65
  The `whois-parser` gem already depends on the `whois` gem. If you install `whois-parser`, `whois` will be installed as well and it will also be automatically required when you `require 'whois-parser'`.
66
66
 
@@ -77,7 +77,7 @@ This section covers only the essentials for getting started with the Whois libra
77
77
 
78
78
  Check out the following examples:
79
79
 
80
- ~~~ruby
80
+ ```ruby
81
81
  # Domain WHOIS
82
82
  whois = Whois::Client.new
83
83
  whois.lookup("google.com")
@@ -97,29 +97,29 @@ whois.lookup("74.125.67.100")
97
97
  whois = Whois::Client.new
98
98
  whois.lookup("2001:db8::1428:57ab")
99
99
  # => #<Whois::Record>
100
- ~~~
100
+ ```
101
101
 
102
102
  The query method is stateless. For this reason, you can safely re-use the same client instance for multiple queries.
103
103
 
104
- ~~~ruby
104
+ ```ruby
105
105
  whois = Whois::Client.new
106
106
  whois.lookup("google.com")
107
107
  whois.lookup(".com")
108
108
  whois.lookup("74.125.67.100")
109
109
  whois.lookup("2001:db8::1428:57ab")
110
110
  whois.lookup("google.it")
111
- ~~~
111
+ ```
112
112
 
113
113
  If you just need a WHOIS response and you don't care about a full control of the WHOIS client, the `Whois` module provides an all-in-one method called `Whois.whois`. This is the simplest way to send a WHOIS request.
114
114
 
115
- ~~~ruby
115
+ ```ruby
116
116
  Whois.whois("google.com")
117
117
  # => #<Whois::Record>
118
- ~~~
118
+ ```
119
119
 
120
120
  Did I mention you can even use blocks?
121
121
 
122
- ~~~ruby
122
+ ```ruby
123
123
  Whois::Client.new do |w|
124
124
  w.lookup("google.com")
125
125
  w.lookup(".com")
@@ -127,7 +127,7 @@ Whois::Client.new do |w|
127
127
  w.lookup("2001:db8::1428:57ab")
128
128
  w.lookup("google.it")
129
129
  end
130
- ~~~
130
+ ```
131
131
 
132
132
  ### Consuming the Record
133
133
 
@@ -135,7 +135,7 @@ Any WHOIS query returns a `Whois::Record`. This object looks like a String, but
135
135
 
136
136
  `Whois::Record` encapsulates a WHOIS record and provides the ability to parse the WHOIS response programmatically, when the `whois-parser` gem is installed and loaded.
137
137
 
138
- ~~~ruby
138
+ ```ruby
139
139
  require 'whois-parser'
140
140
 
141
141
  record = Whois.whois("google.it")
@@ -162,7 +162,7 @@ tech.name
162
162
  parser.nameservers.each do |nameserver|
163
163
  puts nameserver
164
164
  end
165
- ~~~
165
+ ```
166
166
 
167
167
  This feature is made possible by the <tt>Whois</tt> record parsers. Unfortunately, due to the lack of a global standard, each WHOIS server requires a specific parser. For this reason, the library doesn't support all existing WHOIS servers.
168
168
 
@@ -174,14 +174,14 @@ By default, each query run though the client has a timeout value of 5 seconds. I
174
174
 
175
175
  Of course, you can customize the timeout value setting a different value. If timeout is `nil`, the client will wait until the response is sent back from the server or the process is killed. Don't disable the timeout unless you really know what you are doing!
176
176
 
177
- ~~~ruby
177
+ ```ruby
178
178
  whois = Whois::Client.new(:timeout => 10)
179
179
  whois.timeout # => 10
180
180
  whois.timeout = 5
181
181
  whois.timeout # => 5
182
182
 
183
183
  whois.lookup("google.com")
184
- ~~~
184
+ ```
185
185
 
186
186
 
187
187
  ## Credits
@@ -213,4 +213,4 @@ Report issues or feature requests to [GitHub Issues](https://github.com/weppos/w
213
213
 
214
214
  ## License
215
215
 
216
- Copyright (c) 2009-2020 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
216
+ Copyright (c) 2009-2022 [Simone Carletti](https://simonecarletti.com/). This is Free Software distributed under the MIT license.
data/Rakefile CHANGED
@@ -1,33 +1,28 @@
1
- require 'bundler/gem_tasks'
1
+ # frozen_string_literal: true
2
2
 
3
+ require "bundler/gem_tasks"
3
4
 
4
- # Run test by default.
5
- task :default => :spec
6
- task :test => :spec
5
+ task default: [:test, :rubocop]
7
6
 
8
7
 
9
- require 'rspec/core/rake_task'
8
+ require "rspec/core/rake_task"
10
9
 
11
10
  RSpec::Core::RakeTask.new do |t|
12
11
  t.verbose = !ENV["VERBOSE"].nil?
13
12
  end
14
13
 
14
+ task test: :spec
15
15
 
16
- require 'yard'
17
16
 
18
- YARD::Rake::YardocTask.new(:yardoc) do |y|
19
- y.options = ["--output-dir", "yardoc"]
20
- end
17
+ require "rubocop/rake_task"
21
18
 
22
- namespace :yardoc do
23
- task :clobber do
24
- rm_r "yardoc" rescue nil
25
- end
26
- end
19
+ RuboCop::RakeTask.new
27
20
 
28
- task :clobber => "yardoc:clobber"
29
21
 
22
+ require "yard/rake/yardoc_task"
30
23
 
31
- Dir["tasks/**/*.rake"].each do |file|
32
- load(file)
24
+ YARD::Rake::YardocTask.new(:yardoc) do |y|
25
+ y.options = ["--output-dir", "yardoc"]
33
26
  end
27
+
28
+ CLOBBER.include "yardoc"