timecop-rspec 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/deps_locked.yml +11 -1
- data/.idea/timecop-rspec.iml +11 -9
- data/.rubocop_gradual.lock +64 -64
- data/CHANGELOG.md +27 -4
- data/CONTRIBUTING.md +1 -3
- data/Gemfile.lock +3 -25
- data/README.md +33 -10
- data/Rakefile +39 -2
- data/bin/console +1 -28
- data/bin/setup +0 -26
- data/checksums/timecop-rspec-1.0.1.gem.sha256 +1 -0
- data/checksums/timecop-rspec-1.0.1.gem.sha512 +1 -0
- data/checksums/timecop-rspec-1.0.2.gem.sha256 +1 -0
- data/checksums/timecop-rspec-1.0.2.gem.sha512 +1 -0
- data/docs/Timecop/Rspec/ExampleDecorator.html +26 -26
- data/docs/Timecop/Rspec/SequentialTimeMachine.html +11 -11
- data/docs/Timecop/Rspec/TimeMachine.html +18 -18
- data/docs/Timecop/Rspec/TravelLog.html +18 -18
- data/docs/Timecop/Rspec/Traveler.html +25 -25
- data/docs/Timecop/Rspec/Version.html +2 -2
- data/docs/Timecop/Rspec.html +20 -18
- data/docs/Timecop.html +2 -8
- data/docs/_index.html +13 -1
- data/docs/file.CHANGELOG.html +37 -6
- data/docs/file.CITATION.html +1 -1
- data/docs/file.CODE_OF_CONDUCT.html +1 -1
- data/docs/file.CONTRIBUTING.html +2 -4
- data/docs/file.LICENSE.html +1 -1
- data/docs/file.README.html +35 -13
- data/docs/file.REEK.html +1 -1
- data/docs/file.RUBOCOP.html +1 -1
- data/docs/file.SECURITY.html +1 -1
- data/docs/file.rspec.html +1 -1
- data/docs/file.timecop-rspec-1.0.0.gem.html +71 -0
- data/docs/file.timecop-rspec-1.0.1.gem.html +71 -0
- data/docs/file.timecop.html +1 -1
- data/docs/file_list.html +20 -0
- data/docs/index.html +35 -13
- data/docs/top-level-namespace.html +1 -1
- data/lib/timecop/rspec/example_decorator.rb +3 -24
- data/lib/timecop/rspec/sequential_time_machine.rb +0 -24
- data/lib/timecop/rspec/time_machine.rb +0 -24
- data/lib/timecop/rspec/travel_log.rb +6 -28
- data/lib/timecop/rspec/traveler.rb +0 -24
- data/lib/timecop/rspec/version.rb +1 -25
- data/lib/timecop/rspec.rb +2 -26
- data/timecop-rspec.gemspec +6 -3
- data.tar.gz.sig +0 -0
- metadata +26 -14
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 23eab2a846a68e7884f2bbe6d48175cb5e38db1224bac078e53420b23505a49e
|
4
|
+
data.tar.gz: 35c2a43311a08750b2724ab5b849919b5a56626bbd88860cf9c790e09cd010cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5336e6a633c933fcaf7e67bbec119e623d578e5e02b04a02b781f8a32ac717a6d450146c8d18b81cb04283561599eda9a39822565dee92915b8921f287986f8
|
7
|
+
data.tar.gz: bc536d7a76deef5bf8457689af9fffa126e7041493d05d38839ee86337fab9c5676f78af4cbdf627f08e23e84145155598119e349a1a93ca455965d83d9ee9e4
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -21,7 +21,17 @@ permissions:
|
|
21
21
|
contents: read
|
22
22
|
|
23
23
|
env:
|
24
|
-
|
24
|
+
# Running coverage, but not validating minimum coverage,
|
25
|
+
# because it would be redundant with the coverage workflow.
|
26
|
+
# Also we can validate all output formats without breaking CodeCov,
|
27
|
+
# since we aren't submitting these reports anywhere.
|
28
|
+
K_SOUP_COV_MIN_BRANCH: 71
|
29
|
+
K_SOUP_COV_MIN_LINE: 86
|
30
|
+
K_SOUP_COV_MIN_HARD: false
|
31
|
+
K_SOUP_COV_FORMATTERS: "html,xml,rcov,lcov,json,tty"
|
32
|
+
K_SOUP_COV_DO: true
|
33
|
+
K_SOUP_COV_MULTI_FORMATTERS: true
|
34
|
+
K_SOUP_COV_COMMAND_NAME: "Test Coverage"
|
25
35
|
|
26
36
|
on:
|
27
37
|
push:
|
data/.idea/timecop-rspec.iml
CHANGED
@@ -8,28 +8,35 @@
|
|
8
8
|
<sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
|
9
9
|
<sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
|
10
10
|
<sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
|
11
|
+
<excludeFolder url="file://$MODULE_DIR$/.qlty" />
|
12
|
+
<excludeFolder url="file://$MODULE_DIR$/.yardoc" />
|
13
|
+
<excludeFolder url="file://$MODULE_DIR$/bin" />
|
14
|
+
<excludeFolder url="file://$MODULE_DIR$/certs" />
|
15
|
+
<excludeFolder url="file://$MODULE_DIR$/checksums" />
|
16
|
+
<excludeFolder url="file://$MODULE_DIR$/coverage" />
|
17
|
+
<excludeFolder url="file://$MODULE_DIR$/docs" />
|
18
|
+
<excludeFolder url="file://$MODULE_DIR$/gemfiles" />
|
19
|
+
<excludeFolder url="file://$MODULE_DIR$/pkg" />
|
20
|
+
<excludeFolder url="file://$MODULE_DIR$/results" />
|
11
21
|
</content>
|
12
22
|
<orderEntry type="jdk" jdkName="mise: 3.4.5" jdkType="RUBY_SDK" />
|
13
23
|
<orderEntry type="sourceFolder" forTests="false" />
|
14
|
-
<orderEntry type="library" scope="PROVIDED" name="activesupport (v8.0.2.1, mise: 3.4.5) [gem]" level="application" />
|
15
24
|
<orderEntry type="library" scope="PROVIDED" name="ansi (v1.5.0, mise: 3.4.5) [gem]" level="application" />
|
16
25
|
<orderEntry type="library" scope="PROVIDED" name="appraisal2 (v3.0.0, mise: 3.4.5) [gem]" level="application" />
|
17
26
|
<orderEntry type="library" scope="PROVIDED" name="ast (v2.4.3, mise: 3.4.5) [gem]" level="application" />
|
18
27
|
<orderEntry type="library" scope="PROVIDED" name="backports (v3.25.1, mise: 3.4.5) [gem]" level="application" />
|
19
|
-
<orderEntry type="library" scope="PROVIDED" name="base64 (v0.3.0, mise: 3.4.5) [gem]" level="application" />
|
20
28
|
<orderEntry type="library" scope="PROVIDED" name="benchmark (v0.4.1, mise: 3.4.5) [gem]" level="application" />
|
21
29
|
<orderEntry type="library" scope="PROVIDED" name="bigdecimal (v3.2.2, mise: 3.4.5) [gem]" level="application" />
|
22
30
|
<orderEntry type="library" scope="PROVIDED" name="bundler (v2.7.1, mise: 3.4.5) [gem]" level="application" />
|
23
31
|
<orderEntry type="library" scope="PROVIDED" name="bundler-audit (v0.9.2, mise: 3.4.5) [gem]" level="application" />
|
24
32
|
<orderEntry type="library" scope="PROVIDED" name="coderay (v1.1.3, mise: 3.4.5) [gem]" level="application" />
|
25
33
|
<orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.3.5, mise: 3.4.5) [gem]" level="application" />
|
26
|
-
<orderEntry type="library" scope="PROVIDED" name="connection_pool (v2.5.3, mise: 3.4.5) [gem]" level="application" />
|
27
34
|
<orderEntry type="library" scope="PROVIDED" name="date (v3.4.1, mise: 3.4.5) [gem]" level="application" />
|
28
35
|
<orderEntry type="library" scope="PROVIDED" name="debug (v1.11.0, mise: 3.4.5) [gem]" level="application" />
|
36
|
+
<orderEntry type="library" scope="PROVIDED" name="delegate (v0.4.0, mise: 3.4.5) [gem]" level="application" />
|
29
37
|
<orderEntry type="library" scope="PROVIDED" name="diff-lcs (v1.6.2, mise: 3.4.5) [gem]" level="application" />
|
30
38
|
<orderEntry type="library" scope="PROVIDED" name="diffy (v3.4.4, mise: 3.4.5) [gem]" level="application" />
|
31
39
|
<orderEntry type="library" scope="PROVIDED" name="docile (v1.4.1, mise: 3.4.5) [gem]" level="application" />
|
32
|
-
<orderEntry type="library" scope="PROVIDED" name="drb (v2.2.3, mise: 3.4.5) [gem]" level="application" />
|
33
40
|
<orderEntry type="library" scope="PROVIDED" name="dry-configurable (v1.3.0, mise: 3.4.5) [gem]" level="application" />
|
34
41
|
<orderEntry type="library" scope="PROVIDED" name="dry-core (v1.1.0, mise: 3.4.5) [gem]" level="application" />
|
35
42
|
<orderEntry type="library" scope="PROVIDED" name="dry-inflector (v1.2.0, mise: 3.4.5) [gem]" level="application" />
|
@@ -39,7 +46,6 @@
|
|
39
46
|
<orderEntry type="library" scope="PROVIDED" name="dry-types (v1.8.3, mise: 3.4.5) [gem]" level="application" />
|
40
47
|
<orderEntry type="library" scope="PROVIDED" name="erb (v5.0.2, mise: 3.4.5) [gem]" level="application" />
|
41
48
|
<orderEntry type="library" scope="PROVIDED" name="gem_bench (v2.0.5, mise: 3.4.5) [gem]" level="application" />
|
42
|
-
<orderEntry type="library" scope="PROVIDED" name="i18n (v1.14.7, mise: 3.4.5) [gem]" level="application" />
|
43
49
|
<orderEntry type="library" scope="PROVIDED" name="io-console (v0.8.1, mise: 3.4.5) [gem]" level="application" />
|
44
50
|
<orderEntry type="library" scope="PROVIDED" name="irb (v1.15.2, mise: 3.4.5) [gem]" level="application" />
|
45
51
|
<orderEntry type="library" scope="PROVIDED" name="json (v2.13.2, mise: 3.4.5) [gem]" level="application" />
|
@@ -50,7 +56,6 @@
|
|
50
56
|
<orderEntry type="library" scope="PROVIDED" name="lint_roller (v1.1.0, mise: 3.4.5) [gem]" level="application" />
|
51
57
|
<orderEntry type="library" scope="PROVIDED" name="logger (v1.7.0, mise: 3.4.5) [gem]" level="application" />
|
52
58
|
<orderEntry type="library" scope="PROVIDED" name="method_source (v1.1.0, mise: 3.4.5) [gem]" level="application" />
|
53
|
-
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.25.5, mise: 3.4.5) [gem]" level="application" />
|
54
59
|
<orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.18.9, mise: 3.4.5) [gem]" level="application" />
|
55
60
|
<orderEntry type="library" scope="PROVIDED" name="ostruct (v0.6.3, mise: 3.4.5) [gem]" level="application" />
|
56
61
|
<orderEntry type="library" scope="PROVIDED" name="parallel (v1.27.0, mise: 3.4.5) [gem]" level="application" />
|
@@ -89,7 +94,6 @@
|
|
89
94
|
<orderEntry type="library" scope="PROVIDED" name="rubocop-shopify (v2.17.1, mise: 3.4.5) [gem]" level="application" />
|
90
95
|
<orderEntry type="library" scope="PROVIDED" name="rubocop-thread_safety (v0.7.3, mise: 3.4.5) [gem]" level="application" />
|
91
96
|
<orderEntry type="library" scope="PROVIDED" name="ruby-progressbar (v1.13.0, mise: 3.4.5) [gem]" level="application" />
|
92
|
-
<orderEntry type="library" scope="PROVIDED" name="securerandom (v0.4.1, mise: 3.4.5) [gem]" level="application" />
|
93
97
|
<orderEntry type="library" scope="PROVIDED" name="silent_stream (v1.0.11, mise: 3.4.5) [gem]" level="application" />
|
94
98
|
<orderEntry type="library" scope="PROVIDED" name="simplecov (v0.22.0, mise: 3.4.5) [gem]" level="application" />
|
95
99
|
<orderEntry type="library" scope="PROVIDED" name="simplecov-cobertura (v3.0.0, mise: 3.4.5) [gem]" level="application" />
|
@@ -107,10 +111,8 @@
|
|
107
111
|
<orderEntry type="library" scope="PROVIDED" name="terminal-table (v4.0.0, mise: 3.4.5) [gem]" level="application" />
|
108
112
|
<orderEntry type="library" scope="PROVIDED" name="thor (v1.4.0, mise: 3.4.5) [gem]" level="application" />
|
109
113
|
<orderEntry type="library" scope="PROVIDED" name="timecop (v0.9.10, mise: 3.4.5) [gem]" level="application" />
|
110
|
-
<orderEntry type="library" scope="PROVIDED" name="tzinfo (v2.0.6, mise: 3.4.5) [gem]" level="application" />
|
111
114
|
<orderEntry type="library" scope="PROVIDED" name="unicode-display_width (v3.1.5, mise: 3.4.5) [gem]" level="application" />
|
112
115
|
<orderEntry type="library" scope="PROVIDED" name="unicode-emoji (v4.0.4, mise: 3.4.5) [gem]" level="application" />
|
113
|
-
<orderEntry type="library" scope="PROVIDED" name="uri (v1.0.3, mise: 3.4.5) [gem]" level="application" />
|
114
116
|
<orderEntry type="library" scope="PROVIDED" name="version_gem (v1.1.8, mise: 3.4.5) [gem]" level="application" />
|
115
117
|
<orderEntry type="library" scope="PROVIDED" name="yard (v0.9.37, mise: 3.4.5) [gem]" level="application" />
|
116
118
|
<orderEntry type="library" scope="PROVIDED" name="yard-junk (v0.0.10@54cceb, mise: 3.4.5) [gem]" level="application" />
|
data/.rubocop_gradual.lock
CHANGED
@@ -1,76 +1,76 @@
|
|
1
1
|
{
|
2
|
-
"Rakefile:
|
3
|
-
[
|
2
|
+
"Rakefile:2312831157": [
|
3
|
+
[70, 5, 15, "Rake/Desc: Describe the task with `desc` method.", 842824456]
|
4
4
|
],
|
5
|
-
"lib/timecop/rspec.rb:
|
6
|
-
[
|
5
|
+
"lib/timecop/rspec.rb:1066485176": [
|
6
|
+
[42, 9, 12, "ThreadSafety/ClassInstanceVariable: Avoid class instance variables.", 990613604]
|
7
7
|
],
|
8
|
-
"lib/timecop/rspec/sequential_time_machine.rb:
|
9
|
-
[
|
10
|
-
[
|
8
|
+
"lib/timecop/rspec/sequential_time_machine.rb:3576394007": [
|
9
|
+
[15, 7, 53, "Style/ClassMethodsDefinitions: Use `class << self` to define a class method.", 496991953],
|
10
|
+
[16, 9, 9, "ThreadSafety/ClassInstanceVariable: Avoid class instance variables.", 356709996]
|
11
11
|
],
|
12
|
-
"lib/timecop/rspec/time_machine.rb:
|
13
|
-
[
|
14
|
-
[
|
12
|
+
"lib/timecop/rspec/time_machine.rb:1233248191": [
|
13
|
+
[11, 7, 53, "Style/ClassMethodsDefinitions: Use `class << self` to define a class method.", 496991953],
|
14
|
+
[12, 9, 9, "ThreadSafety/ClassInstanceVariable: Avoid class instance variables.", 356709996]
|
15
15
|
],
|
16
|
-
"spec/timecop/rspec/a_time_machine.rb:
|
17
|
-
[
|
18
|
-
[
|
16
|
+
"spec/timecop/rspec/a_time_machine.rb:3434657420": [
|
17
|
+
[25, 13, 29, "RSpec/ContextWording: Context description should match /^when\\b/, /^with\\b/, or /^without\\b/.", 2090924979],
|
18
|
+
[28, 7, 64, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 1461883873],
|
19
|
+
[31, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
20
|
+
[38, 7, 56, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 643029529],
|
21
|
+
[42, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
22
|
+
[49, 7, 53, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 3086872678],
|
19
23
|
[53, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
20
|
-
[60, 7,
|
24
|
+
[60, 7, 124, "RSpec/MultipleExpectations: Example has too many expectations [6/1].", 676965629],
|
21
25
|
[64, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
22
|
-
[
|
23
|
-
[
|
24
|
-
[
|
25
|
-
[
|
26
|
-
[
|
27
|
-
[
|
28
|
-
[
|
29
|
-
[
|
30
|
-
[
|
31
|
-
[
|
32
|
-
[
|
33
|
-
[
|
34
|
-
[
|
35
|
-
[
|
36
|
-
[
|
37
|
-
[
|
38
|
-
[
|
39
|
-
[
|
40
|
-
[
|
41
|
-
[
|
42
|
-
[
|
43
|
-
[
|
44
|
-
[
|
45
|
-
[
|
46
|
-
[
|
47
|
-
[
|
48
|
-
[
|
49
|
-
[
|
26
|
+
[69, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
27
|
+
[74, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
28
|
+
[80, 7, 36, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 1669892008],
|
29
|
+
[84, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
30
|
+
[90, 7, 42, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 2672670916],
|
31
|
+
[91, 23, 33, "Style/DateTime: Prefer `Time` over `DateTime`.", 2306291980],
|
32
|
+
[94, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
33
|
+
[103, 7, 62, "RSpec/MultipleExpectations: Example has too many expectations [5/1].", 1809499334],
|
34
|
+
[104, 23, 25, "Style/DateTime: Prefer `Time` over `DateTime`.", 2011980225],
|
35
|
+
[111, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
36
|
+
[120, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
37
|
+
[126, 7, 131, "RSpec/MultipleExpectations: Example has too many expectations [6/1].", 2099780707],
|
38
|
+
[130, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
39
|
+
[135, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
40
|
+
[140, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
41
|
+
[146, 15, 35, "RSpec/ContextWording: Context description should match /^when\\b/, /^with\\b/, or /^without\\b/.", 710711823],
|
42
|
+
[147, 9, 81, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 262796784],
|
43
|
+
[149, 30, 8, "RSpec/InstanceVariable: Avoid instance variables - use let, a method call, or a local variable (if possible).", 2321415930],
|
44
|
+
[152, 37, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
45
|
+
[159, 9, 78, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 2987422127],
|
46
|
+
[161, 30, 8, "RSpec/InstanceVariable: Avoid instance variables - use let, a method call, or a local variable (if possible).", 2321981723],
|
47
|
+
[164, 37, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
48
|
+
[173, 13, 28, "RSpec/ContextWording: Context description should match /^when\\b/, /^with\\b/, or /^without\\b/.", 830037094],
|
49
|
+
[176, 7, 48, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 1915717479],
|
50
|
+
[177, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
51
|
+
[187, 7, 70, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 3183424212],
|
52
|
+
[191, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
53
|
+
[198, 7, 70, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 1685240264],
|
50
54
|
[202, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
51
|
-
[
|
52
|
-
[
|
53
|
-
[224, 7, 70, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 1685240264],
|
54
|
-
[228, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
55
|
-
[235, 7, 67, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 4130782052],
|
56
|
-
[239, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950]
|
55
|
+
[209, 7, 67, "RSpec/MultipleExpectations: Example has too many expectations [2/1].", 4130782052],
|
56
|
+
[213, 35, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950]
|
57
57
|
],
|
58
|
-
"spec/timecop/rspec/sequential_time_machine_spec.rb:
|
59
|
-
[
|
60
|
-
[
|
61
|
-
[
|
62
|
-
[
|
63
|
-
[
|
64
|
-
[
|
65
|
-
[
|
66
|
-
[
|
67
|
-
[
|
58
|
+
"spec/timecop/rspec/sequential_time_machine_spec.rb:2709164453": [
|
59
|
+
[19, 3, 124, "RSpec/MultipleExpectations: Example has too many expectations [6/1].", 676965629],
|
60
|
+
[24, 31, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
61
|
+
[29, 31, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
62
|
+
[34, 31, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
63
|
+
[44, 11, 28, "RSpec/ContextWording: Context description should match /^when\\b/, /^with\\b/, or /^without\\b/.", 830037094],
|
64
|
+
[52, 5, 72, "RSpec/MultipleExpectations: Example has too many expectations [6/1].", 2221852238],
|
65
|
+
[54, 33, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
66
|
+
[59, 33, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950],
|
67
|
+
[64, 33, 7, "RSpec/MessageSpies: Prefer `have_received` for setting message expectations. Setup `example_procsy` as a spy using `allow` or `instance_spy`.", 1384559950]
|
68
68
|
],
|
69
|
-
"timecop-rspec.gemspec:
|
70
|
-
[
|
71
|
-
[
|
72
|
-
[
|
73
|
-
[
|
74
|
-
[
|
69
|
+
"timecop-rspec.gemspec:2892863758": [
|
70
|
+
[111, 3, 3, "Gemspec/DuplicatedAssignment: `files=` method calls already given on line 65 of the gemspec.", 193433027],
|
71
|
+
[111, 16, 19, "Packaging/GemspecGit: Avoid using git to produce lists of files. Downstreams often need to build your package in an environment that does not have git (on purpose). Use some pure Ruby alternative, like `Dir` or `Dir.glob`.", 3879951891],
|
72
|
+
[114, 3, 19, "Gemspec/DuplicatedAssignment: `bindir=` method calls already given on line 107 of the gemspec.", 554494033],
|
73
|
+
[115, 3, 70, "Gemspec/DuplicatedAssignment: `executables=` method calls already given on line 109 of the gemspec.", 18210340],
|
74
|
+
[116, 3, 28, "Gemspec/DuplicatedAssignment: `require_paths=` method calls already given on line 106 of the gemspec.", 1947597918]
|
75
75
|
]
|
76
76
|
}
|
data/CHANGELOG.md
CHANGED
@@ -12,6 +12,27 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
12
12
|
### Fixed
|
13
13
|
### Security
|
14
14
|
|
15
|
+
## [1.0.2] - 2025-08-18
|
16
|
+
- TAG: [v1.0.2][1.0.2t]
|
17
|
+
- COVERAGE: 100.00% -- 132/132 lines in 7 files
|
18
|
+
- BRANCH COVERAGE: 92.31% -- 24/26 branches in 7 files
|
19
|
+
- 100% documented
|
20
|
+
### Added
|
21
|
+
- improved CI
|
22
|
+
### Changed
|
23
|
+
- upgraded to Galtzo FLOSS Rakefile v1.0.9
|
24
|
+
### Fixed
|
25
|
+
- documentation, changelog
|
26
|
+
- fix ancient bin/console script
|
27
|
+
|
28
|
+
## [1.0.1] - 2025-08-17
|
29
|
+
- TAG: [v1.0.1][1.0.1t]
|
30
|
+
- COVERAGE: 100.00% -- 132/132 lines in 7 files
|
31
|
+
- BRANCH COVERAGE: 92.31% -- 24/26 branches in 7 files
|
32
|
+
- 100% documented
|
33
|
+
### Removed
|
34
|
+
- refactored to remove dependency on activesupport
|
35
|
+
|
15
36
|
## [1.0.0] - 2025-08-17
|
16
37
|
- TAG: [v1.0.0][1.0.0t]
|
17
38
|
- COVERAGE: 100.00% -- 131/131 lines in 7 files
|
@@ -20,8 +41,10 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
20
41
|
### Added
|
21
42
|
- Initial release to rubygems (8 years late!)
|
22
43
|
|
23
|
-
|
24
|
-
|
25
|
-
[
|
26
|
-
[1.0.
|
44
|
+
[Unreleased]: https://gitlab.com/galtzo-floss/timecop-rspec/-/compare/v1.0.2...main
|
45
|
+
[1.0.2]: https://gitlab.com/galtzo-floss/timecop-rspec/-/compare/v1.0.2...v1.0.2
|
46
|
+
[1.0.2t]: https://gitlab.com/galtzo-floss/timecop-rspec/-/tags/v1.0.2
|
47
|
+
[1.0.1]: https://gitlab.com/galtzo-floss/timecop-rspec/-/compare/v1.0.0...v1.0.1
|
48
|
+
[1.0.1t]: https://gitlab.com/galtzo-floss/timecop-rspec/-/tags/v1.0.1
|
49
|
+
[1.0.0]: https://gitlab.com/galtzo-floss/timecop-rspec/-/compare/13c672f32c466824277d04c932e3244deb6451ea...v1.0.0
|
27
50
|
[1.0.0t]: https://gitlab.com/galtzo-floss/timecop-rspec/-/tags/v1.0.0
|
data/CONTRIBUTING.md
CHANGED
@@ -28,9 +28,7 @@ From time to time the Appraisal2 gemfiles in `gemfiles/` will need to be updated
|
|
28
28
|
They are created and updated with the commands:
|
29
29
|
|
30
30
|
```console
|
31
|
-
|
32
|
-
BUNDLE_GEMFILE=Appraisal.root.gemfile bundle exec appraisal update
|
33
|
-
bundle exec rake rubocop_gradual:autocorrect
|
31
|
+
bin/rake appraisal:update
|
34
32
|
```
|
35
33
|
|
36
34
|
When adding an appraisal to CI check the [runner tool cache][🏃♂️runner-tool-cache] to see which runner to use.
|
data/Gemfile.lock
CHANGED
@@ -13,27 +13,14 @@ GIT
|
|
13
13
|
PATH
|
14
14
|
remote: .
|
15
15
|
specs:
|
16
|
-
timecop-rspec (1.0.
|
17
|
-
|
16
|
+
timecop-rspec (1.0.2)
|
17
|
+
delegate (~> 0.1)
|
18
18
|
rspec (~> 3.0)
|
19
19
|
timecop (>= 0.7, < 1)
|
20
20
|
|
21
21
|
GEM
|
22
22
|
remote: https://rubygems.org/
|
23
23
|
specs:
|
24
|
-
activesupport (8.0.2.1)
|
25
|
-
base64
|
26
|
-
benchmark (>= 0.3)
|
27
|
-
bigdecimal
|
28
|
-
concurrent-ruby (~> 1.0, >= 1.3.1)
|
29
|
-
connection_pool (>= 2.2.5)
|
30
|
-
drb
|
31
|
-
i18n (>= 1.6, < 2)
|
32
|
-
logger (>= 1.4.2)
|
33
|
-
minitest (>= 5.1)
|
34
|
-
securerandom (>= 0.3)
|
35
|
-
tzinfo (~> 2.0, >= 2.0.5)
|
36
|
-
uri (>= 0.13.1)
|
37
24
|
ansi (1.5.0)
|
38
25
|
appraisal2 (3.0.0)
|
39
26
|
bundler (>= 1.17.3)
|
@@ -41,7 +28,6 @@ GEM
|
|
41
28
|
thor (>= 0.14)
|
42
29
|
ast (2.4.3)
|
43
30
|
backports (3.25.1)
|
44
|
-
base64 (0.3.0)
|
45
31
|
benchmark (0.4.1)
|
46
32
|
bigdecimal (3.2.2)
|
47
33
|
bundler-audit (0.9.2)
|
@@ -49,15 +35,14 @@ GEM
|
|
49
35
|
thor (~> 1.0)
|
50
36
|
coderay (1.1.3)
|
51
37
|
concurrent-ruby (1.3.5)
|
52
|
-
connection_pool (2.5.3)
|
53
38
|
date (3.4.1)
|
54
39
|
debug (1.11.0)
|
55
40
|
irb (~> 1.10)
|
56
41
|
reline (>= 0.3.8)
|
42
|
+
delegate (0.4.0)
|
57
43
|
diff-lcs (1.6.2)
|
58
44
|
diffy (3.4.4)
|
59
45
|
docile (1.4.1)
|
60
|
-
drb (2.2.3)
|
61
46
|
dry-configurable (1.3.0)
|
62
47
|
dry-core (~> 1.1)
|
63
48
|
zeitwerk (~> 2.6)
|
@@ -91,8 +76,6 @@ GEM
|
|
91
76
|
gem_bench (2.0.5)
|
92
77
|
bundler (>= 1.14)
|
93
78
|
version_gem (~> 1.1, >= 1.1.4)
|
94
|
-
i18n (1.14.7)
|
95
|
-
concurrent-ruby (~> 1.0)
|
96
79
|
io-console (0.8.1)
|
97
80
|
irb (1.15.2)
|
98
81
|
pp (>= 0.6.0)
|
@@ -116,7 +99,6 @@ GEM
|
|
116
99
|
lint_roller (1.1.0)
|
117
100
|
logger (1.7.0)
|
118
101
|
method_source (1.1.0)
|
119
|
-
minitest (5.25.5)
|
120
102
|
nokogiri (1.18.9-x86_64-linux-gnu)
|
121
103
|
racc (~> 1.4)
|
122
104
|
ostruct (0.6.3)
|
@@ -221,7 +203,6 @@ GEM
|
|
221
203
|
rubocop (~> 1.72, >= 1.72.1)
|
222
204
|
rubocop-ast (>= 1.44.0, < 2.0)
|
223
205
|
ruby-progressbar (1.13.0)
|
224
|
-
securerandom (0.4.1)
|
225
206
|
silent_stream (1.0.11)
|
226
207
|
logger (~> 1.2)
|
227
208
|
version_gem (>= 1.1.8, < 3)
|
@@ -266,12 +247,9 @@ GEM
|
|
266
247
|
unicode-display_width (>= 1.1.1, < 4)
|
267
248
|
thor (1.4.0)
|
268
249
|
timecop (0.9.10)
|
269
|
-
tzinfo (2.0.6)
|
270
|
-
concurrent-ruby (~> 1.0)
|
271
250
|
unicode-display_width (3.1.5)
|
272
251
|
unicode-emoji (~> 4.0, >= 4.0.4)
|
273
252
|
unicode-emoji (4.0.4)
|
274
|
-
uri (1.0.3)
|
275
253
|
version_gem (1.1.8)
|
276
254
|
yard (0.9.37)
|
277
255
|
yard-relative_markdown_links (0.5.0)
|
data/README.md
CHANGED
@@ -26,6 +26,12 @@ It has a great API, and I was about to build this exact thing myself, so I am gl
|
|
26
26
|
I've modernized everything, added more tests and documentation, and released it.
|
27
27
|
Thanks to the long-term stability of both RSpec and Timecop, the original code still works perfectly.
|
28
28
|
|
29
|
+
Improvements over original:
|
30
|
+
- The original only supported Ruby 2.2+, but I've backfilled support to 1.9.2 (to align with the max-min version between RSpec & Timecop).
|
31
|
+
- Added tests for 100% line coverage.
|
32
|
+
- Added documentation for all public methods.
|
33
|
+
- removed runtime (and dev) dependency on `activesupport`.
|
34
|
+
|
29
35
|
I expect the current release of this gem to be compatible with Ruby 1.9.2+,
|
30
36
|
but it is only tested on CI against Ruby 2.3+,
|
31
37
|
due to the inherent limitations of GitHub Actions.
|
@@ -142,7 +148,7 @@ NOTE: Be prepared to track down certs for signed gems and add them the same way
|
|
142
148
|
|
143
149
|
## ⚙️ Configuration
|
144
150
|
|
145
|
-
|
151
|
+
### Regular Time Machine
|
146
152
|
|
147
153
|
```ruby
|
148
154
|
# spec_helper.rb or some configuration file loaded by spec_helper.rb
|
@@ -159,7 +165,7 @@ end
|
|
159
165
|
The regular time machine will run each example at the time specified by the
|
160
166
|
RSpec metadata, or the global travel time.
|
161
167
|
|
162
|
-
|
168
|
+
### Sequential Time Machine
|
163
169
|
|
164
170
|
```ruby
|
165
171
|
# spec_helper.rb or some configuration file loaded by spec_helper.rb
|
@@ -213,7 +219,7 @@ end
|
|
213
219
|
|
214
220
|
## 🔧 Basic Usage
|
215
221
|
|
216
|
-
|
222
|
+
### Local Time Travel
|
217
223
|
|
218
224
|
Timecop.travel/freeze any RSpec (describe|context|example) with
|
219
225
|
`:travel` or `:freeze` metadata.
|
@@ -234,7 +240,7 @@ it "some description", :freeze => Time.new(2014, 11, 15) do
|
|
234
240
|
end
|
235
241
|
```
|
236
242
|
|
237
|
-
|
243
|
+
### Global Time Travel
|
238
244
|
|
239
245
|
Using global time travel will Timecop.travel any example that isn't
|
240
246
|
already time traveling. I.e. example level timecop metadata will take
|
@@ -308,7 +314,8 @@ Made with [contributors-img][🖐contrib-rocks].
|
|
308
314
|
|
309
315
|
Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/timecop-rspec/-/graphs/main][🚎contributors-gl]
|
310
316
|
|
311
|
-
|
317
|
+
<details>
|
318
|
+
<summary>⭐️ Star History</summary>
|
312
319
|
|
313
320
|
<a href="https://star-history.com/#galtzo-floss/timecop-rspec&Date">
|
314
321
|
<picture>
|
@@ -318,6 +325,8 @@ Also see GitLab Contributors: [https://gitlab.com/galtzo-floss/timecop-rspec/-/g
|
|
318
325
|
</picture>
|
319
326
|
</a>
|
320
327
|
|
328
|
+
</details>
|
329
|
+
|
321
330
|
## 📌 Versioning
|
322
331
|
|
323
332
|
This Library adheres to [![Semantic Versioning 2.0.0][📌semver-img]][📌semver].
|
@@ -381,9 +390,22 @@ P.S. If you need help️ or want to say thanks, 👇 Join the Discord.
|
|
381
390
|
|
382
391
|
[![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
|
383
392
|
|
393
|
+
P.P.S. Maintainers have teeth, and need to pay their dentists.
|
394
|
+
After getting laid off in an RIF in March, and filled with many dozens of rejections,
|
395
|
+
I'm now spending ~80 hours a week building open source tools.
|
396
|
+
I'm hoping to be able to pay for my kids' health insurance this month,
|
397
|
+
so if you value the work I am doing, please help.
|
398
|
+
I need your support. Consider sponsoring me.
|
399
|
+
|
400
|
+
[![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay-img] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal-img]
|
401
|
+
|
402
|
+
Thank you ☺️
|
403
|
+
|
384
404
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611
|
405
|
+
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
385
406
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
386
407
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
408
|
+
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
387
409
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
388
410
|
[🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg
|
389
411
|
[🖇polar]: https://polar.sh/pboling
|
@@ -395,17 +417,18 @@ P.S. If you need help️ or want to say thanks, 👇 Join the Discord.
|
|
395
417
|
[🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
|
396
418
|
[🖇buyme]: https://www.buymeacoffee.com/pboling
|
397
419
|
[🖇paypal-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=flat&logo=paypal
|
420
|
+
[🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
|
398
421
|
[🖇paypal]: https://www.paypal.com/paypalme/peterboling
|
399
422
|
[🖇floss-funding.dev]: https://floss-funding.dev
|
400
|
-
[🖇floss-funding-gem]: https://github.com/galtzo-floss/
|
423
|
+
[🖇floss-funding-gem]: https://github.com/galtzo-floss/floss_funding
|
401
424
|
[✉️discord-invite]: https://discord.gg/3qme4XHNKN
|
402
425
|
[✉️discord-invite-img]: https://img.shields.io/discord/1373797679469170758?style=for-the-badge
|
403
426
|
|
404
427
|
[✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
|
405
428
|
[⛳️gem-namespace]: https://github.com/galtzo-floss/timecop-rspec
|
406
|
-
[⛳️namespace-img]: https://img.shields.io/badge/namespace-
|
429
|
+
[⛳️namespace-img]: https://img.shields.io/badge/namespace-Timecop%3A%3ARspec-3C2D2D.svg?style=square&logo=ruby&logoColor=white
|
407
430
|
[⛳️gem-name]: https://rubygems.org/gems/timecop-rspec
|
408
|
-
[⛳️name-img]: https://img.shields.io/badge/name-
|
431
|
+
[⛳️name-img]: https://img.shields.io/badge/name-timecop--rspec-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
|
409
432
|
[🚂maint-blog]: http://www.railsbling.com/tags/timecop-rspec
|
410
433
|
[🚂maint-blog-img]: https://img.shields.io/badge/blog-railsbling-0093D0.svg?style=for-the-badge&logo=rubyonrails&logoColor=orange
|
411
434
|
[🚂maint-contact]: http://www.railsbling.com/contact
|
@@ -460,7 +483,7 @@ P.S. If you need help️ or want to say thanks, 👇 Join the Discord.
|
|
460
483
|
[🔑qlty-cov]: https://qlty.sh/gh/galtzo-floss/projects/timecop-rspec/metrics/code?sort=coverageRating
|
461
484
|
[🔑qlty-covi]: https://qlty.sh/gh/galtzo-floss/projects/timecop-rspec/coverage.svg
|
462
485
|
[🔑codecov]: https://codecov.io/gh/galtzo-floss/timecop-rspec
|
463
|
-
[🔑codecovi♻️]: https://codecov.io/gh/galtzo-floss/timecop-rspec/graph/badge.svg?token=
|
486
|
+
[🔑codecovi♻️]: https://codecov.io/gh/galtzo-floss/timecop-rspec/graph/badge.svg?token=6XnuK8rocd
|
464
487
|
[🔑coveralls]: https://coveralls.io/github/galtzo-floss/timecop-rspec?branch=main
|
465
488
|
[🔑coveralls-img]: https://coveralls.io/repos/github/galtzo-floss/timecop-rspec/badge.svg?branch=main
|
466
489
|
[🖐codeQL]: https://github.com/galtzo-floss/timecop-rspec/security/code-scanning
|
@@ -525,7 +548,7 @@ P.S. If you need help️ or want to say thanks, 👇 Join the Discord.
|
|
525
548
|
[🤝cb-pulls]: https://codeberg.org/galtzo-floss/timecop-rspec/pulls
|
526
549
|
[🤝cb-donate]: https://donate.codeberg.org/
|
527
550
|
[🤝contributing]: CONTRIBUTING.md
|
528
|
-
[🔑codecov-g♻️]: https://codecov.io/gh/galtzo-floss/timecop-rspec/graphs/tree.svg?token=
|
551
|
+
[🔑codecov-g♻️]: https://codecov.io/gh/galtzo-floss/timecop-rspec/graphs/tree.svg?token=6XnuK8rocd
|
529
552
|
[🖐contrib-rocks]: https://contrib.rocks
|
530
553
|
[🖐contributors]: https://github.com/galtzo-floss/timecop-rspec/graphs/contributors
|
531
554
|
[🖐contributors-img]: https://contrib.rocks/image?repo=galtzo-floss/timecop-rspec
|
data/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Galtzo FLOSS Rakefile v1.0.
|
3
|
+
# Galtzo FLOSS Rakefile v1.0.9 - 2025-08-18
|
4
4
|
#
|
5
5
|
# CHANGELOG
|
6
6
|
# v1.0.0 - initial release w/ support for rspec, minitest, rubocop, reek, yard, and stone_checksums
|
@@ -11,6 +11,8 @@
|
|
11
11
|
# v1.0.5 - add support for halting in Rake tasks with binding.b (from debug gem)
|
12
12
|
# v1.0.6 - add RBS files and checksums to YARD-generated docs site
|
13
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
|
14
16
|
#
|
15
17
|
# MIT License (see License.txt)
|
16
18
|
#
|
@@ -49,7 +51,8 @@
|
|
49
51
|
DEBUGGING = ENV.fetch("DEBUG", "false").casecmp("true").zero?
|
50
52
|
|
51
53
|
# External gems
|
52
|
-
require "bundler/gem_tasks" if !Dir["*.gemspec"].empty?
|
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`
|
53
56
|
require "debug" if DEBUGGING
|
54
57
|
|
55
58
|
defaults = []
|
@@ -218,6 +221,40 @@ rescue LoadError
|
|
218
221
|
end
|
219
222
|
end
|
220
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
|
+
|
221
258
|
### RELEASE TASKS
|
222
259
|
# Setup stone_checksums
|
223
260
|
begin
|