public_suffix 3.0.0 → 3.0.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cba2754580d47368f487d9d016a13684e9aa3440
4
- data.tar.gz: 39ca3d79f2cdc62903fa79970ab207264757ba3a
3
+ metadata.gz: 892f161e5f319655ce28c5471b8bfd52bee52d4a
4
+ data.tar.gz: c5336906cb205ba862b102f26913049ddfceb84c
5
5
  SHA512:
6
- metadata.gz: c84b5a8be3c0b4defbce1be5504a0ab41b2a4f9daf810cab5afbbabc0be0a1e857e73b7262027e163b107e5dfa7369c5fbcb49aa31b2fd2ac87e3165c39658e7
7
- data.tar.gz: 90f2aaa790fd8481c1462b2ee12c48312d118dbcbf7b0d27c2be1b5cf6a372e52493f051aff48adae8f2b4ac1054da72dcbbdab5c91a1e91e52555184ec076ee
6
+ metadata.gz: 61ff3cef06b748c5d1646d3b85100774efdede3f37966385661c3f7ed72ec1fbee793f6547ef772d0edea4350cf3b8b27229da7bc796b3301d19989364ec1217
7
+ data.tar.gz: 1b46049d7cd042cfc68a159fe336d17fa69bfb40097a5a0978b4d979005a966febf640b6b9ac61937940fd1bfc2e864c333605fadb9d2f9e7d9501baf497e944
@@ -6,6 +6,9 @@ AllCops:
6
6
  - 'tmp/**/*'
7
7
  - 'vendor/**/*'
8
8
 
9
+ Lint/RescueWithoutErrorClass:
10
+ Enabled: false
11
+
9
12
  # [codesmell]
10
13
  Metrics/AbcSize:
11
14
  Enabled: false
@@ -3,24 +3,22 @@ language: ruby
3
3
  rvm:
4
4
  - 2.1
5
5
  - 2.2
6
- - 2.3.3
7
- - 2.4.0
6
+ - 2.3
7
+ - 2.4
8
+ - jruby-9.1.5.0
8
9
  - ruby-head
9
- - jruby-9.0.5.0
10
- - jruby-9.1.0.0
11
10
 
12
- before_install:
13
- - gem update --system
14
- - gem install bundler
11
+ env:
12
+ - COVERALL=1
15
13
 
16
14
  cache:
17
15
  - bundler
18
16
 
19
- env:
20
- - COVERALL=1
21
-
22
17
  matrix:
23
18
  allow_failures:
24
19
  - rvm: ruby-head
25
- - rvm: jruby-9.0.5.0
26
20
  - rvm: jruby-9.1.0.0
21
+
22
+ before_install:
23
+ - rvm get latest
24
+ - gem install bundler
@@ -1,6 +1,12 @@
1
1
  # Changelog
2
2
 
3
3
 
4
+ #### Release 3.0.1
5
+
6
+ - CHANGED: Updated definitions.
7
+ - CHANGED: Improve performance and avoid allocation (GH-146). [Thanks @robholland]
8
+
9
+
4
10
  #### Release 3.0.0
5
11
 
6
12
  This new version includes a major redesign of the library internals, with the goal to drastically
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## Requirements
9
9
 
10
- - Ruby >= 2.0
10
+ - Ruby >= 2.1
11
11
 
12
12
  For an older versions of Ruby use a previous release.
13
13
 
@@ -399,24 +399,34 @@ tv.bo
399
399
  // br : http://registro.br/dominio/categoria.html
400
400
  // Submitted by registry <fneves@registro.br>
401
401
  br
402
+ abc.br
402
403
  adm.br
403
404
  adv.br
404
405
  agr.br
406
+ aju.br
405
407
  am.br
408
+ aparecida.br
406
409
  arq.br
407
410
  art.br
408
411
  ato.br
409
412
  b.br
410
413
  belem.br
414
+ bhz.br
411
415
  bio.br
412
416
  blog.br
413
417
  bmd.br
418
+ boavista.br
419
+ bsb.br
420
+ campinas.br
421
+ caxias.br
414
422
  cim.br
415
423
  cng.br
416
424
  cnt.br
417
425
  com.br
426
+ contagem.br
418
427
  coop.br
419
428
  cri.br
429
+ cuiaba.br
420
430
  def.br
421
431
  ecn.br
422
432
  eco.br
@@ -427,14 +437,17 @@ esp.br
427
437
  etc.br
428
438
  eti.br
429
439
  far.br
440
+ feira.br
430
441
  flog.br
431
442
  floripa.br
432
443
  fm.br
433
444
  fnd.br
445
+ fortal.br
434
446
  fot.br
435
447
  fst.br
436
448
  g12.br
437
449
  ggf.br
450
+ goiania.br
438
451
  gov.br
439
452
  // gov.br 26 states + df https://en.wikipedia.org/wiki/States_of_Brazil
440
453
  ac.gov.br
@@ -464,42 +477,65 @@ sc.gov.br
464
477
  se.gov.br
465
478
  sp.gov.br
466
479
  to.gov.br
480
+ gru.br
467
481
  imb.br
468
482
  ind.br
469
483
  inf.br
484
+ jab.br
470
485
  jampa.br
486
+ jdf.br
487
+ joinville.br
471
488
  jor.br
472
489
  jus.br
473
490
  leg.br
474
491
  lel.br
492
+ londrina.br
493
+ macapa.br
494
+ maceio.br
475
495
  mat.br
476
496
  med.br
477
497
  mil.br
498
+ morena.br
478
499
  mp.br
479
500
  mus.br
501
+ natal.br
480
502
  net.br
503
+ niteroi.br
481
504
  *.nom.br
482
505
  not.br
483
506
  ntr.br
484
507
  odo.br
485
508
  org.br
509
+ osasco.br
510
+ palmas.br
486
511
  poa.br
487
512
  ppg.br
488
513
  pro.br
489
514
  psc.br
490
515
  psi.br
516
+ pvh.br
491
517
  qsl.br
492
518
  radio.br
493
519
  rec.br
494
520
  recife.br
521
+ ribeirao.br
522
+ rio.br
523
+ riobranco.br
524
+ salvador.br
525
+ sampa.br
526
+ sjc.br
495
527
  slg.br
528
+ slz.br
529
+ sorocaba.br
496
530
  srv.br
497
531
  taxi.br
498
532
  teo.br
533
+ the.br
499
534
  tmp.br
500
535
  trd.br
501
536
  tur.br
502
537
  tv.br
538
+ udi.br
503
539
  vet.br
504
540
  vix.br
505
541
  vlog.br
@@ -6472,6 +6508,17 @@ lib.wy.us
6472
6508
  pvt.k12.ma.us
6473
6509
  chtr.k12.ma.us
6474
6510
  paroch.k12.ma.us
6511
+ // Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following
6512
+ // see also: http://domreg.merit.edu
6513
+ // see also: whois -h whois.domreg.merit.edu help
6514
+ ann-arbor.mi.us
6515
+ cog.mi.us
6516
+ dst.mi.us
6517
+ eaton.mi.us
6518
+ gen.mi.us
6519
+ mus.mi.us
6520
+ tec.mi.us
6521
+ washtenaw.mi.us
6475
6522
 
6476
6523
  // uy : http://www.nic.org.uy/
6477
6524
  uy
@@ -7473,9 +7520,6 @@ cheap
7473
7520
  // chintai : 2015-06-11 CHINTAI Corporation
7474
7521
  chintai
7475
7522
 
7476
- // chloe : 2014-10-16 Richemont DNS Inc.
7477
- chloe
7478
-
7479
7523
  // christmas : 2013-11-21 Uniregistry, Corp.
7480
7524
  christmas
7481
7525
 
@@ -8346,9 +8390,6 @@ how
8346
8390
  // hsbc : 2014-10-24 HSBC Holdings PLC
8347
8391
  hsbc
8348
8392
 
8349
- // htc : 2015-04-02 HTC corporation
8350
- htc
8351
-
8352
8393
  // hughes : 2015-07-30 Hughes Satellite Systems Corporation
8353
8394
  hughes
8354
8395
 
@@ -8802,12 +8843,6 @@ mattel
8802
8843
  // mba : 2015-04-02 Lone Hollow, LLC
8803
8844
  mba
8804
8845
 
8805
- // mcd : 2015-07-30 McDonald’s Corporation
8806
- mcd
8807
-
8808
- // mcdonalds : 2015-07-30 McDonald’s Corporation
8809
- mcdonalds
8810
-
8811
8846
  // mckinsey : 2015-07-31 McKinsey Holdings, Inc.
8812
8847
  mckinsey
8813
8848
 
@@ -8898,9 +8933,6 @@ money
8898
8933
  // monster : 2015-09-11 Monster Worldwide, Inc.
8899
8934
  monster
8900
8935
 
8901
- // montblanc : 2014-06-23 Richemont DNS Inc.
8902
- montblanc
8903
-
8904
8936
  // mopar : 2015-07-30 FCA US LLC.
8905
8937
  mopar
8906
8938
 
@@ -9132,9 +9164,6 @@ ovh
9132
9164
  // page : 2014-12-04 Charleston Road Registry Inc.
9133
9165
  page
9134
9166
 
9135
- // pamperedchef : 2015-02-05 The Pampered Chef, Ltd.
9136
- pamperedchef
9137
-
9138
9167
  // panasonic : 2015-07-30 Panasonic Corporation
9139
9168
  panasonic
9140
9169
 
@@ -10582,8 +10611,23 @@ us-east-1.amazonaws.com
10582
10611
 
10583
10612
  // Amazon Elastic Beanstalk : https://aws.amazon.com/elasticbeanstalk/
10584
10613
  // Submitted by Luke Wells <psl-maintainers@amazon.com>
10585
- elasticbeanstalk.cn-north-1.amazonaws.com.cn
10586
- *.elasticbeanstalk.com
10614
+ cn-north-1.eb.amazonaws.com.cn
10615
+ elasticbeanstalk.com
10616
+ ap-northeast-1.elasticbeanstalk.com
10617
+ ap-northeast-2.elasticbeanstalk.com
10618
+ ap-south-1.elasticbeanstalk.com
10619
+ ap-southeast-1.elasticbeanstalk.com
10620
+ ap-southeast-2.elasticbeanstalk.com
10621
+ ca-central-1.elasticbeanstalk.com
10622
+ eu-central-1.elasticbeanstalk.com
10623
+ eu-west-1.elasticbeanstalk.com
10624
+ eu-west-2.elasticbeanstalk.com
10625
+ sa-east-1.elasticbeanstalk.com
10626
+ us-east-1.elasticbeanstalk.com
10627
+ us-east-2.elasticbeanstalk.com
10628
+ us-gov-west-1.elasticbeanstalk.com
10629
+ us-west-1.elasticbeanstalk.com
10630
+ us-west-2.elasticbeanstalk.com
10587
10631
 
10588
10632
  // Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
10589
10633
  // Submitted by Luke Wells <psl-maintainers@amazon.com>
@@ -10871,6 +10915,10 @@ firm.dk
10871
10915
  reg.dk
10872
10916
  store.dk
10873
10917
 
10918
+ // Debian : https://www.debian.org/
10919
+ // Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>
10920
+ debian.net
10921
+
10874
10922
  // deSEC : https://desec.io/
10875
10923
  // Submitted by Peter Thomassen <peter@desec.io>
10876
10924
  dedyn.io
@@ -11398,6 +11446,10 @@ vladikavkaz.su
11398
11446
  vladimir.su
11399
11447
  vologda.su
11400
11448
 
11449
+ // Fancy Bits, LLC : http://getchannels.com
11450
+ // Submitted by Aman Gupta <aman@getchannels.com>
11451
+ channelsdvr.net
11452
+
11401
11453
  // Fastly Inc. : http://www.fastly.com/
11402
11454
  // Submitted by Fastly Security <security@fastly.com>
11403
11455
  fastlylb.net
@@ -11448,6 +11500,7 @@ myfusion.cloud
11448
11500
 
11449
11501
  // Futureweb OG : http://www.futureweb.at
11450
11502
  // Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>
11503
+ *.futurecms.at
11451
11504
  futurehosting.at
11452
11505
  futuremailing.at
11453
11506
  *.ex.ortsinfo.at
@@ -11630,6 +11683,10 @@ se.leg.br
11630
11683
  sp.leg.br
11631
11684
  to.leg.br
11632
11685
 
11686
+ // intermetrics GmbH : https://pixolino.com/
11687
+ // Submitted by Wolfgang Schwarz <admin@intermetrics.de>
11688
+ pixolino.com
11689
+
11633
11690
  // IPiFony Systems, Inc. : https://www.ipifony.com/
11634
11691
  // Submitted by Matthew Hardeman <mhardeman@ipifony.com>
11635
11692
  ipifony.net
@@ -11953,6 +12010,7 @@ protonet.io
11953
12010
  // Publication Presse Communication SARL : https://ppcom.fr
11954
12011
  // Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>
11955
12012
  chirurgiens-dentistes-en-france.fr
12013
+ byen.site
11956
12014
 
11957
12015
  // QA2
11958
12016
  // Submitted by Daniel Dent (https://www.danieldent.com/)
@@ -12180,10 +12238,15 @@ lib.de.us
12180
12238
  // Submitted by Simon Kissel <hostmaster@viprinet.com>
12181
12239
  router.management
12182
12240
 
12241
+ // Virtual-Info : https://www.virtual-info.info/
12242
+ // Submitted by Adnan RIHAN <hostmaster@v-info.info>
12243
+ v-info.info
12244
+
12183
12245
  // WeDeploy by Liferay, Inc. : https://www.wedeploy.com
12184
12246
  // Submitted by Henrique Vicente <security@wedeploy.com>
12185
12247
  wedeploy.io
12186
12248
  wedeploy.me
12249
+ wedeploy.sh
12187
12250
 
12188
12251
  // Western Digital Technologies, Inc : https://www.wdc.com
12189
12252
  // Submitted by Jung Jin <jungseok.jin@wdc.com>
@@ -51,9 +51,7 @@ module PublicSuffix
51
51
 
52
52
  # Sets the default rule list to +value+.
53
53
  #
54
- # @param [PublicSuffix::List] value
55
- # The new rule list.
56
- #
54
+ # @param value [PublicSuffix::List] the new list
57
55
  # @return [PublicSuffix::List]
58
56
  def self.default=(value)
59
57
  @default = value
@@ -63,9 +61,9 @@ module PublicSuffix
63
61
  #
64
62
  # See http://publicsuffix.org/format/ for more details about input format.
65
63
  #
66
- # @param string [#each_line] The list to parse.
67
- # @param private_domains [Boolean] whether to ignore the private domains section.
68
- # @return [Array<PublicSuffix::Rule::*>]
64
+ # @param string [#each_line] the list to parse
65
+ # @param private_domains [Boolean] whether to ignore the private domains section
66
+ # @return [PublicSuffix::List]
69
67
  def self.parse(input, private_domains: true)
70
68
  comment_token = "//".freeze
71
69
  private_token = "===BEGIN PRIVATE DOMAINS===".freeze
@@ -165,7 +165,7 @@ module PublicSuffix
165
165
  # we need to properly walk the input and skip parts according
166
166
  # to wildcard component.
167
167
  diff = name.chomp(value)
168
- diff.empty? || diff[-1] == DOT
168
+ diff.empty? || diff.end_with?(DOT)
169
169
  end
170
170
 
171
171
  # @abstract
@@ -6,5 +6,5 @@
6
6
 
7
7
  module PublicSuffix
8
8
  # The current library version.
9
- VERSION = "3.0.0".freeze
9
+ VERSION = "3.0.1".freeze
10
10
  end
@@ -28,10 +28,10 @@ class PublicSuffix::ListTest < Minitest::Test
28
28
  end
29
29
 
30
30
  def test_each_without_block
31
- list = PublicSuffix::List.parse(<<EOS)
31
+ list = PublicSuffix::List.parse(<<LIST)
32
32
  alpha
33
33
  beta
34
- EOS
34
+ LIST
35
35
 
36
36
  assert_kind_of Enumerator, list.each
37
37
  assert_equal 2, list.each.count
@@ -39,10 +39,10 @@ EOS
39
39
  end
40
40
 
41
41
  def test_each_with_block
42
- list = PublicSuffix::List.parse(<<EOS)
42
+ list = PublicSuffix::List.parse(<<LIST)
43
43
  alpha
44
44
  beta
45
- EOS
45
+ LIST
46
46
 
47
47
  entries = []
48
48
  list.each { |r| entries << r }
@@ -90,7 +90,7 @@ EOS
90
90
 
91
91
 
92
92
  def test_find
93
- list = PublicSuffix::List.parse(<<EOS)
93
+ list = PublicSuffix::List.parse(<<LIST)
94
94
  // This Source Code Form is subject to the terms of the Mozilla Public
95
95
  // License, v. 2.0. If a copy of the MPL was not distributed with this
96
96
  // file, You can obtain one at https://mozilla.org/MPL/2.0/.
@@ -116,7 +116,7 @@ io
116
116
  blogspot.com
117
117
 
118
118
  // ===END PRIVATE DOMAINS===
119
- EOS
119
+ LIST
120
120
 
121
121
  # match IANA
122
122
  assert_equal PublicSuffix::Rule.factory("com"), list.find("example.com")
@@ -186,7 +186,7 @@ EOS
186
186
  end
187
187
 
188
188
  def test_self_parse
189
- list = PublicSuffix::List.parse(<<EOS)
189
+ list = PublicSuffix::List.parse(<<LIST)
190
190
  // This Source Code Form is subject to the terms of the Mozilla Public
191
191
  // License, v. 2.0. If a copy of the MPL was not distributed with this
192
192
  // file, You can obtain one at https://mozilla.org/MPL/2.0/.
@@ -207,7 +207,7 @@ com
207
207
  blogspot.com
208
208
 
209
209
  // ===END PRIVATE DOMAINS===
210
- EOS
210
+ LIST
211
211
 
212
212
  assert_instance_of PublicSuffix::List, list
213
213
  assert_equal 4, list.size
@@ -224,7 +224,7 @@ EOS
224
224
  private
225
225
 
226
226
  def list
227
- @_list ||= PublicSuffix::List.parse(<<EOS)
227
+ @_list ||= PublicSuffix::List.parse(<<LIST)
228
228
  // com : http://en.wikipedia.org/wiki/.com
229
229
  com
230
230
 
@@ -233,7 +233,7 @@ com
233
233
  *.sch.uk
234
234
  !bl.uk
235
235
  !british-library.uk
236
- EOS
236
+ LIST
237
237
  end
238
238
 
239
239
  end
@@ -156,7 +156,7 @@ class PublicSuffixTest < Minitest::Test
156
156
  nil,
157
157
  "",
158
158
  " ",
159
- ].each do |input, _|
159
+ ].each do |input|
160
160
  error = PublicSuffix.normalize(input)
161
161
  assert_instance_of PublicSuffix::DomainInvalid, error
162
162
  assert_equal "Name is blank", error.message
@@ -166,7 +166,7 @@ class PublicSuffixTest < Minitest::Test
166
166
  def test_normalize_scheme
167
167
  [
168
168
  "https://google.com",
169
- ].each do |input, _|
169
+ ].each do |input|
170
170
  error = PublicSuffix.normalize(input)
171
171
  assert_instance_of PublicSuffix::DomainInvalid, error
172
172
  assert_match(/scheme/, error.message)
@@ -176,7 +176,7 @@ class PublicSuffixTest < Minitest::Test
176
176
  def test_normalize_leading_dot
177
177
  [
178
178
  ".google.com",
179
- ].each do |input, _|
179
+ ].each do |input|
180
180
  error = PublicSuffix.normalize(input)
181
181
  assert_instance_of PublicSuffix::DomainInvalid, error
182
182
  assert_match "Name starts with a dot", error.message
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: public_suffix
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simone Carletti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-04 00:00:00.000000000 Z
11
+ date: 2017-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake