public-suffix-list 0.2.0 → 0.2.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
  SHA256:
3
- metadata.gz: 4006daada672cf9894459ab481c57db88766bc0e72a5a387d60eff7e5731b155
4
- data.tar.gz: 7b30374afa59207f4c71a58454af749f07b0b59b07a01e17d828bd00689e06f4
3
+ metadata.gz: e07ccdd8cb5bc94567fa0a93437e7c8cabd66a671d31d0a06030ec49aff9481f
4
+ data.tar.gz: 3a2ec9b5966283c4d11c4c1121109af701acb71331807b67aa45130c196da711
5
5
  SHA512:
6
- metadata.gz: 52ea05bd99cfee402a61c0d8f05a8080a53ada2e8842d5ad739effbc5b181093cf5f076223982a1480efe9d044dfefc51b4ee06e51cdb229c5b048dff429329a
7
- data.tar.gz: 54366755a919b771e77709af783e4bf2c436d76eddccf00eb9796bc59d9069b35775362f0c5b56ee91e8f921f40af7163fe097906d72594ee25205c57cdeee16
6
+ metadata.gz: a154df3dc9285612da36dfc1ec38b98fd6ed1697f473d50692275bbbe5e2285101bc0973097ce9c0d96b124eb8eb525fef3f6141399626b3e206647926ed0f15
7
+ data.tar.gz: 7d2bdcb047214593da9ad91479f678247bd2467ff46bbd5d6df72e2da8af63a440010210e400f15af0725ba1843d04f37885c87a85368638497a4e317c35f860
@@ -6,7 +6,7 @@ require "public_suffix_list/parser.rb"
6
6
 
7
7
  class PublicSuffixList
8
8
 
9
- VERSION = "0.2.0"
9
+ VERSION = "0.2.1"
10
10
 
11
11
  def self.config
12
12
  @@config ||= Config.new
@@ -58,18 +58,21 @@ class PublicSuffixList
58
58
  def split(domain)
59
59
  domain = domain.split(".")
60
60
  result = best(match(domain, rules, true))
61
+ return ["", "", ""] if result.empty?
61
62
  [gimme!(domain, result.size), gimme!(domain), domain].reverse.map { |d| d ? d.join(".") : "" }
62
63
  end
63
64
 
64
65
  def tld(domain)
65
66
  domain = domain.split(".")
66
67
  result = best(match(domain, rules, true))
68
+ return "" if result.empty?
67
69
  gimme!(domain, result.size).join(".")
68
70
  end
69
71
 
70
72
  def cdn(domain)
71
73
  domain = domain.split(".")
72
74
  result = best(match(domain, rules, true))
75
+ return "" if result.empty?
73
76
  gimme!(domain, result.size + 1).join(".")
74
77
  end
75
78
 
@@ -100,7 +103,7 @@ class PublicSuffixList
100
103
  end
101
104
  end
102
105
  if wildcard
103
- set << [domain.first]
106
+ set << [first]
104
107
  end
105
108
  set
106
109
  end
@@ -8,6 +8,20 @@ describe PublicSuffixList do
8
8
  public_suffix_list.split("www.home.foobar").should == ["www", "home", "foobar"]
9
9
  public_suffix_list.cdn("www.home.foobar").should == "home.foobar"
10
10
  public_suffix_list.tld("www.home.foobar").should == "foobar"
11
+ public_suffix_list.split("foobar").should == ["", "", "foobar"]
12
+ public_suffix_list.cdn("foobar").should == ""
13
+ public_suffix_list.tld("foobar").should == "foobar"
14
+ end
15
+
16
+ it "should handle wildcard domains" do
17
+ public_suffix_list = PublicSuffixList.new(:url => "spec/test.dat")
18
+ public_suffix_list.cache_file.should be nil
19
+ public_suffix_list.split("mm").should == ["", "", ""]
20
+ public_suffix_list.cdn("mm").should == ""
21
+ public_suffix_list.tld("mm").should == ""
22
+ public_suffix_list.split("c.mm").should == ["", "", "c.mm"]
23
+ public_suffix_list.cdn("c.mm").should == ""
24
+ public_suffix_list.tld("c.mm").should == "c.mm"
11
25
  end
12
26
 
13
27
  it "should calculate tld and cdn correctly" do
@@ -1,3 +1,5 @@
1
+ *.mm
2
+
1
3
  // data for cookie calculation, http://publicsuffix.org/format/
2
4
  com
3
5
  *.jp
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: public-suffix-list
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Todd Sundsted
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-04 00:00:00.000000000 Z
11
+ date: 2019-04-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Public Suffix List (http://publicsuffix.org/) is "a cross-vendor
14
14
  initiative to provide an accurate list of domain name suffixes". Such a list is