public_suffix 4.0.7 → 5.0.3
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 +4 -4
- data/.github/dependabot.yml +17 -6
- data/.github/workflows/psl-update.yml +38 -0
- data/.github/workflows/release.yml +5 -3
- data/.github/workflows/tests.yml +9 -7
- data/.rubocop.yml +1 -0
- data/.rubocop_opinionated.yml +0 -28
- data/CHANGELOG.md +27 -0
- data/Gemfile +2 -2
- data/LICENSE.txt +1 -1
- data/README.md +10 -3
- data/Rakefile +3 -3
- data/data/list.txt +613 -821
- data/lib/public_suffix/domain.rb +1 -1
- data/lib/public_suffix/errors.rb +1 -1
- data/lib/public_suffix/list.rb +2 -2
- data/lib/public_suffix/rule.rb +6 -6
- data/lib/public_suffix/version.rb +3 -4
- data/lib/public_suffix.rb +2 -2
- data/public_suffix.gemspec +1 -1
- data/test/acceptance_test.rb +4 -4
- data/test/psl_test.rb +1 -1
- data/test/unit/domain_test.rb +3 -3
- data/test/unit/list_test.rb +1 -1
- data/test/unit/rule_test.rb +15 -15
- metadata +10 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e1af6bf3459567ad50f3e92f35193b0950f65126fb70eefb3b996857e27355b
|
4
|
+
data.tar.gz: 37035f8608cf236276841847274d5a44ae6e648de84a682fbf4d6b3b0e55911e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9e211288208da6264e7ea5cb66098a19a07a26754d9c9f3a038c2a557306fb697ce4e325fb70e3d3806771e84491b3e6f35861670f6582b3ea0ed901234eef8
|
7
|
+
data.tar.gz: f01180755194f5c30dd49025dac3794c7ad5287dc5ef49129b27521aba03361efc1e6ab4f7f0e9474a391db83dd8498455b5e2537f78f64158a52de12e518065
|
data/.github/dependabot.yml
CHANGED
@@ -1,8 +1,19 @@
|
|
1
1
|
version: 2
|
2
2
|
updates:
|
3
|
-
- package-ecosystem: bundler
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
- package-ecosystem: bundler
|
4
|
+
directory: "/"
|
5
|
+
schedule:
|
6
|
+
interval: daily
|
7
|
+
time: "04:00"
|
8
|
+
open-pull-requests-limit: 10
|
9
|
+
labels:
|
10
|
+
- dependencies
|
11
|
+
|
12
|
+
- package-ecosystem: "github-actions"
|
13
|
+
directory: "/"
|
14
|
+
schedule:
|
15
|
+
interval: "daily"
|
16
|
+
time: "04:00"
|
17
|
+
open-pull-requests-limit: 10
|
18
|
+
labels:
|
19
|
+
- dependencies
|
@@ -0,0 +1,38 @@
|
|
1
|
+
name: PSL Update
|
2
|
+
|
3
|
+
on:
|
4
|
+
workflow_dispatch:
|
5
|
+
schedule:
|
6
|
+
- cron: '40 6 * * *'
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
update:
|
10
|
+
runs-on: ubuntu-latest
|
11
|
+
steps:
|
12
|
+
|
13
|
+
- name: Checkout
|
14
|
+
uses: actions/checkout@v3
|
15
|
+
|
16
|
+
- name: Set up Ruby
|
17
|
+
uses: ruby/setup-ruby@v1
|
18
|
+
with:
|
19
|
+
ruby-version: "3.1"
|
20
|
+
bundler-cache: true
|
21
|
+
|
22
|
+
- name: Update PSL
|
23
|
+
run: bundle exec rake update-list
|
24
|
+
|
25
|
+
- name: Create Pull Request
|
26
|
+
uses: peter-evans/create-pull-request@v5
|
27
|
+
with:
|
28
|
+
title: PSL auto-update
|
29
|
+
commit-message: Updated list from source
|
30
|
+
reviewers: weppos
|
31
|
+
add-paths: |
|
32
|
+
data/list.txt
|
33
|
+
|
34
|
+
- name: Check Pull Request
|
35
|
+
if: ${{ steps.cpr.outputs.pull-request-number }}
|
36
|
+
run: |
|
37
|
+
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
|
38
|
+
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
|
@@ -1,16 +1,18 @@
|
|
1
|
-
name:
|
1
|
+
name: Release
|
2
2
|
|
3
3
|
on:
|
4
4
|
push:
|
5
5
|
tags:
|
6
6
|
- v*.*.*
|
7
|
+
|
7
8
|
jobs:
|
8
9
|
release:
|
9
10
|
runs-on: ubuntu-latest
|
10
11
|
steps:
|
11
|
-
-
|
12
|
+
- name: Checkout
|
13
|
+
uses: actions/checkout@v3
|
12
14
|
- name: Release Gem
|
13
|
-
uses: cadwallion/publish-rubygems-action@
|
15
|
+
uses: cadwallion/publish-rubygems-action@94a6f4cd5350581749c569b5001eecc864e3ad0b
|
14
16
|
env:
|
15
17
|
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|
16
18
|
RELEASE_COMMAND: rake release
|
data/.github/workflows/tests.yml
CHANGED
@@ -6,7 +6,7 @@ on:
|
|
6
6
|
workflow_dispatch:
|
7
7
|
|
8
8
|
jobs:
|
9
|
-
|
9
|
+
test:
|
10
10
|
strategy:
|
11
11
|
matrix:
|
12
12
|
ruby-version:
|
@@ -14,15 +14,17 @@ jobs:
|
|
14
14
|
- "2.7"
|
15
15
|
- "3.0"
|
16
16
|
- "3.1"
|
17
|
-
|
18
|
-
runs-on:
|
17
|
+
- "3.2"
|
18
|
+
runs-on: ubuntu-latest
|
19
19
|
steps:
|
20
|
-
-
|
20
|
+
- name: Checkout
|
21
|
+
uses: actions/checkout@v3
|
21
22
|
- name: Set up Ruby
|
22
23
|
uses: ruby/setup-ruby@v1
|
23
24
|
with:
|
24
25
|
ruby-version: ${{ matrix.ruby-version }}
|
25
|
-
|
26
|
-
|
26
|
+
bundler-cache: true
|
27
|
+
- name: Rubocop
|
28
|
+
run: bundle exec rake rubocop
|
27
29
|
- name: Run tests
|
28
|
-
run: bundle exec rake
|
30
|
+
run: bundle exec rake test
|
data/.rubocop.yml
CHANGED
data/.rubocop_opinionated.yml
CHANGED
@@ -15,12 +15,6 @@ Layout/LineLength:
|
|
15
15
|
- 'test/**/*_test.rb'
|
16
16
|
Max: 100
|
17
17
|
|
18
|
-
Lint/ConstantDefinitionInBlock:
|
19
|
-
Exclude:
|
20
|
-
- 'Rakefile'
|
21
|
-
- 'spec/**/*'
|
22
|
-
- 'test/**/*'
|
23
|
-
|
24
18
|
# [codesmell]
|
25
19
|
Metrics/AbcSize:
|
26
20
|
Enabled: false
|
@@ -101,12 +95,6 @@ Layout/EmptyLinesAroundModuleBody:
|
|
101
95
|
Layout/EmptyLineBetweenDefs:
|
102
96
|
Enabled: false
|
103
97
|
|
104
|
-
# I personally don't care about the format style.
|
105
|
-
# In most cases I like to use %, but not at the point I want to enforce it
|
106
|
-
# as a convention in the entire code.
|
107
|
-
Style/FormatString:
|
108
|
-
Enabled: false
|
109
|
-
|
110
98
|
# Annotated tokens (like %<foo>s) are a good thing, but in most cases we don't need them.
|
111
99
|
# %s is a simpler and straightforward version that works in almost all cases. So don't complain.
|
112
100
|
Style/FormatStringToken:
|
@@ -116,11 +104,6 @@ Style/FormatStringToken:
|
|
116
104
|
Style/NegatedIf:
|
117
105
|
Enabled: false
|
118
106
|
|
119
|
-
# For years, %w() has been the de-facto standard. A lot of libraries are using ().
|
120
|
-
# Switching to [] would be a nightmare.
|
121
|
-
Style/PercentLiteralDelimiters:
|
122
|
-
Enabled: false
|
123
|
-
|
124
107
|
# There are cases were the inline rescue is ok. We can either downgrade the severity,
|
125
108
|
# or rely on the developer judgement on a case-by-case basis.
|
126
109
|
Style/RescueModifier:
|
@@ -129,17 +112,6 @@ Style/RescueModifier:
|
|
129
112
|
Style/SymbolArray:
|
130
113
|
EnforcedStyle: brackets
|
131
114
|
|
132
|
-
# Sorry, but using trailing spaces helps readability.
|
133
|
-
#
|
134
|
-
# %w( foo bar )
|
135
|
-
#
|
136
|
-
# looks better to me than
|
137
|
-
#
|
138
|
-
# %w( foo bar )
|
139
|
-
#
|
140
|
-
Layout/SpaceInsidePercentLiteralDelimiters:
|
141
|
-
Enabled: false
|
142
|
-
|
143
115
|
# Hate It or Love It, I prefer double quotes as this is more consistent
|
144
116
|
# with several other programming languages and the output of puts and inspect.
|
145
117
|
Style/StringLiterals:
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,33 @@
|
|
2
2
|
|
3
3
|
This project uses [Semantic Versioning 2.0.0](https://semver.org/).
|
4
4
|
|
5
|
+
## 5.0.3
|
6
|
+
|
7
|
+
### Fixed
|
8
|
+
|
9
|
+
- Fixed automated release workflow.
|
10
|
+
|
11
|
+
## 5.0.2
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
|
15
|
+
- Updated definitions.
|
16
|
+
|
17
|
+
## 5.0.1
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- Updated definitions.
|
22
|
+
|
23
|
+
|
24
|
+
## 5.0.0
|
25
|
+
|
26
|
+
### Changed
|
27
|
+
|
28
|
+
- Minimum Ruby version is 2.6
|
29
|
+
|
30
|
+
- Updated definitions.
|
31
|
+
|
5
32
|
|
6
33
|
## 4.0.7
|
7
34
|
|
data/Gemfile
CHANGED
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
## Requirements
|
18
18
|
|
19
|
-
<tt>PublicSuffix</tt> requires **Ruby >= 2.
|
19
|
+
<tt>PublicSuffix</tt> requires **Ruby >= 2.6**. For an older versions of Ruby use a previous release.
|
20
20
|
|
21
21
|
|
22
22
|
## Installation
|
@@ -150,6 +150,13 @@ PublicSuffix.domain("something.blogspot.com")
|
|
150
150
|
# => "blogspot.com"
|
151
151
|
```
|
152
152
|
|
153
|
+
## Add domain to list
|
154
|
+
|
155
|
+
If you want to manually add a domain to the list just run:
|
156
|
+
|
157
|
+
```ruby
|
158
|
+
PublicSuffix::List.default << PublicSuffix::Rule.factory('onmicrosoft.com')
|
159
|
+
```
|
153
160
|
|
154
161
|
## What is the Public Suffix List?
|
155
162
|
|
@@ -202,7 +209,7 @@ See the [CHANGELOG.md](CHANGELOG.md) file for details.
|
|
202
209
|
|
203
210
|
## License
|
204
211
|
|
205
|
-
Copyright (c) 2009-
|
212
|
+
Copyright (c) 2009-2023 Simone Carletti. This is Free Software distributed under the MIT license.
|
206
213
|
|
207
214
|
The [Public Suffix List source](https://publicsuffix.org/list/) is subject to the terms of the Mozilla Public License, v. 2.0.
|
208
215
|
|
@@ -214,4 +221,4 @@ sld = Second level domain, a domain that is directly below a top-level domain. F
|
|
214
221
|
|
215
222
|
trd = Transit routing domain, or known as a subdomain. This is the part of the domain that is before the sld or root domain. For example, in `https://www.mozilla.org/en-US/`, `www` is the trd.
|
216
223
|
|
217
|
-
FQDN = Fully Qualified Domain Names, are domain names that are written with the hostname and the domain name, and include the top-level domain, the format looks like `[hostname].[domain].[tld].` for ex. `[www].[mozilla].[org]`.
|
224
|
+
FQDN = Fully Qualified Domain Names, are domain names that are written with the hostname and the domain name, and include the top-level domain, the format looks like `[hostname].[domain].[tld].` for ex. `[www].[mozilla].[org]`.
|
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ task default: [:test, :rubocop]
|
|
9
9
|
require "rake/testtask"
|
10
10
|
|
11
11
|
Rake::TestTask.new do |t|
|
12
|
-
t.libs = %w
|
12
|
+
t.libs = %w[lib test]
|
13
13
|
t.pattern = "test/**/*_test.rb"
|
14
14
|
t.verbose = !ENV["VERBOSE"].nil?
|
15
15
|
t.warning = !ENV["WARNING"].nil?
|
@@ -42,10 +42,10 @@ desc "Downloads the Public Suffix List file from the repository and stores it lo
|
|
42
42
|
task :"update-list" do
|
43
43
|
require "net/http"
|
44
44
|
|
45
|
-
|
45
|
+
definition_url = "https://raw.githubusercontent.com/publicsuffix/list/master/public_suffix_list.dat"
|
46
46
|
|
47
47
|
File.open("data/list.txt", "w+") do |f|
|
48
|
-
response = Net::HTTP.get_response(URI.parse(
|
48
|
+
response = Net::HTTP.get_response(URI.parse(definition_url))
|
49
49
|
response.body
|
50
50
|
f.write(response.body)
|
51
51
|
end
|