public_suffix 1.2.1 → 1.3.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.
- data/.travis.yml +7 -2
- data/CHANGELOG.md +7 -0
- data/README.md +17 -0
- data/lib/public_suffix/definitions.txt +45 -0
- data/lib/public_suffix/list.rb +18 -1
- data/lib/public_suffix/version.rb +2 -2
- data/public_suffix.gemspec +3 -3
- data/test/unit/list_test.rb +0 -2
- data/test/unit/public_suffix_test.rb +15 -0
- metadata +2 -2
data/.travis.yml
CHANGED
@@ -3,10 +3,15 @@ rvm:
|
|
3
3
|
- 1.8.7
|
4
4
|
- 1.9.2
|
5
5
|
- 1.9.3
|
6
|
+
- 2.0.0
|
6
7
|
- jruby-18mode
|
7
|
-
|
8
|
+
- jruby-19mode
|
8
9
|
- rbx-18mode
|
10
|
+
- rbx-19mode
|
9
11
|
- ree
|
10
12
|
notifications:
|
11
13
|
recipients:
|
12
|
-
- weppos@weppos.net
|
14
|
+
- weppos@weppos.net
|
15
|
+
matrix:
|
16
|
+
allow_failures:
|
17
|
+
- rvm: rbx-19mode
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -108,6 +108,23 @@ This library automatically recognizes Fully Qualified Domain Names. A FQDN is a
|
|
108
108
|
domain.tld
|
109
109
|
# => "com"
|
110
110
|
|
111
|
+
## Private domains
|
112
|
+
|
113
|
+
This library has support for switching off support for private (non-ICANN) domains
|
114
|
+
|
115
|
+
# Parse a domain on a private TLD
|
116
|
+
domain = PublicSuffix.parse("something.blogspot.com")
|
117
|
+
# => #<PublicSuffix::Domain>
|
118
|
+
domain.tld
|
119
|
+
# => "blogspot.com"
|
120
|
+
|
121
|
+
# Disable support for private TLDs
|
122
|
+
PublicSuffix::List.private_domains = false
|
123
|
+
# => #<PublicSuffix::List>
|
124
|
+
domain = PublicSuffix.parse("something.blogspot.com")
|
125
|
+
# => #<PublicSuffix::Domain>
|
126
|
+
domain.tld
|
127
|
+
# => "com"
|
111
128
|
|
112
129
|
## Feedback and bug reports
|
113
130
|
|
@@ -691,6 +691,14 @@ inf.cu
|
|
691
691
|
// cv : http://en.wikipedia.org/wiki/.cv
|
692
692
|
cv
|
693
693
|
|
694
|
+
// cw : http://www.una.cw/cw_registry/
|
695
|
+
// Confirmed by registry <registry@una.net> 2013-03-26
|
696
|
+
cw
|
697
|
+
com.cw
|
698
|
+
edu.cw
|
699
|
+
net.cw
|
700
|
+
org.cw
|
701
|
+
|
694
702
|
// cx : http://en.wikipedia.org/wiki/.cx
|
695
703
|
// list of other 2nd level tlds ?
|
696
704
|
cx
|
@@ -5308,6 +5316,9 @@ org.pn
|
|
5308
5316
|
edu.pn
|
5309
5317
|
net.pn
|
5310
5318
|
|
5319
|
+
// post : http://en.wikipedia.org/wiki/.post
|
5320
|
+
post
|
5321
|
+
|
5311
5322
|
// pr : http://www.nic.pr/index.asp?f=1
|
5312
5323
|
pr
|
5313
5324
|
com.pr
|
@@ -6950,4 +6961,38 @@ betainabox.com
|
|
6950
6961
|
// Requested by Tim Kramer <tkramer@rhcloud.com> 2012-10-24
|
6951
6962
|
rhcloud.com
|
6952
6963
|
|
6964
|
+
// Amazon Elastic Load Balancing : https://aws.amazon.com/elasticloadbalancing/
|
6965
|
+
// Requested by Scott Vidmar <svidmar@amazon.com> 2013-03-27
|
6966
|
+
elb.amazonaws.com
|
6967
|
+
|
6968
|
+
// Amazon S3 : https://aws.amazon.com/s3/
|
6969
|
+
// Requested by Courtney Eckhardt <coec@amazon.com> 2013-03-22
|
6970
|
+
s3.amazonaws.com
|
6971
|
+
s3-us-west-2.amazonaws.com
|
6972
|
+
s3-us-west-1.amazonaws.com
|
6973
|
+
s3-eu-west-1.amazonaws.com
|
6974
|
+
s3-ap-southeast-1.amazonaws.com
|
6975
|
+
s3-ap-southeast-2.amazonaws.com
|
6976
|
+
s3-ap-northeast-1.amazonaws.com
|
6977
|
+
s3-sa-east-1.amazonaws.com
|
6978
|
+
s3-us-gov-west-1.amazonaws.com
|
6979
|
+
s3-fips-us-gov-west-1.amazonaws.com
|
6980
|
+
s3-website-us-east-1.amazonaws.com
|
6981
|
+
s3-website-us-west-2.amazonaws.com
|
6982
|
+
s3-website-us-west-1.amazonaws.com
|
6983
|
+
s3-website-eu-west-1.amazonaws.com
|
6984
|
+
s3-website-ap-southeast-1.amazonaws.com
|
6985
|
+
s3-website-ap-southeast-2.amazonaws.com
|
6986
|
+
s3-website-ap-northeast-1.amazonaws.com
|
6987
|
+
s3-website-sa-east-1.amazonaws.com
|
6988
|
+
s3-website-us-gov-west-1.amazonaws.com
|
6989
|
+
|
6990
|
+
// Amazon CloudFront : https://aws.amazon.com/cloudfront/
|
6991
|
+
// Requested by Donavan Miller <donavanm@amazon.com> 2013-03-22
|
6992
|
+
cloudfront.net
|
6993
|
+
|
6994
|
+
// NYC.mn : http://www.information.nyc.mn
|
6995
|
+
// Requested by Matthew Brown <mattbrown@nyc.mn> 2013-03-11
|
6996
|
+
nyc.mn
|
6997
|
+
|
6953
6998
|
// ===END PRIVATE DOMAINS===
|
data/lib/public_suffix/list.rb
CHANGED
@@ -67,6 +67,23 @@ module PublicSuffix
|
|
67
67
|
@default = value
|
68
68
|
end
|
69
69
|
|
70
|
+
# Shows if support for private (non-ICANN) domains is enabled or not
|
71
|
+
#
|
72
|
+
# @return [Boolean]
|
73
|
+
def self.private_domains?
|
74
|
+
@private_domains != false
|
75
|
+
end
|
76
|
+
|
77
|
+
# Enables/disables support for private (non-ICANN) domains
|
78
|
+
# Implicitly reloads the list
|
79
|
+
# @param [Boolean] enable/disable support
|
80
|
+
#
|
81
|
+
# @return [PublicSuffix::List]
|
82
|
+
def self.private_domains=(value)
|
83
|
+
@private_domains = !!value
|
84
|
+
self.clear
|
85
|
+
end
|
86
|
+
|
70
87
|
# Sets the default rule list to +nil+.
|
71
88
|
#
|
72
89
|
# @return [self]
|
@@ -104,7 +121,7 @@ module PublicSuffix
|
|
104
121
|
new do |list|
|
105
122
|
input.each_line do |line|
|
106
123
|
line.strip!
|
107
|
-
|
124
|
+
break if !private_domains? && line.include?('===BEGIN PRIVATE DOMAINS===')
|
108
125
|
# strip blank lines
|
109
126
|
if line.empty?
|
110
127
|
next
|
data/public_suffix.gemspec
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "public_suffix"
|
5
|
-
s.version = "1.2.
|
5
|
+
s.version = "1.2.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Simone Carletti"]
|
9
|
-
s.date = "
|
9
|
+
s.date = "2013-03-26"
|
10
10
|
s.description = "PublicSuffix can parse and decompose a domain name into top level domain, domain and subdomains."
|
11
11
|
s.email = "weppos@weppos.net"
|
12
12
|
s.files = [".gemtest", ".gitignore", ".travis.yml", ".yardopts", "CHANGELOG.md", "Gemfile", "LICENSE.txt", "README.md", "Rakefile", "lib/public_suffix.rb", "lib/public_suffix/definitions.txt", "lib/public_suffix/domain.rb", "lib/public_suffix/errors.rb", "lib/public_suffix/list.rb", "lib/public_suffix/rule.rb", "lib/public_suffix/version.rb", "public_suffix.gemspec", "test/acceptance_test.rb", "test/test_helper.rb", "test/unit/domain_test.rb", "test/unit/errors_test.rb", "test/unit/list_test.rb", "test/unit/public_suffix_test.rb", "test/unit/rule_test.rb"]
|
13
|
-
s.homepage = "http://www.simonecarletti.com/code/
|
13
|
+
s.homepage = "http://www.simonecarletti.com/code/publicsuffix"
|
14
14
|
s.require_paths = ["lib"]
|
15
15
|
s.required_ruby_version = Gem::Requirement.new(">= 1.8.7")
|
16
16
|
s.rubygems_version = "1.8.24"
|
data/test/unit/list_test.rb
CHANGED
@@ -38,7 +38,6 @@ class PublicSuffix::ListTest < Test::Unit::TestCase
|
|
38
38
|
assert_equal PublicSuffix::List.new.add(rule), PublicSuffix::List.new.add(rule)
|
39
39
|
end
|
40
40
|
|
41
|
-
|
42
41
|
def test_add
|
43
42
|
assert_equal @list, @list.add(PublicSuffix::Rule.factory(""))
|
44
43
|
assert_equal @list, @list << PublicSuffix::Rule.factory("")
|
@@ -133,7 +132,6 @@ class PublicSuffix::ListTest < Test::Unit::TestCase
|
|
133
132
|
assert_equal PublicSuffix::List.new, PublicSuffix::List.default
|
134
133
|
end
|
135
134
|
|
136
|
-
|
137
135
|
def test_self_parse
|
138
136
|
list = PublicSuffix::List.parse(<<EOS)
|
139
137
|
// ***** BEGIN LICENSE BLOCK *****
|
@@ -51,6 +51,21 @@ class PublicSuffixTest < Test::Unit::TestCase
|
|
51
51
|
assert_equal "example", domain.sld
|
52
52
|
assert_equal "www", domain.trd
|
53
53
|
end
|
54
|
+
|
55
|
+
def test_private_domains_are_enabled_by_default
|
56
|
+
domain = PublicSuffix.parse("www.example.blogspot.com")
|
57
|
+
assert_equal "blogspot.com", domain.tld
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_disable_support_for_private_domains
|
61
|
+
begin
|
62
|
+
PublicSuffix::List.private_domains = false
|
63
|
+
domain = PublicSuffix.parse("www.example.blogspot.com")
|
64
|
+
assert_equal "com", domain.tld
|
65
|
+
ensure
|
66
|
+
PublicSuffix::List.private_domains = true
|
67
|
+
end
|
68
|
+
end
|
54
69
|
|
55
70
|
def test_self_parse_a_domain_with_custom_list
|
56
71
|
list = PublicSuffix::List.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: public_suffix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-03
|
12
|
+
date: 2013-04-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|