timecop-rspec 1.0.2 → 1.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.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +21 -2
  4. data/README.md +21 -12
  5. data/checksums/timecop-rspec-1.0.3.gem.sha256 +1 -0
  6. data/checksums/timecop-rspec-1.0.3.gem.sha512 +1 -0
  7. data/lib/timecop/rspec/version.rb +1 -1
  8. data.tar.gz.sig +0 -0
  9. metadata +43 -137
  10. metadata.gz.sig +0 -0
  11. data/.devcontainer/devcontainer.json +0 -26
  12. data/.env.local.example +0 -3
  13. data/.envrc +0 -41
  14. data/.github/FUNDING.yml +0 -13
  15. data/.github/dependabot.yml +0 -12
  16. data/.github/workflows/ancient.yml +0 -77
  17. data/.github/workflows/auto-assign.yml +0 -21
  18. data/.github/workflows/codeql-analysis.yml +0 -70
  19. data/.github/workflows/coverage.yml +0 -126
  20. data/.github/workflows/current.yml +0 -85
  21. data/.github/workflows/dependency-review.yml +0 -20
  22. data/.github/workflows/deps_locked.yml +0 -85
  23. data/.github/workflows/deps_unlocked.yml +0 -84
  24. data/.github/workflows/discord-notifier.yml +0 -38
  25. data/.github/workflows/heads.yml +0 -84
  26. data/.github/workflows/jruby.yml +0 -75
  27. data/.github/workflows/legacy.yml +0 -67
  28. data/.github/workflows/style.yml +0 -64
  29. data/.github/workflows/supported.yml +0 -82
  30. data/.github/workflows/truffle.yml +0 -75
  31. data/.github/workflows/unsupported.yml +0 -75
  32. data/.gitignore +0 -45
  33. data/.gitlab-ci.yml +0 -44
  34. data/.idea/.gitignore +0 -8
  35. data/.idea/GitLink.xml +0 -6
  36. data/.idea/misc.xml +0 -4
  37. data/.idea/modules.xml +0 -8
  38. data/.idea/timecop-rspec.iml +0 -122
  39. data/.idea/vcs.xml +0 -6
  40. data/.junie/TASK_NOTE.md +0 -1
  41. data/.junie/guidelines.md +0 -139
  42. data/.qlty/qlty.toml +0 -79
  43. data/.rspec +0 -8
  44. data/.rubocop.yml +0 -15
  45. data/.rubocop_gradual.lock +0 -76
  46. data/.simplecov +0 -11
  47. data/.tool-versions +0 -1
  48. data/.yard_gfm_support.rb +0 -22
  49. data/.yardopts +0 -11
  50. data/Appraisal.root.gemfile +0 -12
  51. data/Appraisals +0 -104
  52. data/CNAME +0 -1
  53. data/Gemfile +0 -38
  54. data/Gemfile.lock +0 -293
  55. data/Rakefile +0 -324
  56. data/bin/appraisal +0 -16
  57. data/bin/bundle-audit +0 -16
  58. data/bin/bundler-audit +0 -16
  59. data/bin/code_climate_reek +0 -16
  60. data/bin/coderay +0 -16
  61. data/bin/console +0 -11
  62. data/bin/erb +0 -16
  63. data/bin/gem_checksums +0 -16
  64. data/bin/htmldiff +0 -16
  65. data/bin/irb +0 -16
  66. data/bin/kramdown +0 -16
  67. data/bin/ldiff +0 -16
  68. data/bin/nokogiri +0 -16
  69. data/bin/pry +0 -16
  70. data/bin/racc +0 -16
  71. data/bin/rake +0 -16
  72. data/bin/rdbg +0 -16
  73. data/bin/rdoc +0 -16
  74. data/bin/reek +0 -16
  75. data/bin/ri +0 -16
  76. data/bin/rspec +0 -16
  77. data/bin/rubocop +0 -16
  78. data/bin/rubocop-gradual +0 -16
  79. data/bin/ruby-parse +0 -16
  80. data/bin/ruby-rewrite +0 -16
  81. data/bin/setup +0 -7
  82. data/bin/standardrb +0 -16
  83. data/bin/thor +0 -16
  84. data/bin/yard +0 -16
  85. data/bin/yard-junk +0 -16
  86. data/bin/yardoc +0 -16
  87. data/bin/yri +0 -16
  88. data/certs/pboling.pem +0 -27
  89. data/docs/Timecop/Rspec/ExampleDecorator.html +0 -626
  90. data/docs/Timecop/Rspec/SequentialTimeMachine.html +0 -338
  91. data/docs/Timecop/Rspec/TimeMachine.html +0 -357
  92. data/docs/Timecop/Rspec/TravelLog.html +0 -440
  93. data/docs/Timecop/Rspec/Traveler.html +0 -353
  94. data/docs/Timecop/Rspec/Version.html +0 -154
  95. data/docs/Timecop/Rspec.html +0 -476
  96. data/docs/Timecop.html +0 -143
  97. data/docs/_index.html +0 -230
  98. data/docs/class_list.html +0 -54
  99. data/docs/css/common.css +0 -1
  100. data/docs/css/full_list.css +0 -58
  101. data/docs/css/style.css +0 -503
  102. data/docs/file.CHANGELOG.html +0 -130
  103. data/docs/file.CITATION.html +0 -92
  104. data/docs/file.CODE_OF_CONDUCT.html +0 -201
  105. data/docs/file.CONTRIBUTING.html +0 -218
  106. data/docs/file.LICENSE.html +0 -70
  107. data/docs/file.README.html +0 -545
  108. data/docs/file.REEK.html +0 -71
  109. data/docs/file.RUBOCOP.html +0 -171
  110. data/docs/file.SECURITY.html +0 -101
  111. data/docs/file.rspec.html +0 -109
  112. data/docs/file.timecop-rspec-1.0.0.gem.html +0 -71
  113. data/docs/file.timecop-rspec-1.0.1.gem.html +0 -71
  114. data/docs/file.timecop.html +0 -72
  115. data/docs/file_list.html +0 -129
  116. data/docs/frames.html +0 -22
  117. data/docs/index.html +0 -545
  118. data/docs/js/app.js +0 -344
  119. data/docs/js/full_list.js +0 -242
  120. data/docs/js/jquery.js +0 -4
  121. data/docs/method_list.html +0 -198
  122. data/docs/top-level-namespace.html +0 -110
  123. data/gemfiles/audit.gemfile +0 -10
  124. data/gemfiles/coverage.gemfile +0 -10
  125. data/gemfiles/current.gemfile +0 -8
  126. data/gemfiles/deps_unlocked.gemfile +0 -13
  127. data/gemfiles/head.gemfile +0 -9
  128. data/gemfiles/modular/audit.gemfile +0 -5
  129. data/gemfiles/modular/coverage.gemfile +0 -6
  130. data/gemfiles/modular/documentation.gemfile +0 -11
  131. data/gemfiles/modular/style.gemfile +0 -14
  132. data/gemfiles/ruby_2_3.gemfile +0 -5
  133. data/gemfiles/ruby_2_4.gemfile +0 -5
  134. data/gemfiles/ruby_2_5.gemfile +0 -5
  135. data/gemfiles/ruby_2_6.gemfile +0 -8
  136. data/gemfiles/ruby_2_7.gemfile +0 -8
  137. data/gemfiles/ruby_3_0.gemfile +0 -8
  138. data/gemfiles/ruby_3_1.gemfile +0 -8
  139. data/gemfiles/ruby_3_2.gemfile +0 -8
  140. data/gemfiles/ruby_3_3.gemfile +0 -8
  141. data/gemfiles/style.gemfile +0 -10
  142. data/timecop-rspec.gemspec +0 -149
data/Gemfile.lock DELETED
@@ -1,293 +0,0 @@
1
- GIT
2
- remote: https://github.com/pboling/yard-junk
3
- revision: 54ccebabbfa9a9cd44d0b991687ebbfd22c32b55
4
- branch: next
5
- specs:
6
- yard-junk (0.0.10)
7
- backports (>= 3.18)
8
- benchmark
9
- ostruct
10
- rainbow
11
- yard
12
-
13
- PATH
14
- remote: .
15
- specs:
16
- timecop-rspec (1.0.2)
17
- delegate (~> 0.1)
18
- rspec (~> 3.0)
19
- timecop (>= 0.7, < 1)
20
-
21
- GEM
22
- remote: https://rubygems.org/
23
- specs:
24
- ansi (1.5.0)
25
- appraisal2 (3.0.0)
26
- bundler (>= 1.17.3)
27
- rake (>= 10)
28
- thor (>= 0.14)
29
- ast (2.4.3)
30
- backports (3.25.1)
31
- benchmark (0.4.1)
32
- bigdecimal (3.2.2)
33
- bundler-audit (0.9.2)
34
- bundler (>= 1.2.0, < 3)
35
- thor (~> 1.0)
36
- coderay (1.1.3)
37
- concurrent-ruby (1.3.5)
38
- date (3.4.1)
39
- debug (1.11.0)
40
- irb (~> 1.10)
41
- reline (>= 0.3.8)
42
- delegate (0.4.0)
43
- diff-lcs (1.6.2)
44
- diffy (3.4.4)
45
- docile (1.4.1)
46
- dry-configurable (1.3.0)
47
- dry-core (~> 1.1)
48
- zeitwerk (~> 2.6)
49
- dry-core (1.1.0)
50
- concurrent-ruby (~> 1.0)
51
- logger
52
- zeitwerk (~> 2.6)
53
- dry-inflector (1.2.0)
54
- dry-initializer (3.2.0)
55
- dry-logic (1.6.0)
56
- bigdecimal
57
- concurrent-ruby (~> 1.0)
58
- dry-core (~> 1.1)
59
- zeitwerk (~> 2.6)
60
- dry-schema (1.14.1)
61
- concurrent-ruby (~> 1.0)
62
- dry-configurable (~> 1.0, >= 1.0.1)
63
- dry-core (~> 1.1)
64
- dry-initializer (~> 3.2)
65
- dry-logic (~> 1.5)
66
- dry-types (~> 1.8)
67
- zeitwerk (~> 2.6)
68
- dry-types (1.8.3)
69
- bigdecimal (~> 3.0)
70
- concurrent-ruby (~> 1.0)
71
- dry-core (~> 1.0)
72
- dry-inflector (~> 1.0)
73
- dry-logic (~> 1.4)
74
- zeitwerk (~> 2.6)
75
- erb (5.0.2)
76
- gem_bench (2.0.5)
77
- bundler (>= 1.14)
78
- version_gem (~> 1.1, >= 1.1.4)
79
- io-console (0.8.1)
80
- irb (1.15.2)
81
- pp (>= 0.6.0)
82
- rdoc (>= 4.0.0)
83
- reline (>= 0.4.2)
84
- json (2.13.2)
85
- kettle-soup-cover (1.0.10)
86
- simplecov (~> 0.22)
87
- simplecov-cobertura (~> 3.0)
88
- simplecov-console (~> 0.9, >= 0.9.3)
89
- simplecov-html (~> 0.13, >= 0.13.1)
90
- simplecov-lcov (~> 0.8)
91
- simplecov-rcov (~> 0.3, >= 0.3.7)
92
- simplecov_json_formatter (~> 0.1, >= 0.1.4)
93
- version_gem (~> 1.1, >= 1.1.8)
94
- kramdown (2.5.1)
95
- rexml (>= 3.3.9)
96
- kramdown-parser-gfm (1.1.0)
97
- kramdown (~> 2.0)
98
- language_server-protocol (3.17.0.5)
99
- lint_roller (1.1.0)
100
- logger (1.7.0)
101
- method_source (1.1.0)
102
- nokogiri (1.18.9-x86_64-linux-gnu)
103
- racc (~> 1.4)
104
- ostruct (0.6.3)
105
- parallel (1.27.0)
106
- parser (3.3.9.0)
107
- ast (~> 2.4.1)
108
- racc
109
- pp (0.6.2)
110
- prettyprint
111
- prettyprint (0.2.0)
112
- prism (1.4.0)
113
- pry (0.15.2)
114
- coderay (~> 1.1)
115
- method_source (~> 1.0)
116
- psych (5.2.6)
117
- date
118
- stringio
119
- racc (1.8.1)
120
- rainbow (3.1.1)
121
- rake (13.3.0)
122
- rdoc (6.14.2)
123
- erb
124
- psych (>= 4.0.0)
125
- reek (6.5.0)
126
- dry-schema (~> 1.13)
127
- logger (~> 1.6)
128
- parser (~> 3.3.0)
129
- rainbow (>= 2.0, < 4.0)
130
- rexml (~> 3.1)
131
- regexp_parser (2.11.2)
132
- reline (0.6.2)
133
- io-console (~> 0.5)
134
- rexml (3.4.1)
135
- rspec (3.13.1)
136
- rspec-core (~> 3.13.0)
137
- rspec-expectations (~> 3.13.0)
138
- rspec-mocks (~> 3.13.0)
139
- rspec-block_is_expected (1.0.6)
140
- rspec-core (3.13.5)
141
- rspec-support (~> 3.13.0)
142
- rspec-expectations (3.13.5)
143
- diff-lcs (>= 1.2.0, < 2.0)
144
- rspec-support (~> 3.13.0)
145
- rspec-mocks (3.13.5)
146
- diff-lcs (>= 1.2.0, < 2.0)
147
- rspec-support (~> 3.13.0)
148
- rspec-stubbed_env (1.0.4)
149
- rspec-support (3.13.4)
150
- rspec_junit_formatter (0.6.0)
151
- rspec-core (>= 2, < 4, != 2.12.0)
152
- rubocop (1.75.8)
153
- json (~> 2.3)
154
- language_server-protocol (~> 3.17.0.2)
155
- lint_roller (~> 1.1.0)
156
- parallel (~> 1.10)
157
- parser (>= 3.3.0.2)
158
- rainbow (>= 2.2.2, < 4.0)
159
- regexp_parser (>= 2.9.3, < 3.0)
160
- rubocop-ast (>= 1.44.0, < 2.0)
161
- ruby-progressbar (~> 1.7)
162
- unicode-display_width (>= 2.4.0, < 4.0)
163
- rubocop-ast (1.46.0)
164
- parser (>= 3.3.7.2)
165
- prism (~> 1.4)
166
- rubocop-gradual (0.3.6)
167
- diff-lcs (>= 1.2.0, < 2.0)
168
- diffy (~> 3.0)
169
- parallel (~> 1.10)
170
- rainbow (>= 2.2.2, < 4.0)
171
- rubocop (~> 1.0)
172
- rubocop-lts (0.1.1)
173
- rubocop-ruby1_8 (>= 1.0.5, < 2)
174
- standard-rubocop-lts (>= 1.0.3, < 3)
175
- version_gem (>= 1.1.2, < 3)
176
- rubocop-md (1.2.4)
177
- rubocop (>= 1.45)
178
- rubocop-packaging (0.6.0)
179
- lint_roller (~> 1.1.0)
180
- rubocop (>= 1.72.1, < 2.0)
181
- rubocop-performance (1.25.0)
182
- lint_roller (~> 1.1)
183
- rubocop (>= 1.75.0, < 2.0)
184
- rubocop-ast (>= 1.38.0, < 2.0)
185
- rubocop-rake (0.7.1)
186
- lint_roller (~> 1.1)
187
- rubocop (>= 1.72.1)
188
- rubocop-rspec (3.6.0)
189
- lint_roller (~> 1.1)
190
- rubocop (~> 1.72, >= 1.72.1)
191
- rubocop-ruby1_8 (1.0.7)
192
- rubocop-gradual (~> 0.3, >= 0.3.1)
193
- rubocop-md (~> 1.2)
194
- rubocop-rake (~> 0.6)
195
- rubocop-shopify (~> 2.14)
196
- rubocop-thread_safety (~> 0.5, >= 0.5.1)
197
- standard-rubocop-lts (~> 1.0, >= 1.0.7)
198
- version_gem (>= 1.1.3, < 3)
199
- rubocop-shopify (2.17.1)
200
- rubocop (~> 1.62)
201
- rubocop-thread_safety (0.7.3)
202
- lint_roller (~> 1.1)
203
- rubocop (~> 1.72, >= 1.72.1)
204
- rubocop-ast (>= 1.44.0, < 2.0)
205
- ruby-progressbar (1.13.0)
206
- silent_stream (1.0.11)
207
- logger (~> 1.2)
208
- version_gem (>= 1.1.8, < 3)
209
- simplecov (0.22.0)
210
- docile (~> 1.1)
211
- simplecov-html (~> 0.11)
212
- simplecov_json_formatter (~> 0.1)
213
- simplecov-cobertura (3.0.0)
214
- rexml
215
- simplecov (~> 0.19)
216
- simplecov-console (0.9.4)
217
- ansi
218
- simplecov
219
- terminal-table
220
- simplecov-html (0.13.2)
221
- simplecov-lcov (0.8.0)
222
- simplecov-rcov (0.3.7)
223
- simplecov (>= 0.4.1)
224
- simplecov_json_formatter (0.1.4)
225
- standard (1.50.0)
226
- language_server-protocol (~> 3.17.0.2)
227
- lint_roller (~> 1.0)
228
- rubocop (~> 1.75.5)
229
- standard-custom (~> 1.0.0)
230
- standard-performance (~> 1.8)
231
- standard-custom (1.0.2)
232
- lint_roller (~> 1.0)
233
- rubocop (~> 1.50)
234
- standard-performance (1.8.0)
235
- lint_roller (~> 1.1)
236
- rubocop-performance (~> 1.25.0)
237
- standard-rubocop-lts (1.0.10)
238
- rspec-block_is_expected (~> 1.0, >= 1.0.5)
239
- standard (>= 1.35.1, < 2)
240
- standard-custom (>= 1.0.2, < 2)
241
- standard-performance (>= 1.3.1, < 2)
242
- version_gem (>= 1.1.4, < 3)
243
- stone_checksums (1.0.0)
244
- version_gem (>= 1.1.5, < 3)
245
- stringio (3.1.7)
246
- terminal-table (4.0.0)
247
- unicode-display_width (>= 1.1.1, < 4)
248
- thor (1.4.0)
249
- timecop (0.9.10)
250
- unicode-display_width (3.1.5)
251
- unicode-emoji (~> 4.0, >= 4.0.4)
252
- unicode-emoji (4.0.4)
253
- version_gem (1.1.8)
254
- yard (0.9.37)
255
- yard-relative_markdown_links (0.5.0)
256
- nokogiri (>= 1.14.3, < 2)
257
- zeitwerk (2.7.3)
258
-
259
- PLATFORMS
260
- x86_64-linux
261
-
262
- DEPENDENCIES
263
- appraisal2 (~> 3.0)
264
- benchmark (~> 0.4, >= 0.4.1)
265
- bundler-audit (~> 0.9.2)
266
- debug (>= 1.0.0)
267
- gem_bench (~> 2.0, >= 2.0.5)
268
- kettle-soup-cover (~> 1.0, >= 1.0.6)
269
- kramdown (~> 2.5, >= 2.5.1)
270
- kramdown-parser-gfm (~> 1.1)
271
- logger
272
- pry (~> 0.14)
273
- rake (~> 13.0)
274
- rdoc (~> 6.11)
275
- reek (~> 6.4)
276
- rspec-block_is_expected (~> 1.0)
277
- rspec-stubbed_env (~> 1.0)
278
- rspec_junit_formatter (~> 0.6)
279
- rubocop (~> 1.73, >= 1.73.2)
280
- rubocop-lts (~> 0.1, >= 0.1.1)
281
- rubocop-packaging (~> 0.6, >= 0.6.0)
282
- rubocop-rspec (~> 3.2)
283
- silent_stream (~> 1.0, >= 1.0.11)
284
- standard (>= 1.50)
285
- stone_checksums (~> 1.0)
286
- timecop (~> 0.9, >= 0.9.10)
287
- timecop-rspec!
288
- yard (~> 0.9, >= 0.9.37)
289
- yard-junk (~> 0.0, >= 0.0.10)!
290
- yard-relative_markdown_links (~> 0.5.0)
291
-
292
- BUNDLED WITH
293
- 2.7.1
data/Rakefile DELETED
@@ -1,324 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- # Galtzo FLOSS Rakefile v1.0.9 - 2025-08-18
4
- #
5
- # CHANGELOG
6
- # v1.0.0 - initial release w/ support for rspec, minitest, rubocop, reek, yard, and stone_checksums
7
- # v1.0.1 - fix test / spec tasks running 2x
8
- # v1.0.2 - fix duplicate task warning from RuboCop
9
- # v1.0.3 - add bench tasks to run mini benchmarks (add scripts to /benchmarks)
10
- # v1.0.4 - add support for floss_funding:install
11
- # v1.0.5 - add support for halting in Rake tasks with binding.b (from debug gem)
12
- # v1.0.6 - add RBS files and checksums to YARD-generated docs site
13
- # v1.0.7 - works with vanilla ruby, non-gem, bundler-managed, projects
14
- # v1.0.8 - improved Dir globs, add back and document rbconfig dependency
15
- # v1.0.9 - add appraisal:update task to update Appraisal gemfiles and autocorrect with RuboCop Gradual
16
- #
17
- # MIT License (see License.txt)
18
- #
19
- # Copyright (c) 2025 Peter H. Boling (galtzo.com)
20
- #
21
- # Expected to work in any project that uses Bundler.
22
- #
23
- # Sets up tasks for floss_funding, rspec, minitest, rubocop, reek, yard, and stone_checksums.
24
- #
25
- # rake bench # Run all benchmarks (alias for bench:run)
26
- # rake bench:list # List available benchmark scripts
27
- # rake bench:run # Run all benchmark scripts (skips on CI)
28
- # rake build # Build my_gem-1.0.0.gem into the pkg directory
29
- # rake build:checksum # Generate SHA512 checksum of my_gem-1.0.0.gem into the checksums directory
30
- # rake build:generate_checksums # Generate both SHA256 & SHA512 checksums into the checksums directory, and git commit them
31
- # rake bundle:audit:check # Checks the Gemfile.lock for insecure dependencies
32
- # rake bundle:audit:update # Updates the bundler-audit vulnerability database
33
- # rake clean # Remove any temporary products
34
- # rake clobber # Remove any generated files
35
- # rake coverage # Run specs w/ coverage and open results in browser
36
- # rake install # Build and install my_gem-1.0.0.gem into system gems
37
- # rake install:local # Build and install my_gem-1.0.0.gem into system gems without network access
38
- # rake reek # Check for code smells
39
- # rake reek:update # Run reek and store the output into the REEK file
40
- # rake release[remote] # Create tag v1.0.0 and build and push my_gem-1.0.0.gem to rubygems.org
41
- # rake rubocop # alias rubocop task to rubocop_gradual
42
- # rake rubocop_gradual # Run RuboCop Gradual
43
- # rake rubocop_gradual:autocorrect # Run RuboCop Gradual with autocorrect (only when it's safe)
44
- # rake rubocop_gradual:autocorrect_all # Run RuboCop Gradual with autocorrect (safe and unsafe)
45
- # rake rubocop_gradual:check # Run RuboCop Gradual to check the lock file
46
- # rake rubocop_gradual:force_update # Run RuboCop Gradual to force update the lock file
47
- # rake spec # Run RSpec code examples
48
- # rake test # Run tests
49
- # rake yard # Generate YARD Documentation
50
-
51
- DEBUGGING = ENV.fetch("DEBUG", "false").casecmp("true").zero?
52
-
53
- # External gems
54
- require "bundler/gem_tasks" if !Dir[File.join(__dir__, "*.gemspec")].empty?
55
- require "rbconfig" if !Dir[File.join(__dir__, "benchmarks")].empty? # Used by `rake bench:run`
56
- require "debug" if DEBUGGING
57
-
58
- defaults = []
59
-
60
- is_ci = ENV.fetch("CI", "false").casecmp("true") == 0
61
-
62
- ### DEVELOPMENT TASKS
63
- # Setup Floss Funding
64
- begin
65
- require "floss_funding"
66
- FlossFunding.install_tasks
67
- rescue LoadError
68
- desc("(stub) floss_funding is unavailable")
69
- namespace(:floss_funding) do
70
- task("install") do
71
- warn("NOTE: floss_funding isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
72
- end
73
- end
74
- end
75
-
76
- # Setup Kettle Soup Cover
77
- begin
78
- require "kettle-soup-cover"
79
-
80
- Kettle::Soup::Cover.install_tasks
81
- # NOTE: Coverage on CI is configured independent of this task.
82
- # This task is for local development, as it opens results in browser
83
- defaults << "coverage" unless Kettle::Soup::Cover::IS_CI
84
- rescue LoadError
85
- desc("(stub) coverage is unavailable")
86
- task("coverage") do
87
- warn("NOTE: kettle-soup-cover isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
88
- end
89
- end
90
-
91
- # Setup Bundle Audit
92
- begin
93
- require "bundler/audit/task"
94
-
95
- Bundler::Audit::Task.new
96
- defaults.push("bundle:audit:update", "bundle:audit")
97
- rescue LoadError
98
- desc("(stub) bundle:audit is unavailable")
99
- task("bundle:audit") do
100
- warn("NOTE: bundler-audit isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
101
- end
102
- desc("(stub) bundle:audit:update is unavailable")
103
- task("bundle:audit:update") do
104
- warn("NOTE: bundler-audit isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
105
- end
106
- end
107
-
108
- # Setup RSpec
109
- begin
110
- require "rspec/core/rake_task"
111
-
112
- RSpec::Core::RakeTask.new(:spec)
113
- # This takes the place of `coverage` task when running as CI=true
114
- defaults << "spec" if !defined?(Kettle::Soup::Cover) || Kettle::Soup::Cover::IS_CI
115
- rescue LoadError
116
- desc("spec task stub")
117
- task(:spec) do
118
- warn("NOTE: rspec isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
119
- end
120
- end
121
-
122
- # Setup MiniTest
123
- begin
124
- require "rake/testtask"
125
-
126
- Rake::TestTask.new(:test) do |t|
127
- t.test_files = FileList["tests/**/test_*.rb"]
128
- end
129
- rescue LoadError
130
- desc("test task stub")
131
- task(:test) do
132
- warn("NOTE: minitest isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
133
- end
134
- end
135
-
136
- # rubocop:disable Rake/DuplicateTask
137
- if Rake::Task.task_defined?("spec") && !Rake::Task.task_defined?("test")
138
- desc "run spec task with test task"
139
- task :test => :spec
140
- elsif !Rake::Task.task_defined?("spec") && Rake::Task.task_defined?("test")
141
- desc "run test task with spec task"
142
- task :spec => :test
143
- else
144
- # Add spec as pre-requisite to 'test'
145
- Rake::Task[:test].enhance(["spec"])
146
- end
147
- # rubocop:enable Rake/DuplicateTask
148
-
149
- # Setup RuboCop-LTS
150
- begin
151
- require "rubocop/lts"
152
-
153
- Rubocop::Lts.install_tasks
154
- # Make autocorrect the default rubocop task
155
- defaults << "rubocop_gradual:autocorrect"
156
- rescue LoadError
157
- desc("(stub) rubocop_gradual is unavailable")
158
- task(:rubocop_gradual) do
159
- warn("NOTE: rubocop-lts isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
160
- end
161
- end
162
-
163
- # Setup Reek
164
- begin
165
- require "reek/rake/task"
166
-
167
- Reek::Rake::Task.new do |t|
168
- t.fail_on_error = true
169
- t.verbose = false
170
- t.source_files = "{lib,spec,tests}/**/*.rb"
171
- end
172
-
173
- # Store current Reek output into REEK file
174
- require "open3"
175
- desc("Run reek and store the output into the REEK file")
176
- task("reek:update") do
177
- # Run via Bundler if available to ensure the right gem version is used
178
- cmd = [Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle", "exec", "reek"]
179
-
180
- output, status = Open3.capture2e(*cmd)
181
-
182
- File.write("REEK", output)
183
-
184
- # Mirror the failure semantics of the standard reek task
185
- unless status.success?
186
- abort("reek:update failed (reek reported smells). Output written to REEK")
187
- end
188
- end
189
- defaults << "reek:update" unless is_ci
190
- rescue LoadError
191
- desc("(stub) reek is unavailable")
192
- task(:reek) do
193
- warn("NOTE: reek isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
194
- end
195
- end
196
-
197
- # Setup Yard
198
- begin
199
- require "yard"
200
-
201
- YARD::Rake::YardocTask.new(:yard) do |t|
202
- t.files = [
203
- # Source Splats (alphabetical)
204
- "lib/**/*.rb",
205
- "-", # source and extra docs are separated by "-"
206
- # Extra Files (alphabetical)
207
- "*.cff",
208
- "*.md",
209
- "*.txt",
210
- "checksums/**/*.sha256",
211
- "checksums/**/*.sha512",
212
- "REEK",
213
- "sig/**/*.rbs",
214
- ]
215
- end
216
- defaults << "yard"
217
- rescue LoadError
218
- desc("(stub) yard is unavailable")
219
- task(:yard) do
220
- warn("NOTE: yard isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
221
- end
222
- end
223
-
224
- # Appraisal tasks
225
- begin
226
- require "bundler"
227
- rescue LoadError
228
- # ok
229
- end
230
-
231
- desc "Update Appraisal gemfiles and run RuboCop Gradual autocorrect"
232
- task "appraisal:update" do
233
- bundle = Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle"
234
-
235
- run_in_unbundled = proc do
236
- env = {"BUNDLE_GEMFILE" => "Appraisal.root.gemfile"}
237
-
238
- # 1) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle
239
- ok = system(env, bundle)
240
- abort("appraisal:update failed: bundler install under Appraisal.root.gemfile") unless ok
241
-
242
- # 2) BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
243
- ok = system(env, bundle, "exec", "appraisal", "update")
244
- abort("appraisal:update failed: bundle exec appraisal update") unless ok
245
-
246
- # 3) bundle exec rake rubocop_gradual:autocorrect
247
- ok = system(bundle, "exec", "rake", "rubocop_gradual:autocorrect")
248
- abort("appraisal:update failed: rubocop_gradual:autocorrect") unless ok
249
- end
250
-
251
- if defined?(Bundler)
252
- Bundler.with_unbundled_env(&run_in_unbundled)
253
- else
254
- run_in_unbundled.call
255
- end
256
- end
257
-
258
- ### RELEASE TASKS
259
- # Setup stone_checksums
260
- begin
261
- require "stone_checksums"
262
-
263
- GemChecksums.install_tasks
264
- rescue LoadError
265
- desc("(stub) build:generate_checksums is unavailable")
266
- task("build:generate_checksums") do
267
- warn("NOTE: stone_checksums isn't installed, or is disabled for #{RUBY_VERSION} in the current environment")
268
- end
269
- end
270
-
271
- # --- Benchmarks (dev-only) ---
272
- namespace :bench do
273
- desc "List available benchmark scripts"
274
- task :list do
275
- bench_files = Dir[File.join(__dir__, "benchmarks", "*.rb")].sort
276
- if bench_files.empty?
277
- puts "No benchmark scripts found under benchmarks/."
278
- else
279
- bench_files.each { |f| puts File.basename(f) }
280
- end
281
- end
282
-
283
- desc "Run all benchmark scripts (skips on CI)"
284
- task :run do
285
- if ENV.fetch("CI", "false").casecmp("true").zero?
286
- puts "Benchmarks are disabled on CI. Skipping."
287
- next
288
- end
289
-
290
- ruby = RbConfig.ruby
291
- bundle = Gem.bindir ? File.join(Gem.bindir, "bundle") : "bundle"
292
- bench_files = Dir[File.join(__dir__, "benchmarks", "*.rb")].sort
293
- if bench_files.empty?
294
- puts "No benchmark scripts found under benchmarks/."
295
- next
296
- end
297
-
298
- use_bundler = ENV.fetch("BENCH_BUNDLER", "0") == "1"
299
-
300
- bench_files.each do |script|
301
- puts "\n=== Running: #{File.basename(script)} ==="
302
- if use_bundler
303
- cmd = [bundle, "exec", ruby, "-Ilib", script]
304
- system(*cmd) || abort("Benchmark failed: #{script}")
305
- else
306
- # Run benchmarks without Bundler to reduce overhead and better reflect plain ruby -Ilib
307
- begin
308
- require "bundler"
309
- Bundler.with_unbundled_env do
310
- system(ruby, "-Ilib", script) || abort("Benchmark failed: #{script}")
311
- end
312
- rescue LoadError
313
- # If Bundler isn't available, just run directly
314
- system(ruby, "-Ilib", script) || abort("Benchmark failed: #{script}")
315
- end
316
- end
317
- end
318
- end
319
- end
320
-
321
- desc "Run all benchmarks (alias for bench:run)"
322
- task :bench => "bench:run"
323
-
324
- task :default => defaults
data/bin/appraisal DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'appraisal' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
-
13
- require "rubygems"
14
- require "bundler/setup"
15
-
16
- load Gem.bin_path("appraisal2", "appraisal")
data/bin/bundle-audit DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundle-audit' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
-
13
- require "rubygems"
14
- require "bundler/setup"
15
-
16
- load Gem.bin_path("bundler-audit", "bundle-audit")
data/bin/bundler-audit DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'bundler-audit' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
-
13
- require "rubygems"
14
- require "bundler/setup"
15
-
16
- load Gem.bin_path("bundler-audit", "bundler-audit")
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'code_climate_reek' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
-
13
- require "rubygems"
14
- require "bundler/setup"
15
-
16
- load Gem.bin_path("reek", "code_climate_reek")
data/bin/coderay DELETED
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- #
5
- # This file was generated by Bundler.
6
- #
7
- # The application 'coderay' is installed as part of a gem, and
8
- # this file is here to facilitate running it.
9
- #
10
-
11
- ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../Gemfile", __dir__)
12
-
13
- require "rubygems"
14
- require "bundler/setup"
15
-
16
- load Gem.bin_path("coderay", "coderay")