public_suffix 1.2.1 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|