pdd 0.24.0 → 0.24.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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/.0pdd.yml +3 -0
  3. data/.github/workflows/actionlint.yml +25 -0
  4. data/.github/workflows/codecov.yml +12 -6
  5. data/.github/workflows/copyrights.yml +19 -0
  6. data/.github/workflows/markdown-lint.yml +19 -0
  7. data/.github/workflows/pdd.yml +6 -2
  8. data/.github/workflows/rake.yml +10 -5
  9. data/.github/workflows/reuse.yml +19 -0
  10. data/.github/workflows/typos.yml +19 -0
  11. data/.github/workflows/xcop.yml +6 -2
  12. data/.github/workflows/yamllint.yml +19 -0
  13. data/.gitignore +12 -5
  14. data/.markdownlint.yml +6 -0
  15. data/.pdd +0 -1
  16. data/.rubocop.yml +12 -2
  17. data/.rultor.yml +5 -1
  18. data/.simplecov +2 -19
  19. data/Gemfile +15 -30
  20. data/Gemfile.lock +173 -0
  21. data/LICENSE.txt +1 -1
  22. data/LICENSES/MIT.txt +21 -0
  23. data/README.md +76 -62
  24. data/REUSE.toml +43 -0
  25. data/Rakefile +4 -31
  26. data/assets/puzzles.xsd +3 -22
  27. data/assets/puzzles.xsl +3 -22
  28. data/assets/puzzles_json.xsl +4 -23
  29. data/bin/pdd +5 -20
  30. data/cucumber.yml +3 -0
  31. data/features/applies_rules.feature +2 -0
  32. data/features/avoiding_duplicates.feature +2 -0
  33. data/features/catches_broken_puzzles.feature +2 -0
  34. data/features/cli.feature +2 -0
  35. data/features/gem_package.feature +2 -0
  36. data/features/html_output.feature +2 -0
  37. data/features/json_output.feature +2 -0
  38. data/features/parsing.feature +2 -0
  39. data/features/rake.feature +2 -2
  40. data/features/remove.feature +2 -0
  41. data/features/step_definitions/steps.rb +2 -19
  42. data/features/support/env.rb +2 -19
  43. data/features/unicode.feature +2 -0
  44. data/features/uses_config.feature +2 -1
  45. data/lib/pdd/puzzle.rb +2 -19
  46. data/lib/pdd/rake_task.rb +3 -0
  47. data/lib/pdd/rule/duplicates.rb +2 -19
  48. data/lib/pdd/rule/estimates.rb +2 -19
  49. data/lib/pdd/rule/roles.rb +2 -19
  50. data/lib/pdd/rule/text.rb +2 -19
  51. data/lib/pdd/source.rb +2 -19
  52. data/lib/pdd/sources.rb +2 -19
  53. data/lib/pdd/version.rb +4 -21
  54. data/lib/pdd.rb +3 -20
  55. data/pdd.gemspec +8 -24
  56. data/test/test__helper.rb +23 -22
  57. data/test/test_duplicates.rb +5 -22
  58. data/test/test_estimates.rb +5 -22
  59. data/test/test_many.rb +3 -20
  60. data/test/test_pdd.rb +4 -21
  61. data/test/test_rake_task.rb +3 -0
  62. data/test/test_roles.rb +6 -23
  63. data/test/test_source.rb +14 -31
  64. data/test/test_source_todo.rb +3 -20
  65. data/test/test_sources.rb +4 -21
  66. data/test/test_text.rb +4 -21
  67. data/test_assets/aladdin.jpg +0 -0
  68. data/test_assets/elegant-objects.png +0 -0
  69. data/test_assets/puzzles/1-04e35eb3 +1 -1
  70. data/test_assets/puzzles/132-bc1dfafe +1 -1
  71. data/test_assets/puzzles/1425-59819ae3 +5 -5
  72. data/test_assets/puzzles/42-0d933cc0 +1 -1
  73. data/test_assets/puzzles/91-ecb9aa47 +1 -1
  74. data/test_assets/puzzles/93-641fe341 +1 -1
  75. data/utils/glob.rb +2 -19
  76. metadata +31 -11
  77. data/.overcommit.yml +0 -96
data/test/test_roles.rb CHANGED
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  require 'minitest/autorun'
22
5
  require 'nokogiri'
@@ -24,7 +7,7 @@ require_relative '../lib/pdd/rule/roles'
24
7
 
25
8
  # PDD::Rule::Role module tests.
26
9
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2014-2024 Yegor Bugayenko
10
+ # Copyright:: Copyright (c) 2014-2025 Yegor Bugayenko
28
11
  # License:: MIT
29
12
  class TestRoles < Minitest::Test
30
13
  def test_incorrect_role
@@ -33,7 +16,7 @@ class TestRoles < Minitest::Test
33
16
  '<puzzles><puzzle><role>D</role></puzzle></puzzles>'
34
17
  ), 'A,B,C'
35
18
  )
36
- assert !rule.errors.empty?, 'why it is empty?'
19
+ refute_empty rule.errors, 'why it is empty?'
37
20
  end
38
21
 
39
22
  def test_correct_role
@@ -42,7 +25,7 @@ class TestRoles < Minitest::Test
42
25
  '<puzzles><puzzle><role>F</role></puzzle></puzzles>'
43
26
  ), 'F,E,G'
44
27
  )
45
- assert rule.errors.empty?, 'why it is not empty?'
28
+ assert_empty rule.errors, 'why it is not empty?'
46
29
  end
47
30
 
48
31
  def test_empty_role
@@ -51,6 +34,6 @@ class TestRoles < Minitest::Test
51
34
  '<puzzles><puzzle></puzzle></puzzles>'
52
35
  ), 'T,R,L'
53
36
  )
54
- assert !rule.errors.empty?, 'why it is empty?'
37
+ refute_empty rule.errors, 'why it is empty?'
55
38
  end
56
39
  end
data/test/test_source.rb CHANGED
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  require 'minitest/autorun'
22
5
  require 'tmpdir'
@@ -26,7 +9,7 @@ require_relative 'test__helper'
26
9
 
27
10
  # Source test.
28
11
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2014-2024 Yegor Bugayenko
12
+ # Copyright:: Copyright (c) 2014-2025 Yegor Bugayenko
30
13
  # License:: MIT
31
14
  class TestSource < Minitest::Test
32
15
  def test_parsing
@@ -51,9 +34,9 @@ class TestSource < Minitest::Test
51
34
  assert_equal 'привет, how are you doing?',
52
35
  puzzle.props[:body]
53
36
  assert_equal '44', puzzle.props[:ticket]
54
- assert puzzle.props[:author].nil?
55
- assert puzzle.props[:email].nil?
56
- assert puzzle.props[:time].nil?
37
+ assert_nil puzzle.props[:author]
38
+ assert_nil puzzle.props[:email]
39
+ assert_nil puzzle.props[:time]
57
40
  end
58
41
  end
59
42
  end
@@ -210,7 +193,7 @@ class TestSource < Minitest::Test
210
193
  error = assert_raises PDD::Error do
211
194
  stub_source_find_github_user(file, 'ff', &:puzzles)
212
195
  end
213
- assert !error.to_s.index("\x40todo is not followed by").nil?
196
+ refute_nil error.to_s.index("\x40todo is not followed by")
214
197
  end
215
198
  end
216
199
 
@@ -236,7 +219,7 @@ class TestSource < Minitest::Test
236
219
  error = assert_raises PDD::Error do
237
220
  stub_source_find_github_user(file, 'hey', &:puzzles)
238
221
  end
239
- assert !error.message.index('is not followed by a puzzle marker').nil?
222
+ refute_nil error.message.index('is not followed by a puzzle marker')
240
223
  end
241
224
  end
242
225
 
@@ -252,7 +235,7 @@ class TestSource < Minitest::Test
252
235
  error = assert_raises PDD::Error do
253
236
  stub_source_find_github_user(file, 'x', &:puzzles)
254
237
  end
255
- assert !error.message.index("\x40todo must have a leading space").nil?
238
+ refute_nil error.message.index("\x40todo must have a leading space")
256
239
  end
257
240
  end
258
241
 
@@ -268,7 +251,7 @@ class TestSource < Minitest::Test
268
251
  error = assert_raises PDD::Error do
269
252
  stub_source_find_github_user(file, 'x', &:puzzles)
270
253
  end
271
- assert !error.message.index('an unexpected space').nil?
254
+ refute_nil error.message.index('an unexpected space')
272
255
  end
273
256
  end
274
257
 
@@ -283,7 +266,7 @@ class TestSource < Minitest::Test
283
266
  git config user.name test_unknown
284
267
  echo '\x40todo #1 this is the puzzle' > a.txt
285
268
  git add a.txt
286
- git commit --quiet -am 'first version'
269
+ git commit --no-verify --quiet -am 'first version'
287
270
  ")
288
271
 
289
272
  stub_source_find_github_user(File.join(dir, 'a.txt')) do |source|
@@ -312,7 +295,7 @@ class TestSource < Minitest::Test
312
295
  git config user.name test
313
296
  echo '\x40todo #1 this is the puzzle' > a.txt
314
297
  git add a.txt
315
- git commit --quiet -am 'first version'
298
+ git commit --no-verify --quiet -am 'first version'
316
299
  ")
317
300
 
318
301
  stub_source_find_github_user(File.join(dir, 'a.txt')) do |source|
@@ -340,7 +323,7 @@ class TestSource < Minitest::Test
340
323
  git config user.name test
341
324
  echo '\x40todo #1 this is the puzzle' > a.txt
342
325
  git add a.txt
343
- git commit --quiet -am 'first version'
326
+ git commit --no-verify --quiet -am 'first version'
344
327
  ")
345
328
 
346
329
  stub_source_find_github_user(File.join(dir, 'a.txt')) do |source|
@@ -362,7 +345,7 @@ class TestSource < Minitest::Test
362
345
  git config user.name test
363
346
  echo 'hi' > a.txt
364
347
  git add a.txt
365
- git commit --quiet -am 'first version'
348
+ git commit --no-verify --quiet -am 'first version'
366
349
  echo '\x40todo #1 this is a puzzle uncommitted' > a.txt
367
350
  ")
368
351
 
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  require 'minitest/autorun'
22
5
  require 'tmpdir'
@@ -47,7 +30,7 @@ class TestSourceTodo < Minitest::Test
47
30
  error = assert_raises PDD::Error do
48
31
  stub_source_find_github_user(file, 'hey', &:puzzles)
49
32
  end
50
- assert !error.message.index(error_msg).nil?
33
+ refute_nil error.message.index(error_msg)
51
34
  end
52
35
  end
53
36
 
data/test/test_sources.rb CHANGED
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  require 'minitest/autorun'
22
5
  require 'fileutils'
@@ -26,7 +9,7 @@ require_relative '../lib/pdd/sources'
26
9
 
27
10
  # Sources test.
28
11
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
29
- # Copyright:: Copyright (c) 2014-2024 Yegor Bugayenko
12
+ # Copyright:: Copyright (c) 2014-2025 Yegor Bugayenko
30
13
  # License:: MIT
31
14
  class TestSources < Minitest::Test
32
15
  def test_iterator
@@ -118,7 +101,7 @@ class TestSources < Minitest::Test
118
101
  error = assert_raises PDD::Error do
119
102
  PDD::Sources.new(dir).fetch[0].puzzles
120
103
  end
121
- assert error.message.start_with?('z1.txt; '), error.message
104
+ assert error.message.start_with?('z1.txt; '), "here: #{error.message}"
122
105
  end
123
106
  end
124
107
 
data/test/test_text.rb CHANGED
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  require 'minitest/autorun'
22
5
  require 'nokogiri'
@@ -24,7 +7,7 @@ require_relative '../lib/pdd/rule/text'
24
7
 
25
8
  # PDD::Rule::Text module tests.
26
9
  # Author:: Yegor Bugayenko (yegor256@gmail.com)
27
- # Copyright:: Copyright (c) 2014-2024 Yegor Bugayenko
10
+ # Copyright:: Copyright (c) 2014-2025 Yegor Bugayenko
28
11
  # License:: MIT
29
12
  class TestText < Minitest::Test
30
13
  def test_min_words
@@ -34,6 +17,6 @@ class TestText < Minitest::Test
34
17
  <puzzle><body>body with four words</body></puzzle></puzzles>'
35
18
  ), 4
36
19
  )
37
- assert rule.errors.size == 1
20
+ assert_equal 1, rule.errors.size
38
21
  end
39
22
  end
Binary file
Binary file
@@ -1,3 +1,3 @@
1
1
  /**
2
2
  * @todo #1:30min How are you?
3
- */
3
+ */
@@ -5,4 +5,4 @@
5
5
  // @comment This is not a puzzle,
6
6
  // but another bloc of text
7
7
  //
8
- //
8
+ //
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  *
3
3
  *
4
- * @todo #1425:30min Continue replacing usage of MatcherAssert.assertThat with
5
- * Assertion from cactoos-matchers. Keep PR short and limit the changes to
6
- * single package. Update this puzzle for the next package.
7
- * After all packages are done, add MatcherAssert to forbidden-apis.txt
4
+ * @todo #1425:30min Continue replacing usage of MatcherAssert.assertThat with
5
+ * Assertion from cactoos-matchers. Keep PR short and limit the changes to
6
+ * single package. Update this puzzle for the next package.
7
+ * After all packages are done, add MatcherAssert to forbidden-apis.txt
8
8
  *
9
- */
9
+ */
@@ -4,4 +4,4 @@
4
4
  # well formatted...
5
5
  #
6
6
  #
7
- #
7
+ #
@@ -6,4 +6,4 @@
6
6
  # Even though
7
7
  # It's weird
8
8
 
9
- # Here is the text after
9
+ # Here is the text after
@@ -1,4 +1,4 @@
1
1
  #
2
2
  # @todo #93:30min This puzzle is very simple. It is indented right by more spaces than the other text.
3
3
  # This is the other text here,
4
- # which doesn't belong to the puzzle
4
+ # which doesn't belong to the puzzle
data/utils/glob.rb CHANGED
@@ -1,22 +1,5 @@
1
- # Copyright (c) 2014-2024 Yegor Bugayenko
2
- #
3
- # Permission is hereby granted, free of charge, to any person obtaining a copy
4
- # of this software and associated documentation files (the 'Software'), to deal
5
- # in the Software without restriction, including without limitation the rights
6
- # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- # copies of the Software, and to permit persons to whom the Software is
8
- # furnished to do so, subject to the following conditions:
9
- #
10
- # The above copyright notice and this permission notice shall be included in all
11
- # copies or substantial portions of the Software.
12
- #
13
- # THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- # FITNESS FOR A PARTICULAR PURPOSE AND NONINFINGEMENT. IN NO EVENT SHALL THE
16
- # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- # SOFTWARE.
1
+ # SPDX-FileCopyrightText: Copyright (c) 2014-2025 Yegor Bugayenko
2
+ # SPDX-License-Identifier: MIT
20
3
 
21
4
  # Utility glob class
22
5
  class Glob
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.24.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-02-09 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: backtrace
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '0.1'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '0.1'
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: nokogiri
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -44,14 +57,14 @@ dependencies:
44
57
  requirements:
45
58
  - - "~>"
46
59
  - !ruby/object:Gem::Version
47
- version: 0.7.2
60
+ version: '0.7'
48
61
  type: :runtime
49
62
  prerelease: false
50
63
  version_requirements: !ruby/object:Gem::Requirement
51
64
  requirements:
52
65
  - - "~>"
53
66
  - !ruby/object:Gem::Version
54
- version: 0.7.2
67
+ version: '0.7'
55
68
  - !ruby/object:Gem::Dependency
56
69
  name: slop
57
70
  requirement: !ruby/object:Gem::Requirement
@@ -72,25 +85,34 @@ executables:
72
85
  - pdd
73
86
  extensions: []
74
87
  extra_rdoc_files:
75
- - README.md
76
88
  - LICENSE.txt
89
+ - README.md
77
90
  files:
78
91
  - ".0pdd.yml"
79
92
  - ".gitattributes"
93
+ - ".github/workflows/actionlint.yml"
80
94
  - ".github/workflows/codecov.yml"
95
+ - ".github/workflows/copyrights.yml"
96
+ - ".github/workflows/markdown-lint.yml"
81
97
  - ".github/workflows/pdd.yml"
82
98
  - ".github/workflows/rake.yml"
99
+ - ".github/workflows/reuse.yml"
100
+ - ".github/workflows/typos.yml"
83
101
  - ".github/workflows/xcop.yml"
102
+ - ".github/workflows/yamllint.yml"
84
103
  - ".gitignore"
85
- - ".overcommit.yml"
104
+ - ".markdownlint.yml"
86
105
  - ".pdd"
87
106
  - ".rubocop.yml"
88
107
  - ".rultor.yml"
89
108
  - ".simplecov"
90
109
  - CITATION.cff
91
110
  - Gemfile
111
+ - Gemfile.lock
92
112
  - LICENSE.txt
113
+ - LICENSES/MIT.txt
93
114
  - README.md
115
+ - REUSE.toml
94
116
  - Rakefile
95
117
  - assets/puzzles.xsd
96
118
  - assets/puzzles.xsl
@@ -148,12 +170,11 @@ files:
148
170
  - test_assets/puzzles/91-ecb9aa47
149
171
  - test_assets/puzzles/93-641fe341
150
172
  - utils/glob.rb
151
- homepage: http://github.com/cqfn/pdd
173
+ homepage: https://github.com/cqfn/pdd
152
174
  licenses:
153
175
  - MIT
154
176
  metadata:
155
177
  rubygems_mfa_required: 'true'
156
- post_install_message:
157
178
  rdoc_options:
158
179
  - "--charset=UTF-8"
159
180
  require_paths:
@@ -169,8 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
169
190
  - !ruby/object:Gem::Version
170
191
  version: '0'
171
192
  requirements: []
172
- rubygems_version: 3.4.10
173
- signing_key:
193
+ rubygems_version: 3.6.7
174
194
  specification_version: 4
175
195
  summary: Puzzle Driven Development collector
176
196
  test_files: []
data/.overcommit.yml DELETED
@@ -1,96 +0,0 @@
1
- # Use this file to configure the Overcommit hooks you wish to use. This will
2
- # extend the default configuration defined in:
3
- # https://github.com/sds/overcommit/blob/master/config/default.yml
4
- #
5
- # At the topmost level of this YAML file is a key representing type of hook
6
- # being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
7
- # customize each hook, such as whether to only run it on certain files (via
8
- # `include`), whether to only display output if it fails (via `quiet`), etc.
9
- #
10
- # For a complete list of hooks, see:
11
- # https://github.com/sds/overcommit/tree/master/lib/overcommit/hook
12
- #
13
- # For a complete list of options that you can use to customize hooks, see:
14
- # https://github.com/sds/overcommit#configuration
15
-
16
- PreCommit:
17
- ALL:
18
- problem_on_unmodified_line: report
19
- requires_files: true
20
- required: false
21
- quiet: false
22
-
23
- AuthorEmail:
24
- enabled: true
25
- description: 'Check author email'
26
- requires_files: false
27
- required: true
28
- quiet: true
29
- pattern: '^[^@]+@.*$'
30
-
31
- AuthorName:
32
- enabled: true
33
- description: 'Check for author name'
34
- requires_files: false
35
- required: true
36
- quiet: true
37
-
38
- BundleCheck:
39
- enabled: true
40
- description: 'Check Gemfile dependencies'
41
- required_executable: 'bundle'
42
- flags: ['check']
43
- include:
44
- - 'Gemfile'
45
- - 'Gemfile.lock'
46
- - '*.gemspec'
47
-
48
- BundleOutdated:
49
- enabled: true
50
- description: 'List installed gems with newer versions available'
51
- required_executable: 'bundle'
52
- flags: ['outdated', '--strict', '--parseable']
53
-
54
- RuboCop:
55
- enabled: true
56
- description: 'Analyze with RuboCop'
57
- required_executable: 'bundle'
58
- flags: ['exec', 'rubocop']
59
-
60
- # Hooks that are run against every commit message after a user has written it.
61
- # These hooks are useful for enforcing policies on commit messages written for a
62
- # project.
63
- CommitMsg:
64
- ALL:
65
- requires_files: false
66
- quiet: false
67
-
68
- EmptyMessage:
69
- enabled: true
70
- description: 'Check for empty commit message'
71
- quiet: true
72
-
73
- MessageFormat:
74
- enabled: true
75
- description: 'Check commit message matches expected pattern'
76
- pattern: '(\[#)(.+)(\]\s)(.+)'
77
- expected_pattern_message: '[#<Issue Id>] <Commit Message Description>'
78
- sample_message: '[#167] Refactored onboarding flow'
79
-
80
- PrePush:
81
- ALL:
82
- requires_files: false
83
- required: false
84
- quiet: false
85
-
86
- RakeTarget:
87
- enabled: true
88
- quite: true
89
- description: 'Run rake targets'
90
- targets:
91
- - 'rubocop'
92
- - 'test'
93
- - 'xcop'
94
- required_executable: 'bundle'
95
- flags: ['exec', 'rake']
96
-