whois 5.0.0 → 5.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/.github/dependabot.yml +8 -0
  3. data/.github/workflows/codeql-analysis.yml +64 -0
  4. data/.github/workflows/release.yml +16 -0
  5. data/.github/workflows/tests.yml +29 -0
  6. data/.rubocop.yml +27 -0
  7. data/.rubocop_opinionated.yml +135 -0
  8. data/.rubocop_todo.yml +166 -0
  9. data/.simplecov +2 -0
  10. data/.tool-versions +1 -0
  11. data/CHANGELOG.md +79 -50
  12. data/CONTRIBUTING.md +12 -12
  13. data/Gemfile +5 -0
  14. data/LICENSE.txt +1 -1
  15. data/README.md +22 -22
  16. data/Rakefile +12 -17
  17. data/bin/console +1 -0
  18. data/bin/whoisrb +3 -2
  19. data/data/ipv4.json +1 -3
  20. data/data/tld.json +2 -99
  21. data/lib/whois/client.rb +4 -2
  22. data/lib/whois/errors.rb +4 -2
  23. data/lib/whois/record/part.rb +5 -4
  24. data/lib/whois/record.rb +4 -2
  25. data/lib/whois/server/adapters/afilias.rb +4 -1
  26. data/lib/whois/server/adapters/arin.rb +7 -4
  27. data/lib/whois/server/adapters/arpa.rb +20 -19
  28. data/lib/whois/server/adapters/base.rb +26 -40
  29. data/lib/whois/server/adapters/formatted.rb +4 -2
  30. data/lib/whois/server/adapters/none.rb +3 -1
  31. data/lib/whois/server/adapters/not_implemented.rb +3 -1
  32. data/lib/whois/server/adapters/standard.rb +4 -2
  33. data/lib/whois/server/adapters/verisign.rb +4 -1
  34. data/lib/whois/server/adapters/web.rb +3 -1
  35. data/lib/whois/server/socket_handler.rb +8 -6
  36. data/lib/whois/server.rb +55 -53
  37. data/lib/whois/version.rb +4 -2
  38. data/lib/whois.rb +13 -11
  39. data/spec/integration/whois_spec.rb +6 -6
  40. data/spec/spec_helper.rb +4 -4
  41. data/spec/support/helpers/connectivity_helper.rb +3 -3
  42. data/spec/support/helpers/spec_helper.rb +2 -0
  43. data/spec/whois/client_spec.rb +6 -7
  44. data/spec/whois/record/part_spec.rb +4 -4
  45. data/spec/whois/record_spec.rb +9 -7
  46. data/spec/whois/server/adapters/afilias_spec.rb +4 -4
  47. data/spec/whois/server/adapters/arin_spec.rb +9 -10
  48. data/spec/whois/server/adapters/arpa_spec.rb +2 -2
  49. data/spec/whois/server/adapters/base_spec.rb +13 -13
  50. data/spec/whois/server/adapters/formatted_spec.rb +8 -8
  51. data/spec/whois/server/adapters/none_spec.rb +2 -2
  52. data/spec/whois/server/adapters/not_implemented_spec.rb +4 -4
  53. data/spec/whois/server/adapters/standard_spec.rb +5 -5
  54. data/spec/whois/server/adapters/verisign_spec.rb +5 -5
  55. data/spec/whois/server/adapters/web_spec.rb +4 -4
  56. data/spec/whois/server/socket_handler_spec.rb +7 -5
  57. data/spec/whois/server_spec.rb +31 -29
  58. data/spec/whois/{errors_spec.rb → web_interface_error_spec.rb} +4 -4
  59. data/spec/whois/whois_spec.rb +3 -3
  60. data/utils/compare-whois.rb +1 -1
  61. data/utils/matrix.rb +1 -1
  62. metadata +13 -39
  63. data/.travis.yml +0 -18
  64. data/bin/setup +0 -8
  65. data/tasks/spec.rake +0 -199
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb9fa20211291994c62267b7d254509ba77b9b79bacf8035423052d17ed7d366
4
- data.tar.gz: d7c987fcdcde95084dc1099e8cc1fe5be78fc25b850fd556dde39c38c057a1e4
3
+ metadata.gz: 57e93e3592c7474005c2c875c60b9631830d522ef138ffee62a65125fb0cf2f6
4
+ data.tar.gz: 2138fc21071a0fec27d38d46d193f422c41b4b424c5abea7e0c85e72a76180c6
5
5
  SHA512:
6
- metadata.gz: cc78d80c44eb0cf4474d8b2d5fc732c8511482262da4a1b7b8723332ad66dba989741e05387edb8f3fe3f09751701a88e0c8f6d8726abd252b5f7f1a6f0a7bc4
7
- data.tar.gz: 3d73aa8a5cd70949776a5e81445850aa1021432566ec9993a693968123eac399e4c9d3c3939d96bf8ed96476185fe5a23ab5d752d47dfc0c791474d933e0d40e
6
+ metadata.gz: 4296a63ef5057958e53dc08c654857956a7b46733d75264036fe29c621e484d04ef9555569a8add7f0a50db713a4d9a4a0b1b10b32ad87189068f871ca8c22b4
7
+ data.tar.gz: fc9f0066f3040855a0886acfa826cf4b76ecf83450b051b817c8d3b9925b29bef5aecc74ae10f4003f1e2b1bbd0ee4cabc15fabcadcd3ee6a8199eb5ae6f8f3c
@@ -0,0 +1,8 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: bundler
4
+ directory: /
5
+ schedule:
6
+ interval: daily
7
+ time: "04:00"
8
+ open-pull-requests-limit: 10
@@ -0,0 +1,64 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ name: "CodeQL"
7
+
8
+ on:
9
+ push:
10
+ branches: [ main ]
11
+ pull_request:
12
+ # The branches below must be a subset of the branches above
13
+ branches: [ main ]
14
+ schedule:
15
+ - cron: '39 4 * * 0'
16
+
17
+ jobs:
18
+ analyze:
19
+ name: Analyze
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ actions: read
23
+ contents: read
24
+ security-events: write
25
+
26
+ strategy:
27
+ fail-fast: false
28
+ matrix:
29
+ language: [ 'ruby' ]
30
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
31
+ # Learn more about CodeQL language support at https://git.io/codeql-language-support
32
+
33
+ steps:
34
+ - name: Checkout repository
35
+ uses: actions/checkout@v2
36
+
37
+ # Initializes the CodeQL tools for scanning.
38
+ - name: Initialize CodeQL
39
+ uses: github/codeql-action/init@v1
40
+ with:
41
+ languages: ${{ matrix.language }}
42
+ # If you wish to specify custom queries, you can do so here or in a config file.
43
+ # By default, queries listed here will override any specified in a config file.
44
+ # Prefix the list here with "+" to use these queries and those in the config file.
45
+ # queries: ./path/to/local/query, your-org/your-repo/queries@main
46
+
47
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
48
+ # If this step fails, then you should remove it and run the build manually (see below)
49
+ - name: Autobuild
50
+ uses: github/codeql-action/autobuild@v1
51
+
52
+ # ℹ️ Command-line programs to run using the OS shell.
53
+ # 📚 https://git.io/JvXDl
54
+
55
+ # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
56
+ # and modify them (or add more) to build your code if your project
57
+ # uses a compiled language
58
+
59
+ #- run: |
60
+ # make bootstrap
61
+ # make release
62
+
63
+ - name: Perform CodeQL Analysis
64
+ uses: github/codeql-action/analyze@v1
@@ -0,0 +1,16 @@
1
+ name: release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*.*.*
7
+ jobs:
8
+ release:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v2
12
+ - name: Release Gem
13
+ uses: cadwallion/publish-rubygems-action@8f9e0538302643309e4e43bf48cd34173ca48cfc
14
+ env:
15
+ RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
16
+ RELEASE_COMMAND: rake release
@@ -0,0 +1,29 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build:
10
+ strategy:
11
+ matrix:
12
+ ruby-version:
13
+ - "2.6"
14
+ - "2.7"
15
+ - "3.0"
16
+ - "3.1"
17
+ platform: [ubuntu-latest]
18
+ runs-on: ${{ matrix.platform }}
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Set up Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby-version }}
25
+ - name: Install dependencies
26
+ run: bundle install
27
+ - name: Run tests
28
+ run: bundle exec rake
29
+
data/.rubocop.yml ADDED
@@ -0,0 +1,27 @@
1
+ inherit_from:
2
+ - .rubocop_opinionated.yml
3
+ - .rubocop_todo.yml
4
+
5
+ require:
6
+ - rubocop-rspec
7
+
8
+ AllCops:
9
+ TargetRubyVersion: 2.5
10
+ Exclude:
11
+ # Exclude .gemspec files because they are generally auto-generated
12
+ - '*.gemspec'
13
+ # Exclude vendored folders
14
+ - 'tmp/**/*'
15
+ - 'vendor/**/*'
16
+ # Exclude artifacts
17
+ - 'pkg/**/*'
18
+ # Other
19
+ - '.simplecov'
20
+ - 'test/benchmarks/**/*'
21
+ - 'test/profilers/**/*'
22
+ - 'utils/**/*'
23
+
24
+ Style/ClassAndModuleChildren:
25
+ Exclude:
26
+ - 'spec/**/*_spec.rb'
27
+ - 'test/**/*_test.rb'
@@ -0,0 +1,135 @@
1
+ AllCops:
2
+ Exclude:
3
+ # Exclude .gemspec files because they are generally auto-generated
4
+ - '*.gemspec'
5
+ # Exclude vendored folders
6
+ - 'tmp/**/*'
7
+ - 'vendor/**/*'
8
+ NewCops: enable
9
+
10
+ # [codesmell]
11
+ Layout/LineLength:
12
+ Enabled: false
13
+ Exclude:
14
+ - 'spec/**/*_spec.rb'
15
+ - 'test/**/*_test.rb'
16
+ Max: 100
17
+
18
+ # [codesmell]
19
+ Metrics/AbcSize:
20
+ Enabled: false
21
+ Exclude:
22
+ - 'spec/**/*_spec.rb'
23
+ - 'test/**/*_test.rb'
24
+
25
+ # [codesmell]
26
+ Metrics/BlockLength:
27
+ Enabled: false
28
+
29
+ # [codesmell]
30
+ Metrics/CyclomaticComplexity:
31
+ Enabled: false
32
+ Exclude:
33
+ - 'spec/**/*_spec.rb'
34
+ - 'test/**/*_test.rb'
35
+
36
+ # [codesmell]
37
+ Metrics/ClassLength:
38
+ Enabled: false
39
+ Exclude:
40
+ - 'spec/**/*_spec.rb'
41
+ - 'test/**/*_test.rb'
42
+
43
+ # [codesmell]
44
+ Metrics/MethodLength:
45
+ Enabled: false
46
+ Exclude:
47
+ - 'spec/**/*_spec.rb'
48
+ - 'test/**/*_test.rb'
49
+ Max: 10
50
+
51
+ # [codesmell]
52
+ Metrics/ModuleLength:
53
+ Enabled: false
54
+ Exclude:
55
+ - 'spec/**/*_spec.rb'
56
+ - 'test/**/*_test.rb'
57
+
58
+ # [codesmell]
59
+ Metrics/ParameterLists:
60
+ Enabled: false
61
+ Max: 5
62
+
63
+ # [codesmell]
64
+ Metrics/PerceivedComplexity:
65
+ Enabled: false
66
+
67
+ # Do not use "and" or "or" in conditionals, but for readability we can use it
68
+ # to chain executions. Just beware of operator order.
69
+ Style/AndOr:
70
+ EnforcedStyle: conditionals
71
+
72
+ Style/Documentation:
73
+ Exclude:
74
+ - 'spec/**/*'
75
+ - 'test/**/*'
76
+
77
+ # Double empty lines are useful to separate conceptually different methods
78
+ # in the same class or module.
79
+ Layout/EmptyLines:
80
+ Enabled: false
81
+
82
+ # In most cases, a space is nice. Sometimes, it's not.
83
+ # Just be consistent with the rest of the surrounding code.
84
+ Layout/EmptyLinesAroundClassBody:
85
+ Enabled: false
86
+
87
+ # In most cases, a space is nice. Sometimes, it's not.
88
+ # Just be consistent with the rest of the surrounding code.
89
+ Layout/EmptyLinesAroundModuleBody:
90
+ Enabled: false
91
+
92
+ # This is quite buggy, as it doesn't recognize double lines.
93
+ # Double empty lines are useful to separate conceptually different methods
94
+ # in the same class or module.
95
+ Layout/EmptyLineBetweenDefs:
96
+ Enabled: false
97
+
98
+ # Annotated tokens (like %<foo>s) are a good thing, but in most cases we don't need them.
99
+ # %s is a simpler and straightforward version that works in almost all cases. So don't complain.
100
+ Style/FormatStringToken:
101
+ Enabled: false
102
+
103
+ # unless is not always cool.
104
+ Style/NegatedIf:
105
+ Enabled: false
106
+
107
+ # There are cases were the inline rescue is ok. We can either downgrade the severity,
108
+ # or rely on the developer judgement on a case-by-case basis.
109
+ Style/RescueModifier:
110
+ Enabled: false
111
+
112
+ Style/SymbolArray:
113
+ EnforcedStyle: brackets
114
+
115
+ # Hate It or Love It, I prefer double quotes as this is more consistent
116
+ # with several other programming languages and the output of puts and inspect.
117
+ Style/StringLiterals:
118
+ EnforcedStyle: double_quotes
119
+
120
+ # It's nice to be consistent. The trailing comma also allows easy reordering,
121
+ # and doesn't cause a diff in Git when you add a line to the bottom.
122
+ Style/TrailingCommaInArrayLiteral:
123
+ EnforcedStyleForMultiline: consistent_comma
124
+ Style/TrailingCommaInHashLiteral:
125
+ EnforcedStyleForMultiline: consistent_comma
126
+
127
+ Style/TrivialAccessors:
128
+ # IgnoreClassMethods because I want to be able to define class-level accessors
129
+ # that sets an instance variable on the metaclass, such as:
130
+ #
131
+ # def self.default=(value)
132
+ # @default = value
133
+ # end
134
+ #
135
+ IgnoreClassMethods: true
data/.rubocop_todo.yml ADDED
@@ -0,0 +1,166 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2021-03-02 10:06:13 UTC using RuboCop version 1.11.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 5
10
+ # Cop supports --auto-correct.
11
+ # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
12
+ Lint/UnusedMethodArgument:
13
+ Exclude:
14
+ - 'lib/whois.rb'
15
+ - 'lib/whois/server.rb'
16
+ - 'lib/whois/server/adapters/none.rb'
17
+ - 'lib/whois/server/adapters/not_implemented.rb'
18
+ - 'lib/whois/server/adapters/web.rb'
19
+
20
+ # Offense count: 61
21
+ # Cop supports --auto-correct.
22
+ # Configuration parameters: SkipBlocks, EnforcedStyle.
23
+ # SupportedStyles: described_class, explicit
24
+ RSpec/DescribedClass:
25
+ Exclude:
26
+ - 'spec/integration/whois_spec.rb'
27
+ - 'spec/whois/server/adapters/not_implemented_spec.rb'
28
+ - 'spec/whois/server_spec.rb'
29
+
30
+ # Offense count: 35
31
+ # Configuration parameters: Max.
32
+ RSpec/ExampleLength:
33
+ Exclude:
34
+ - 'spec/integration/whois_spec.rb'
35
+ - 'spec/whois/client_spec.rb'
36
+ - 'spec/whois/record/part_spec.rb'
37
+ - 'spec/whois/record_spec.rb'
38
+ - 'spec/whois/server/adapters/afilias_spec.rb'
39
+ - 'spec/whois/server/adapters/arin_spec.rb'
40
+ - 'spec/whois/server/adapters/arpa_spec.rb'
41
+ - 'spec/whois/server/adapters/formatted_spec.rb'
42
+ - 'spec/whois/server/adapters/none_spec.rb'
43
+ - 'spec/whois/server/adapters/standard_spec.rb'
44
+ - 'spec/whois/server/adapters/verisign_spec.rb'
45
+ - 'spec/whois/server/socket_handler_spec.rb'
46
+ - 'spec/whois/server_spec.rb'
47
+
48
+ # Offense count: 4
49
+ # Configuration parameters: AssignmentOnly.
50
+ RSpec/InstanceVariable:
51
+ Exclude:
52
+ - 'spec/whois/server/adapters/not_implemented_spec.rb'
53
+ - 'spec/whois/server/adapters/web_spec.rb'
54
+
55
+ # Offense count: 54
56
+ # Configuration parameters: .
57
+ # SupportedStyles: have_received, receive
58
+ RSpec/MessageSpies:
59
+ EnforcedStyle: receive
60
+
61
+ # Offense count: 70
62
+ RSpec/MultipleExpectations:
63
+ Max: 5
64
+
65
+ # Offense count: 8
66
+ # Configuration parameters: IgnoreSharedExamples.
67
+ RSpec/NamedSubject:
68
+ Exclude:
69
+ - 'spec/whois/record_spec.rb'
70
+ - 'spec/whois/server/socket_handler_spec.rb'
71
+
72
+ # Offense count: 15
73
+ # Cop supports --auto-correct.
74
+ # Configuration parameters: Strict, EnforcedStyle, AllowedExplicitMatchers.
75
+ # SupportedStyles: inflected, explicit
76
+ RSpec/PredicateMatcher:
77
+ Exclude:
78
+ - 'spec/whois/record_spec.rb'
79
+ - 'spec/whois/server/adapters/base_spec.rb'
80
+
81
+ # Offense count: 40
82
+ RSpec/StubbedMock:
83
+ Exclude:
84
+ - 'spec/integration/whois_spec.rb'
85
+ - 'spec/whois/client_spec.rb'
86
+ - 'spec/whois/server/adapters/afilias_spec.rb'
87
+ - 'spec/whois/server/adapters/arin_spec.rb'
88
+ - 'spec/whois/server/adapters/arpa_spec.rb'
89
+ - 'spec/whois/server/adapters/formatted_spec.rb'
90
+ - 'spec/whois/server/adapters/standard_spec.rb'
91
+ - 'spec/whois/server/adapters/verisign_spec.rb'
92
+ - 'spec/whois/server/socket_handler_spec.rb'
93
+ - 'spec/whois/server_spec.rb'
94
+ - 'spec/whois/whois_spec.rb'
95
+
96
+ # Offense count: 1
97
+ RSpec/SubjectStub:
98
+ Exclude:
99
+ - 'spec/whois/server/socket_handler_spec.rb'
100
+
101
+ # Offense count: 31
102
+ # Cop supports --auto-correct.
103
+ # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
104
+ # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
105
+ # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
106
+ # FunctionalMethods: let, let!, subject, watch
107
+ # IgnoredMethods: lambda, proc, it
108
+ Style/BlockDelimiters:
109
+ Exclude:
110
+ - 'spec/whois/client_spec.rb'
111
+ - 'spec/whois/errors_spec.rb'
112
+ - 'spec/whois/record/part_spec.rb'
113
+ - 'spec/whois/record_spec.rb'
114
+ - 'spec/whois/server/adapters/base_spec.rb'
115
+ - 'spec/whois/server/adapters/formatted_spec.rb'
116
+ - 'spec/whois/server/adapters/none_spec.rb'
117
+ - 'spec/whois/server/adapters/not_implemented_spec.rb'
118
+ - 'spec/whois/server/adapters/web_spec.rb'
119
+ - 'spec/whois/server/socket_handler_spec.rb'
120
+ - 'spec/whois/server_spec.rb'
121
+
122
+ # Offense count: 6
123
+ Style/Documentation:
124
+ Exclude:
125
+ - 'spec/**/*'
126
+ - 'test/**/*'
127
+ - 'lib/whois.rb'
128
+ - 'lib/whois/client.rb'
129
+ - 'lib/whois/record.rb'
130
+ - 'lib/whois/server/adapters/arpa.rb'
131
+ - 'lib/whois/server/adapters/base.rb'
132
+ - 'lib/whois/server/adapters/not_implemented.rb'
133
+
134
+ # Offense count: 8
135
+ # Configuration parameters: MinBodyLength.
136
+ Style/GuardClause:
137
+ Exclude:
138
+ - 'lib/whois.rb'
139
+ - 'lib/whois/server.rb'
140
+ - 'lib/whois/server/adapters/afilias.rb'
141
+ - 'lib/whois/server/adapters/arin.rb'
142
+ - 'lib/whois/server/adapters/arpa.rb'
143
+ - 'lib/whois/server/adapters/verisign.rb'
144
+ - 'spec/support/helpers/connectivity_helper.rb'
145
+
146
+ # Offense count: 13
147
+ # Cop supports --auto-correct.
148
+ Style/ParallelAssignment:
149
+ Exclude:
150
+ - 'spec/whois/record_spec.rb'
151
+ - 'spec/whois/server/adapters/base_spec.rb'
152
+
153
+ # Offense count: 1
154
+ # Cop supports --auto-correct.
155
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
156
+ # AllowedMethods: present?, blank?, presence, try, try!
157
+ Style/SafeNavigation:
158
+ Exclude:
159
+ - 'lib/whois/server/socket_handler.rb'
160
+
161
+ # Offense count: 44
162
+ # Cop supports --auto-correct.
163
+ # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
164
+ # SupportedStyles: single_quotes, double_quotes
165
+ Style/StringLiterals:
166
+ Enabled: false
data/.simplecov CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  SimpleCov.start do
2
4
  add_filter "/spec/"
3
5
  add_filter "/utils/"
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.0.3