factbase 0.15.0 → 0.15.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -5
  3. data/factbase.gemspec +4 -4
  4. data/lib/factbase/fact.rb +1 -1
  5. data/lib/factbase/fact_as_yaml.rb +10 -1
  6. data/lib/factbase/indexed/indexed_term.rb +6 -1
  7. data/lib/factbase/version.rb +1 -1
  8. metadata +7 -87
  9. data/.0pdd.yml +0 -8
  10. data/.gitattributes +0 -7
  11. data/.github/publish-benchmark.sh +0 -24
  12. data/.github/workflows/actionlint.yml +0 -25
  13. data/.github/workflows/benchmark.yml +0 -36
  14. data/.github/workflows/codecov.yml +0 -27
  15. data/.github/workflows/copyrights.yml +0 -19
  16. data/.github/workflows/markdown-lint.yml +0 -23
  17. data/.github/workflows/pdd.yml +0 -19
  18. data/.github/workflows/rake.yml +0 -28
  19. data/.github/workflows/reuse.yml +0 -19
  20. data/.github/workflows/typos.yml +0 -19
  21. data/.github/workflows/xcop.yml +0 -19
  22. data/.github/workflows/yamllint.yml +0 -19
  23. data/.gitignore +0 -11
  24. data/.pdd +0 -7
  25. data/.rubocop.yml +0 -51
  26. data/.rultor.yml +0 -27
  27. data/benchmark/bench_factbase.rb +0 -61
  28. data/benchmark/bench_large_query.rb +0 -128
  29. data/benchmark/bench_query.rb +0 -57
  30. data/benchmark/bench_taped.rb +0 -33
  31. data/fixtures/stories/agg.yml +0 -17
  32. data/fixtures/stories/always.yml +0 -16
  33. data/fixtures/stories/and.yml +0 -19
  34. data/fixtures/stories/as.yml +0 -16
  35. data/fixtures/stories/count.yml +0 -18
  36. data/fixtures/stories/empty.yml +0 -23
  37. data/fixtures/stories/eq.yml +0 -30
  38. data/fixtures/stories/gt.yml +0 -18
  39. data/fixtures/stories/join.yml +0 -22
  40. data/fixtures/stories/max.yml +0 -14
  41. data/fixtures/stories/min.yml +0 -14
  42. data/fixtures/stories/nth.yml +0 -14
  43. data/fixtures/stories/one.yml +0 -14
  44. data/fixtures/stories/or.yml +0 -18
  45. data/fixtures/stories/sprintf.yml +0 -12
  46. data/fixtures/stories/sum.yml +0 -14
  47. data/fixtures/stories/unique.yml +0 -30
  48. data/renovate.json +0 -6
  49. data/test/factbase/cached/test_cached_factbase.rb +0 -44
  50. data/test/factbase/cached/test_cached_query.rb +0 -100
  51. data/test/factbase/indexed/test_indexed_fact.rb +0 -23
  52. data/test/factbase/indexed/test_indexed_factbase.rb +0 -96
  53. data/test/factbase/indexed/test_indexed_query.rb +0 -208
  54. data/test/factbase/indexed/test_indexed_term.rb +0 -140
  55. data/test/factbase/sync/test_sync_factbase.rb +0 -22
  56. data/test/factbase/sync/test_sync_query.rb +0 -30
  57. data/test/factbase/terms/test_aggregates.rb +0 -63
  58. data/test/factbase/terms/test_aliases.rb +0 -58
  59. data/test/factbase/terms/test_casting.rb +0 -33
  60. data/test/factbase/terms/test_debug.rb +0 -111
  61. data/test/factbase/terms/test_defn.rb +0 -48
  62. data/test/factbase/terms/test_logical.rb +0 -57
  63. data/test/factbase/terms/test_math.rb +0 -122
  64. data/test/factbase/terms/test_meta.rb +0 -70
  65. data/test/factbase/terms/test_ordering.rb +0 -44
  66. data/test/factbase/terms/test_strings.rb +0 -36
  67. data/test/factbase/terms/test_system.rb +0 -31
  68. data/test/factbase/test_accum.rb +0 -74
  69. data/test/factbase/test_churn.rb +0 -41
  70. data/test/factbase/test_fact.rb +0 -108
  71. data/test/factbase/test_fact_as_yaml.rb +0 -77
  72. data/test/factbase/test_flatten.rb +0 -28
  73. data/test/factbase/test_impatient.rb +0 -176
  74. data/test/factbase/test_inv.rb +0 -44
  75. data/test/factbase/test_logged.rb +0 -155
  76. data/test/factbase/test_pre.rb +0 -35
  77. data/test/factbase/test_query.rb +0 -445
  78. data/test/factbase/test_rules.rb +0 -128
  79. data/test/factbase/test_syntax.rb +0 -166
  80. data/test/factbase/test_tallied.rb +0 -81
  81. data/test/factbase/test_taped.rb +0 -72
  82. data/test/factbase/test_tee.rb +0 -85
  83. data/test/factbase/test_term.rb +0 -87
  84. data/test/factbase/test_to_json.rb +0 -35
  85. data/test/factbase/test_to_xml.rb +0 -89
  86. data/test/factbase/test_to_yaml.rb +0 -39
  87. data/test/test__helper.rb +0 -41
  88. data/test/test_factbase.rb +0 -509
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0145cce5633262e8ec7e38d5d85e8500ab0bb1e1c7cb43936ef879449e9968d3
4
- data.tar.gz: bc80e63b7f0b8729acec10d3d916576b045b3b1ce65e6972b4985c885eb3a09e
3
+ metadata.gz: b4aba41edebb257f304f7acc720e9197362b064c133002bc70961a82547b7e8d
4
+ data.tar.gz: 96ac1f52f408652849099830345ce2e00e4b167ebbc242150c1daa1f12f33b7b
5
5
  SHA512:
6
- metadata.gz: ffcfcc48eaeb4184b7d14ed7858e47d792e0192aa4451c95b17712190eacbd017d7bb92c44b4f43a69730338bc683210cf33c4321c2d5c1dd977462924a13b3f
7
- data.tar.gz: 2285fe9c3c071795716c294fb1d24d6f863cac5b61cc20a3bb6c05b2d80a558905dd9b0f84a17dc16a16a99a1183eab668e046b6b38d56e04463b098f2487f84
6
+ metadata.gz: 7812e78d6d5197deac99ca0ddb685db75657c06134153444c33f95842bcf80694056b8788ad9345daf7241123e3738ead1e01910078bf83c9efa757a0e1893ad
7
+ data.tar.gz: 8f0ddd2e96246985b18bb69cf4ab109ac4feb6460f2c1a0c1f9c0daee9b52b9aedd3af6af44f97a15e9c425222a8279876a682138f9dfee9574664f768f858a7
data/Gemfile.lock CHANGED
@@ -3,14 +3,14 @@ PATH
3
3
  specs:
4
4
  factbase (0.0.0)
5
5
  backtrace (~> 0.4)
6
- decoor (~> 0.0)
6
+ decoor (~> 0.1)
7
7
  ellipsized (~> 0.3)
8
8
  json (~> 2.7)
9
9
  logger (~> 1.0)
10
10
  loog (~> 0.6)
11
11
  nokogiri (~> 1.10)
12
- others (~> 0.0)
13
- tago (~> 0.0)
12
+ others (~> 0.1)
13
+ tago (~> 0.1)
14
14
  yaml (~> 0.3)
15
15
 
16
16
  GEM
@@ -70,7 +70,7 @@ GEM
70
70
  rdoc (6.14.2)
71
71
  erb
72
72
  psych (>= 4.0.0)
73
- regexp_parser (2.10.0)
73
+ regexp_parser (2.11.2)
74
74
  rexml (3.4.1)
75
75
  rubocop (1.79.2)
76
76
  json (~> 2.3)
@@ -112,7 +112,7 @@ GEM
112
112
  threads (0.4.1)
113
113
  backtrace (~> 0)
114
114
  concurrent-ruby (~> 1.0)
115
- unicode-display_width (3.1.4)
115
+ unicode-display_width (3.1.5)
116
116
  unicode-emoji (~> 4.0, >= 4.0.4)
117
117
  unicode-emoji (4.0.4)
118
118
  yaml (0.4.0)
data/factbase.gemspec CHANGED
@@ -22,18 +22,18 @@ Gem::Specification.new do |s|
22
22
  s.authors = ['Yegor Bugayenko']
23
23
  s.email = 'yegor256@gmail.com'
24
24
  s.homepage = 'https://github.com/yegor256/factbase.rb'
25
- s.files = `git ls-files`.split($RS)
25
+ s.files = `git ls-files | grep -v -E '^(test/|\\.|fixtures|benchmark|renovate)'`.split($RS)
26
26
  s.rdoc_options = ['--charset=UTF-8']
27
27
  s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
28
28
  s.add_dependency 'backtrace', '~>0.4'
29
- s.add_dependency 'decoor', '~>0.0'
29
+ s.add_dependency 'decoor', '~>0.1'
30
30
  s.add_dependency 'ellipsized', '~>0.3'
31
31
  s.add_dependency 'json', '~>2.7'
32
32
  s.add_dependency 'logger', '~>1.0'
33
33
  s.add_dependency 'loog', '~>0.6'
34
34
  s.add_dependency 'nokogiri', '~>1.10'
35
- s.add_dependency 'others', '~>0.0'
36
- s.add_dependency 'tago', '~>0.0'
35
+ s.add_dependency 'others', '~>0.1'
36
+ s.add_dependency 'tago', '~>0.1'
37
37
  s.add_dependency 'yaml', '~>0.3'
38
38
  s.metadata['rubygems_mfa_required'] = 'true'
39
39
  end
data/lib/factbase/fact.rb CHANGED
@@ -37,7 +37,7 @@ class Factbase::Fact
37
37
  # Convert it to a string.
38
38
  # @return [String] String representation of it (in JSON)
39
39
  def to_s
40
- "[ #{@map.map { |k, v| "#{k}: #{v}" }.join(', ')} ]"
40
+ "[ #{@map.map { |k, v| "#{k}: #{v}" }.sort.join(', ')} ]"
41
41
  end
42
42
 
43
43
  # Get a list of all props.
@@ -35,7 +35,16 @@ class Factbase::FactAsYaml
35
35
  hash[p] = v.is_a?(Array) ? v : [v]
36
36
  end
37
37
  hash.sort.to_h.map do |k, vv|
38
- "#{k}: [#{vv.map { |v| v.is_a?(String) ? v.ellipsized : v }.map(&:inspect).join(', ')}]"
38
+ [
39
+ k,
40
+ ': [',
41
+ vv.map do |v|
42
+ v = v.ellipsized if v.is_a?(String)
43
+ v = v.utc.iso8601 if v.is_a?(Time)
44
+ v
45
+ end.map(&:inspect).join(', '),
46
+ ']'
47
+ ].join
39
48
  end.join("\n")
40
49
  end
41
50
  end
@@ -22,6 +22,8 @@ module Factbase::IndexedTerm
22
22
  def predict(maps, params)
23
23
  key = [maps.object_id, @operands.first, @op]
24
24
  case @op
25
+ when :unique
26
+ maps
25
27
  when :one
26
28
  if @idx[key].nil?
27
29
  @idx[key] = []
@@ -145,7 +147,10 @@ module Factbase::IndexedTerm
145
147
  else
146
148
  @operands.each do |o|
147
149
  n = o.predict(maps, params)
148
- break if n.nil?
150
+ if n.nil?
151
+ r = maps
152
+ break
153
+ end
149
154
  if r.nil?
150
155
  r = n
151
156
  else
@@ -9,5 +9,5 @@
9
9
  # License:: MIT
10
10
  class Factbase
11
11
  # Current version of the gem (changed by .rultor.yml on every release)
12
- VERSION = '0.15.0' unless const_defined?(:VERSION)
12
+ VERSION = '0.15.1' unless const_defined?(:VERSION)
13
13
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: factbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
@@ -29,14 +29,14 @@ dependencies:
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: '0.0'
32
+ version: '0.1'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.0'
39
+ version: '0.1'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: ellipsized
42
42
  requirement: !ruby/object:Gem::Requirement
@@ -113,28 +113,28 @@ dependencies:
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '0.0'
116
+ version: '0.1'
117
117
  type: :runtime
118
118
  prerelease: false
119
119
  version_requirements: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '0.0'
123
+ version: '0.1'
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: tago
126
126
  requirement: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '0.0'
130
+ version: '0.1'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '0.0'
137
+ version: '0.1'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: yaml
140
140
  requirement: !ruby/object:Gem::Requirement
@@ -161,24 +161,6 @@ extra_rdoc_files:
161
161
  - LICENSE.txt
162
162
  - README.md
163
163
  files:
164
- - ".0pdd.yml"
165
- - ".gitattributes"
166
- - ".github/publish-benchmark.sh"
167
- - ".github/workflows/actionlint.yml"
168
- - ".github/workflows/benchmark.yml"
169
- - ".github/workflows/codecov.yml"
170
- - ".github/workflows/copyrights.yml"
171
- - ".github/workflows/markdown-lint.yml"
172
- - ".github/workflows/pdd.yml"
173
- - ".github/workflows/rake.yml"
174
- - ".github/workflows/reuse.yml"
175
- - ".github/workflows/typos.yml"
176
- - ".github/workflows/xcop.yml"
177
- - ".github/workflows/yamllint.yml"
178
- - ".gitignore"
179
- - ".pdd"
180
- - ".rubocop.yml"
181
- - ".rultor.yml"
182
164
  - Gemfile
183
165
  - Gemfile.lock
184
166
  - LICENSE.txt
@@ -186,28 +168,7 @@ files:
186
168
  - README.md
187
169
  - REUSE.toml
188
170
  - Rakefile
189
- - benchmark/bench_factbase.rb
190
- - benchmark/bench_large_query.rb
191
- - benchmark/bench_query.rb
192
- - benchmark/bench_taped.rb
193
171
  - factbase.gemspec
194
- - fixtures/stories/agg.yml
195
- - fixtures/stories/always.yml
196
- - fixtures/stories/and.yml
197
- - fixtures/stories/as.yml
198
- - fixtures/stories/count.yml
199
- - fixtures/stories/empty.yml
200
- - fixtures/stories/eq.yml
201
- - fixtures/stories/gt.yml
202
- - fixtures/stories/join.yml
203
- - fixtures/stories/max.yml
204
- - fixtures/stories/min.yml
205
- - fixtures/stories/nth.yml
206
- - fixtures/stories/one.yml
207
- - fixtures/stories/or.yml
208
- - fixtures/stories/sprintf.yml
209
- - fixtures/stories/sum.yml
210
- - fixtures/stories/unique.yml
211
172
  - lib/factbase.rb
212
173
  - lib/factbase/accum.rb
213
174
  - lib/factbase/cached/cached_fact.rb
@@ -251,47 +212,6 @@ files:
251
212
  - lib/factbase/to_xml.rb
252
213
  - lib/factbase/to_yaml.rb
253
214
  - lib/factbase/version.rb
254
- - renovate.json
255
- - test/factbase/cached/test_cached_factbase.rb
256
- - test/factbase/cached/test_cached_query.rb
257
- - test/factbase/indexed/test_indexed_fact.rb
258
- - test/factbase/indexed/test_indexed_factbase.rb
259
- - test/factbase/indexed/test_indexed_query.rb
260
- - test/factbase/indexed/test_indexed_term.rb
261
- - test/factbase/sync/test_sync_factbase.rb
262
- - test/factbase/sync/test_sync_query.rb
263
- - test/factbase/terms/test_aggregates.rb
264
- - test/factbase/terms/test_aliases.rb
265
- - test/factbase/terms/test_casting.rb
266
- - test/factbase/terms/test_debug.rb
267
- - test/factbase/terms/test_defn.rb
268
- - test/factbase/terms/test_logical.rb
269
- - test/factbase/terms/test_math.rb
270
- - test/factbase/terms/test_meta.rb
271
- - test/factbase/terms/test_ordering.rb
272
- - test/factbase/terms/test_strings.rb
273
- - test/factbase/terms/test_system.rb
274
- - test/factbase/test_accum.rb
275
- - test/factbase/test_churn.rb
276
- - test/factbase/test_fact.rb
277
- - test/factbase/test_fact_as_yaml.rb
278
- - test/factbase/test_flatten.rb
279
- - test/factbase/test_impatient.rb
280
- - test/factbase/test_inv.rb
281
- - test/factbase/test_logged.rb
282
- - test/factbase/test_pre.rb
283
- - test/factbase/test_query.rb
284
- - test/factbase/test_rules.rb
285
- - test/factbase/test_syntax.rb
286
- - test/factbase/test_tallied.rb
287
- - test/factbase/test_taped.rb
288
- - test/factbase/test_tee.rb
289
- - test/factbase/test_term.rb
290
- - test/factbase/test_to_json.rb
291
- - test/factbase/test_to_xml.rb
292
- - test/factbase/test_to_yaml.rb
293
- - test/test__helper.rb
294
- - test/test_factbase.rb
295
215
  homepage: https://github.com/yegor256/factbase.rb
296
216
  licenses:
297
217
  - MIT
data/.0pdd.yml DELETED
@@ -1,8 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- errors:
5
- - yegor256@gmail.com
6
- # alerts:
7
- # github:
8
- # - yegor256
data/.gitattributes DELETED
@@ -1,7 +0,0 @@
1
- # Check out all text files in UNIX format, with LF as end of line
2
- # Don't change this file. If you have any ideas about it, please
3
- # submit a separate issue about it and we'll discuss.
4
-
5
- * text=auto eol=lf
6
- *.java ident
7
- *.xml ident
@@ -1,24 +0,0 @@
1
- #!/bin/bash
2
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
3
- # SPDX-License-Identifier: MIT
4
-
5
- set -x
6
-
7
- sum=$(
8
- echo '```text'
9
- cut -c -71 < stdout.txt
10
- echo '```'
11
- echo
12
- echo "The results were calculated in [this GHA job][benchmark-gha]"
13
- echo "on $(date +'%Y-%m-%d') at $(date +'%H:%M'),"
14
- echo "on $(uname) with $(nproc --all) CPUs."
15
- )
16
-
17
- export sum
18
-
19
- perl -i -0777 -pe 's/(?<=<!-- benchmark_begin -->).*(?=<!-- benchmark_end -->)/\n$ENV{sum}\n/gs;' README.md
20
- url=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}
21
-
22
- export url
23
- perl -i -0777 -pe 's/(?<=\[benchmark-gha\]: )[^\n]+(?=\n)/$ENV{url}/gs;' README.md
24
- rm stdout.txt
@@ -1,25 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: actionlint
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- actionlint:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - name: Download actionlint
20
- id: get_actionlint
21
- run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
22
- shell: bash
23
- - name: Check workflow files
24
- run: ${{ steps.get_actionlint.outputs.executable }} -color
25
- shell: bash
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
4
- # SPDX-License-Identifier: MIT
5
- ---
6
- # yamllint disable rule:line-length
7
- name: benchmark
8
- 'on':
9
- push:
10
- paths-ignore: ['README.md']
11
- concurrency:
12
- group: benchmark-${{ github.ref }}
13
- cancel-in-progress: true
14
- jobs:
15
- benchmark:
16
- timeout-minutes: 15
17
- runs-on: ubuntu-24.04
18
- steps:
19
- - uses: actions/checkout@v5
20
- - uses: ruby/setup-ruby@v1
21
- with:
22
- ruby-version: 3.3
23
- bundler-cache: true
24
- - run: bundle config set --global path "$(pwd)/vendor/bundle"
25
- - run: bundle install --no-color
26
- - run: bundle exec rake benchmark > stdout.txt
27
- - run: .github/publish-benchmark.sh
28
- - uses: peter-evans/create-pull-request@v7
29
- with:
30
- sign-commits: true
31
- branch: benchmark-results
32
- commit-message: 'new benchmarking results'
33
- delete-branch: true
34
- title: 'New Benchmarking Results'
35
- reviewers: yegor256
36
- base: master
@@ -1,27 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: codecov
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- jobs:
11
- codecov:
12
- timeout-minutes: 15
13
- runs-on: ubuntu-24.04
14
- steps:
15
- - uses: actions/checkout@v5
16
- - uses: ruby/setup-ruby@v1
17
- with:
18
- ruby-version: 3.3
19
- bundler-cache: true
20
- - run: bundle config set --global path "$(pwd)/vendor/bundle"
21
- - run: bundle install --no-color
22
- - run: bundle exec rake test
23
- - uses: codecov/codecov-action@v5
24
- with:
25
- token: ${{ secrets.CODECOV_TOKEN }}
26
- files: coverage/.resultset.json
27
- fail_ci_if_error: true
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: copyrights
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- copyrights:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: yegor256/copyrights-action@0.0.12
@@ -1,23 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: markdown-lint
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- paths-ignore: ['paper/**', 'sandbox/**']
14
- concurrency:
15
- group: markdown-lint-${{ github.ref }}
16
- cancel-in-progress: true
17
- jobs:
18
- markdown-lint:
19
- timeout-minutes: 15
20
- runs-on: ubuntu-24.04
21
- steps:
22
- - uses: actions/checkout@v5
23
- - uses: DavidAnson/markdownlint-cli2-action@v20.0.0
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: pdd
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- pdd:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: volodya-lombrozo/pdd-action@master
@@ -1,28 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: rake
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- rake:
15
- strategy:
16
- matrix:
17
- os: [ubuntu-24.04, macos-15, windows-2022]
18
- ruby: [3.3]
19
- runs-on: ${{ matrix.os }}
20
- steps:
21
- - uses: actions/checkout@v5
22
- - uses: ruby/setup-ruby@v1
23
- with:
24
- ruby-version: ${{ matrix.ruby }}
25
- bundler-cache: true
26
- - run: bundle config set --global path "$(pwd)/vendor/bundle"
27
- - run: bundle install --no-color
28
- - run: bundle exec rake
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: reuse
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- reuse:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: fsfe/reuse-action@v5
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: typos
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- typos:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: crate-ci/typos@v1.35.4
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: xcop
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- xcop:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: g4s8/xcop-action@master
@@ -1,19 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- # yamllint disable rule:line-length
5
- name: yamllint
6
- 'on':
7
- push:
8
- branches:
9
- - master
10
- pull_request:
11
- branches:
12
- - master
13
- jobs:
14
- yamllint:
15
- timeout-minutes: 15
16
- runs-on: ubuntu-24.04
17
- steps:
18
- - uses: actions/checkout@v5
19
- - uses: ibiqlik/action-yamllint@v3
data/.gitignore DELETED
@@ -1,11 +0,0 @@
1
- .bundle/
2
- .DS_Store
3
- .idea/
4
- .yardoc/
5
- *.gem
6
- coverage/
7
- doc/
8
- node_modules/
9
- rdoc/
10
- vendor/
11
- .claude/
data/.pdd DELETED
@@ -1,7 +0,0 @@
1
- --source=.
2
- --verbose
3
- --exclude target/**/*
4
- --exclude coverage/**/*
5
- --rule min-words:20
6
- --rule min-estimate:15
7
- --rule max-estimate:90
data/.rubocop.yml DELETED
@@ -1,51 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025 Yegor Bugayenko
2
- # SPDX-License-Identifier: MIT
3
- ---
4
- AllCops:
5
- Exclude:
6
- - 'bin/**/*'
7
- - 'assets/**/*'
8
- - 'vendor/**/**'
9
- DisplayCopNames: true
10
- TargetRubyVersion: 3.2
11
- SuggestExtensions: false
12
- NewCops: enable
13
- plugins:
14
- - rubocop-minitest
15
- - rubocop-performance
16
- - rubocop-rake
17
- Naming/PredicateMethod:
18
- Enabled: false
19
- Minitest/EmptyLineBeforeAssertionMethods:
20
- Enabled: false
21
- Gemspec/RequiredRubyVersion:
22
- Enabled: false
23
- Metrics/MethodLength:
24
- Enabled: false
25
- Metrics/ModuleLength:
26
- Enabled: false
27
- Style/ClassAndModuleChildren:
28
- Enabled: false
29
- Layout/MultilineMethodCallIndentation:
30
- Enabled: false
31
- Metrics/AbcSize:
32
- Enabled: false
33
- Metrics/BlockLength:
34
- Max: 50
35
- Metrics/CyclomaticComplexity:
36
- Max: 100
37
- Metrics/PerceivedComplexity:
38
- Max: 100
39
- Metrics/ClassLength:
40
- Enabled: false
41
- Layout/EmptyLineAfterGuardClause:
42
- Enabled: false
43
- Naming/MethodParameterName:
44
- MinNameLength: 2
45
- Layout/EndOfLine:
46
- EnforcedStyle: lf
47
- Security/MarshalLoad:
48
- Enabled: false
49
- Layout/MultilineAssignmentLayout:
50
- Enabled: true
51
- require: []