statesman 7.4.0 → 10.2.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.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +7 -0
- data/.github/workflows/tests.yml +106 -0
- data/.gitignore +68 -15
- data/.rubocop.yml +14 -1
- data/.rubocop_todo.yml +37 -28
- data/.ruby-version +1 -0
- data/CHANGELOG.md +87 -6
- data/CONTRIBUTING.md +18 -0
- data/Gemfile +3 -5
- data/README.md +147 -5
- data/lib/generators/statesman/active_record_transition_generator.rb +1 -1
- data/lib/generators/statesman/generator_helpers.rb +11 -3
- data/lib/statesman/adapters/active_record.rb +61 -25
- data/lib/statesman/adapters/active_record_queries.rb +17 -5
- data/lib/statesman/adapters/memory.rb +5 -1
- data/lib/statesman/adapters/type_safe_active_record_queries.rb +21 -0
- data/lib/statesman/exceptions.rb +13 -7
- data/lib/statesman/guard.rb +1 -1
- data/lib/statesman/machine.rb +60 -0
- data/lib/statesman/version.rb +1 -1
- data/lib/statesman.rb +2 -0
- data/lib/tasks/statesman.rake +3 -3
- data/spec/spec_helper.rb +11 -0
- data/spec/statesman/adapters/active_record_queries_spec.rb +33 -9
- data/spec/statesman/adapters/active_record_spec.rb +125 -19
- data/spec/statesman/adapters/shared_examples.rb +3 -2
- data/spec/statesman/adapters/type_safe_active_record_queries_spec.rb +208 -0
- data/spec/statesman/exceptions_spec.rb +16 -1
- data/spec/statesman/machine_spec.rb +181 -13
- data/spec/support/active_record.rb +105 -15
- data/statesman.gemspec +8 -9
- metadata +28 -57
- data/.circleci/config.yml +0 -187
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cc749949e382ced6f27722a0eb033efc0383ba11a06265a84e1da3b593eb02d
|
4
|
+
data.tar.gz: f2dd851b5c9ccb0aacbde8076c10fcf23bfe8a00926e58acfb9dd714c5d61b99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ac72394722dc0d193874967e79bb30df1a1c7ba63e4eccd20294f2298b2e78637b3c7ffff7fe4ef4f4ad5d3ca522efe89444400fa09231684622848754a7683
|
7
|
+
data.tar.gz: e995d62de4ec4471ec1a66fea6e290bfbc5f0a3420c3bd915117a0e92f08ca20994b59e84ed5f73a93d091156ea47ef35548ea61f50ad52a1942a69438d4f446
|
@@ -0,0 +1,106 @@
|
|
1
|
+
name: tests
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- "master"
|
7
|
+
pull_request:
|
8
|
+
|
9
|
+
concurrency:
|
10
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
11
|
+
cancel-in-progress: true
|
12
|
+
|
13
|
+
jobs:
|
14
|
+
rubocop:
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
steps:
|
17
|
+
- uses: actions/checkout@v3
|
18
|
+
- uses: ruby/setup-ruby@v1
|
19
|
+
with:
|
20
|
+
bundler-cache: true
|
21
|
+
- run: bundle exec rubocop --extra-details --display-style-guide --parallel --force-exclusion
|
22
|
+
|
23
|
+
postgres:
|
24
|
+
strategy:
|
25
|
+
fail-fast: false
|
26
|
+
matrix:
|
27
|
+
ruby-version: ["2.7", "3.0", "3.1", "3.2"]
|
28
|
+
rails-version:
|
29
|
+
- "6.1.5"
|
30
|
+
- "7.0.4"
|
31
|
+
- "main"
|
32
|
+
postgres-version: ["9.6", "11", "14"]
|
33
|
+
exclude:
|
34
|
+
- ruby-version: "3.2"
|
35
|
+
rails-version: "6.1.5"
|
36
|
+
runs-on: ubuntu-latest
|
37
|
+
services:
|
38
|
+
postgres:
|
39
|
+
image: postgres:${{ matrix.postgres-version }}
|
40
|
+
env:
|
41
|
+
POSTGRES_USER: postgres
|
42
|
+
POSTGRES_DB: statesman_test
|
43
|
+
POSTGRES_PASSWORD: statesman
|
44
|
+
ports:
|
45
|
+
- 5432:5432
|
46
|
+
options: >-
|
47
|
+
--health-cmd pg_isready
|
48
|
+
--health-interval 10s
|
49
|
+
--health-timeout 5s
|
50
|
+
--health-retries 10
|
51
|
+
env:
|
52
|
+
DATABASE_URL: postgres://postgres:statesman@localhost/statesman_test
|
53
|
+
DATABASE_DEPENDENCY_PORT: "5432"
|
54
|
+
steps:
|
55
|
+
- uses: actions/checkout@v3
|
56
|
+
- name: Set up Ruby
|
57
|
+
uses: ruby/setup-ruby@v1
|
58
|
+
with:
|
59
|
+
bundler-cache: true
|
60
|
+
ruby-version: "${{ matrix.ruby-version }}"
|
61
|
+
- name: Run specs
|
62
|
+
run: |
|
63
|
+
bundle exec rspec --profile --format progress --format RSpec::Github::Formatter
|
64
|
+
|
65
|
+
mysql:
|
66
|
+
strategy:
|
67
|
+
fail-fast: false
|
68
|
+
matrix:
|
69
|
+
ruby-version: ["2.7", "3.0", "3.1", "3.2"]
|
70
|
+
rails-version:
|
71
|
+
- "6.1.5"
|
72
|
+
- "7.0.4"
|
73
|
+
- "main"
|
74
|
+
mysql-version: ["5.7", "8.0"]
|
75
|
+
exclude:
|
76
|
+
- ruby-version: 3.2
|
77
|
+
rails-version: "6.1.5"
|
78
|
+
runs-on: ubuntu-latest
|
79
|
+
services:
|
80
|
+
mysql:
|
81
|
+
image: mysql:${{ matrix.mysql-version }}
|
82
|
+
env:
|
83
|
+
MYSQL_ROOT_PASSWORD: password
|
84
|
+
MYSQL_USER: foobar
|
85
|
+
MYSQL_PASSWORD: password
|
86
|
+
MYSQL_DATABASE: statesman_test
|
87
|
+
ports:
|
88
|
+
- "3306:3306"
|
89
|
+
options: >-
|
90
|
+
--health-cmd "mysqladmin ping"
|
91
|
+
--health-interval 10s
|
92
|
+
--health-timeout 5s
|
93
|
+
--health-retries 5
|
94
|
+
env:
|
95
|
+
DATABASE_URL: mysql2://foobar:password@127.0.0.1/statesman_test
|
96
|
+
DATABASE_DEPENDENCY_PORT: "3306"
|
97
|
+
steps:
|
98
|
+
- uses: actions/checkout@v3
|
99
|
+
- name: Set up Ruby
|
100
|
+
uses: ruby/setup-ruby@v1
|
101
|
+
with:
|
102
|
+
bundler-cache: true
|
103
|
+
ruby-version: "${{ matrix.ruby-version }}"
|
104
|
+
- name: Run specs
|
105
|
+
run: |
|
106
|
+
bundle exec rspec --profile --format progress --format RSpec::Github::Formatter
|
data/.gitignore
CHANGED
@@ -1,18 +1,71 @@
|
|
1
1
|
*.gem
|
2
2
|
*.rbc
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
/.config
|
4
|
+
/coverage/
|
5
|
+
/InstalledFiles
|
6
|
+
/pkg/
|
7
|
+
/spec/reports/
|
8
|
+
/spec/examples.txt
|
9
|
+
/test/tmp/
|
10
|
+
/test/version_tmp/
|
11
|
+
/tmp/
|
12
|
+
|
13
|
+
# Used by dotenv library to load environment variables.
|
14
|
+
# .env
|
15
|
+
|
16
|
+
# Ignore Byebug command history file.
|
17
|
+
.byebug_history
|
18
|
+
|
19
|
+
## Specific to RubyMotion:
|
20
|
+
.dat*
|
21
|
+
.repl_history
|
22
|
+
build/
|
23
|
+
*.bridgesupport
|
24
|
+
build-iPhoneOS/
|
25
|
+
build-iPhoneSimulator/
|
26
|
+
|
27
|
+
## Specific to RubyMotion (use of CocoaPods):
|
28
|
+
#
|
29
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
30
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
31
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
32
|
+
#
|
33
|
+
# vendor/Pods/
|
34
|
+
|
35
|
+
## Documentation cache and generated files:
|
36
|
+
/.yardoc/
|
37
|
+
/_yardoc/
|
38
|
+
/doc/
|
39
|
+
/rdoc/
|
40
|
+
|
41
|
+
## Environment normalization:
|
42
|
+
/.bundle/
|
43
|
+
/vendor/bundle
|
44
|
+
/lib/bundler/man/
|
45
|
+
|
46
|
+
# for a library or gem, you might want to ignore these files since the code is
|
47
|
+
# intended to run in multiple environments; otherwise, check them in:
|
7
48
|
Gemfile.lock
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
49
|
+
# .ruby-version
|
50
|
+
# .ruby-gemset
|
51
|
+
|
52
|
+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
53
|
+
.rvmrc
|
54
|
+
|
55
|
+
# Used by RuboCop. Remote config files pulled in from inherit_from directive.
|
56
|
+
# .rubocop-https?--*
|
57
|
+
|
58
|
+
# Project-specific ignores
|
59
|
+
.rspec
|
60
|
+
|
61
|
+
# VSCode
|
62
|
+
.vscode
|
63
|
+
|
64
|
+
# Local History for Visual Studio Code
|
65
|
+
.history/
|
66
|
+
|
67
|
+
# Built Visual Studio Code Extensions
|
68
|
+
*.vsix
|
69
|
+
|
70
|
+
# JetBrains
|
71
|
+
.idea
|
data/.rubocop.yml
CHANGED
@@ -4,4 +4,17 @@ inherit_gem:
|
|
4
4
|
gc_ruboconfig: rubocop.yml
|
5
5
|
|
6
6
|
AllCops:
|
7
|
-
TargetRubyVersion: 2.
|
7
|
+
TargetRubyVersion: 2.7
|
8
|
+
NewCops: enable
|
9
|
+
|
10
|
+
Metrics/AbcSize:
|
11
|
+
Max: 60
|
12
|
+
|
13
|
+
Metrics/CyclomaticComplexity:
|
14
|
+
Max: 10
|
15
|
+
|
16
|
+
Metrics/PerceivedComplexity:
|
17
|
+
Max: 11
|
18
|
+
|
19
|
+
Gemspec/DevelopmentDependencies:
|
20
|
+
Enabled: false
|
data/.rubocop_todo.yml
CHANGED
@@ -1,38 +1,42 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on
|
3
|
+
# on 2021-08-09 15:32:40 UTC using RuboCop version 1.18.4.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
7
7
|
# versions of RuboCop, may require this file to be generated again.
|
8
8
|
|
9
|
+
# Offense count: 1
|
10
|
+
# Configuration parameters: Include.
|
11
|
+
# Include: **/*.gemspec
|
9
12
|
Gemspec/RequiredRubyVersion:
|
10
|
-
|
13
|
+
Exclude:
|
14
|
+
- 'statesman.gemspec'
|
15
|
+
|
16
|
+
# Offense count: 1
|
17
|
+
Lint/MissingSuper:
|
18
|
+
Exclude:
|
19
|
+
- 'lib/statesman/adapters/active_record_queries.rb'
|
11
20
|
|
12
21
|
# Offense count: 5
|
22
|
+
# Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
|
13
23
|
Metrics/AbcSize:
|
14
|
-
Max:
|
24
|
+
Max: 20
|
25
|
+
|
26
|
+
# Offense count: 1
|
27
|
+
# Configuration parameters: IgnoredMethods.
|
28
|
+
Metrics/CyclomaticComplexity:
|
29
|
+
Max: 8
|
15
30
|
|
16
|
-
# Offense count:
|
17
|
-
# Configuration parameters: CountComments, ExcludedMethods.
|
31
|
+
# Offense count: 3
|
32
|
+
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
18
33
|
Metrics/MethodLength:
|
19
34
|
Max: 14
|
20
35
|
|
21
|
-
# Offense count:
|
22
|
-
#
|
23
|
-
# Configuration parameters: SkipBlocks, EnforcedStyle.
|
24
|
-
# SupportedStyles: described_class, explicit
|
25
|
-
RSpec/DescribedClass:
|
26
|
-
Exclude:
|
27
|
-
- 'spec/statesman/adapters/active_record_queries_spec.rb'
|
28
|
-
|
29
|
-
# Offense count: 7
|
30
|
-
# Configuration parameters: Max.
|
36
|
+
# Offense count: 11
|
37
|
+
# Configuration parameters: CountAsOne.
|
31
38
|
RSpec/ExampleLength:
|
32
|
-
|
33
|
-
- 'spec/statesman/adapters/active_record_spec.rb'
|
34
|
-
- 'spec/statesman/adapters/shared_examples.rb'
|
35
|
-
- 'spec/statesman/machine_spec.rb'
|
39
|
+
Max: 14
|
36
40
|
|
37
41
|
# Offense count: 7
|
38
42
|
RSpec/ExpectInHook:
|
@@ -40,11 +44,12 @@ RSpec/ExpectInHook:
|
|
40
44
|
- 'spec/statesman/adapters/active_record_spec.rb'
|
41
45
|
- 'spec/statesman/machine_spec.rb'
|
42
46
|
|
43
|
-
# Offense count:
|
44
|
-
|
47
|
+
# Offense count: 1
|
48
|
+
# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
|
49
|
+
# Include: **/*_spec*rb*, **/spec/**/*
|
50
|
+
RSpec/FilePath:
|
45
51
|
Exclude:
|
46
|
-
- 'spec/statesman/
|
47
|
-
- 'spec/statesman/adapters/shared_examples.rb'
|
52
|
+
- 'spec/statesman/exceptions_spec.rb'
|
48
53
|
|
49
54
|
# Offense count: 1
|
50
55
|
# Configuration parameters: AssignmentOnly.
|
@@ -75,23 +80,27 @@ RSpec/MessageSpies:
|
|
75
80
|
Exclude:
|
76
81
|
- 'spec/statesman/callback_spec.rb'
|
77
82
|
|
78
|
-
# Offense count:
|
79
|
-
# Configuration parameters: AggregateFailuresByDefault.
|
83
|
+
# Offense count: 14
|
80
84
|
RSpec/MultipleExpectations:
|
81
85
|
Max: 3
|
82
86
|
|
83
|
-
# Offense count:
|
87
|
+
# Offense count: 49
|
84
88
|
RSpec/NestedGroups:
|
85
89
|
Max: 6
|
86
90
|
|
87
|
-
# Offense count:
|
91
|
+
# Offense count: 2
|
92
|
+
RSpec/RepeatedExampleGroupBody:
|
93
|
+
Exclude:
|
94
|
+
- 'spec/statesman/exceptions_spec.rb'
|
95
|
+
|
96
|
+
# Offense count: 12
|
88
97
|
RSpec/ScatteredSetup:
|
89
98
|
Exclude:
|
90
99
|
- 'spec/statesman/adapters/active_record_spec.rb'
|
91
100
|
- 'spec/statesman/adapters/shared_examples.rb'
|
92
101
|
- 'spec/statesman/machine_spec.rb'
|
93
102
|
|
94
|
-
# Offense count:
|
103
|
+
# Offense count: 7
|
95
104
|
# Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
|
96
105
|
RSpec/VerifiedDoubles:
|
97
106
|
Exclude:
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
3.2.0
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,84 @@
|
|
1
|
+
## v10.2.3 2nd Aug 2023
|
2
|
+
|
3
|
+
### Changed
|
4
|
+
- Fixed calls to reloading internal cache is the state_machine was made private / protected
|
5
|
+
|
6
|
+
## v10.2.2 21st April 2023
|
7
|
+
|
8
|
+
### Changed
|
9
|
+
- Calling `active_record.reload` resets the adapater's internal cache
|
10
|
+
|
11
|
+
## v10.2.1 3rd April 2023
|
12
|
+
|
13
|
+
### Changed
|
14
|
+
- Fixed an edge case where `adapter.reset` were failing if the cache is empty
|
15
|
+
|
16
|
+
## v10.2.0 3rd April 2023
|
17
|
+
|
18
|
+
### Changed
|
19
|
+
- Fixed caching of `last_transition` [#505](https://github.com/gocardless/statesman/pull/505)
|
20
|
+
|
21
|
+
## v10.1.0 10th March 2023
|
22
|
+
|
23
|
+
### CHanged
|
24
|
+
- Add the source location of the guard callback to `Statesman::GuardFailedError`
|
25
|
+
|
26
|
+
## v10.0.0 17th May 2022
|
27
|
+
|
28
|
+
### Changed
|
29
|
+
- Added support for Ruby 3.1 [#462](https://github.com/gocardless/statesman/pull/462)
|
30
|
+
- Removed support for Ruby 2.5 and 2.6 [#462](https://github.com/gocardless/statesman/pull/462)
|
31
|
+
- Added `remove_state` and `remove_transitions` methods to `Statesman::Machine` [#464](https://github.com/gocardless/statesman/pull/464)
|
32
|
+
|
33
|
+
## v9.0.1 4th February 2021
|
34
|
+
|
35
|
+
### Changed
|
36
|
+
- Deprecate `ActiveRecord::Base.default_timezone` in favour of `ActiveRecord.default_timezone` [#446](https://github.com/gocardless/statesman/pull/446)
|
37
|
+
|
38
|
+
## v9.0.0 9th August 2021
|
39
|
+
|
40
|
+
### Added
|
41
|
+
- Added Ruby 3.0 support
|
42
|
+
|
43
|
+
### Breaking changes
|
44
|
+
|
45
|
+
- Removed Ruby 2.4
|
46
|
+
|
47
|
+
## v8.0.3 8th June 2021
|
48
|
+
|
49
|
+
### Added
|
50
|
+
- Implement `Machine#last_transition_to`, to find the last transition to a given state
|
51
|
+
[#438](https://github.com/gocardless/statesman/pull/438)
|
52
|
+
|
53
|
+
## v8.0.2 30th March 2021
|
54
|
+
|
55
|
+
### Changed
|
56
|
+
|
57
|
+
- Fixed a bug where the `history` of a model was left in an incorrect state after a transition
|
58
|
+
conflict [#433](https://github.com/gocardless/statesman/pull/433)
|
59
|
+
|
60
|
+
## v8.0.1 20th January 2021
|
61
|
+
|
62
|
+
### Changed
|
63
|
+
|
64
|
+
- Fixed `no implicit conversion of nil into String` error when quoting null values
|
65
|
+
[#427](https://github.com/gocardless/statesman/pull/427)
|
66
|
+
|
67
|
+
## v8.0.0 6th January 2021
|
68
|
+
|
69
|
+
### Added
|
70
|
+
|
71
|
+
- Use AR Arel table to type cast booleans in order to avoid deprecation warning [#421](https://github.com/gocardless/statesman/pull/421)
|
72
|
+
- Support relationships that doesn't use `id` as a Primary Key
|
73
|
+
[#422](https://github.com/gocardless/statesman/pull/422)
|
74
|
+
|
75
|
+
## v7.4.1 11th November 2020
|
76
|
+
|
77
|
+
### Added
|
78
|
+
|
79
|
+
- Add #reset method to state machine and adapter interfaces
|
80
|
+
[#417](https://github.com/gocardless/statesman/pull/417)
|
81
|
+
|
1
82
|
## v7.4.0 26th August 2020
|
2
83
|
|
3
84
|
### Added
|
@@ -9,16 +90,16 @@
|
|
9
90
|
|
10
91
|
### Changed
|
11
92
|
|
12
|
-
- Use correct Arel for null [#409](https://github.com/gocardless/statesman/pull
|
93
|
+
- Use correct Arel for null [#409](https://github.com/gocardless/statesman/pull/409)
|
13
94
|
|
14
95
|
## v7.2.0, 19th May 2020
|
15
96
|
|
16
97
|
### Changed
|
17
98
|
|
18
|
-
- Set non-empty password for postgres tests [#398](https://github.com/gocardless/statesman/pull
|
19
|
-
- Handle transitions differently for MySQL [#399](https://github.com/gocardless/statesman/pull
|
20
|
-
- pg requirement from >= 0.18, <= 1.1 to >= 0.18, <= 1.3 [#400](https://github.com/gocardless/statesman/pull
|
21
|
-
- Lazily enable mysql gaplock protection [#402](https://github.com/gocardless/statesman/pull
|
99
|
+
- Set non-empty password for postgres tests [#398](https://github.com/gocardless/statesman/pull/398)
|
100
|
+
- Handle transitions differently for MySQL [#399](https://github.com/gocardless/statesman/pull/399)
|
101
|
+
- pg requirement from >= 0.18, <= 1.1 to >= 0.18, <= 1.3 [#400](https://github.com/gocardless/statesman/pull/400)
|
102
|
+
- Lazily enable mysql gaplock protection [#402](https://github.com/gocardless/statesman/pull/402)
|
22
103
|
|
23
104
|
## v7.1.0, 10th Feb 2020
|
24
105
|
|
@@ -71,7 +152,7 @@
|
|
71
152
|
to
|
72
153
|
```ruby
|
73
154
|
include Statesman::Adapters::ActiveRecordQueries[
|
74
|
-
initial_state: :
|
155
|
+
initial_state: :initial,
|
75
156
|
transition_class: MyTransition
|
76
157
|
]
|
77
158
|
```
|
data/CONTRIBUTING.md
CHANGED
@@ -19,3 +19,21 @@ request passes by running `rubocop`.
|
|
19
19
|
|
20
20
|
Please add a section to the readme for any new feature additions or behaviour
|
21
21
|
changes.
|
22
|
+
|
23
|
+
## Releasing
|
24
|
+
|
25
|
+
We publish new versions of Stateman using [RubyGems](https://guides.rubygems.org/publishing/). Once
|
26
|
+
the relevant changes have been merged and `VERSION` has been appropriately bumped to the new
|
27
|
+
version, we run the following command.
|
28
|
+
```
|
29
|
+
$ gem build statesman.gemspec
|
30
|
+
```
|
31
|
+
This builds a `.gem` file locally that will be named something like `statesman-X` where `X` is the
|
32
|
+
new version. For example, if we are releasing version 9.0.0, the file would be
|
33
|
+
`statesman-9.0.0.gem`.
|
34
|
+
|
35
|
+
To publish, run `gem push` with the new `.gem` file we just generated. This requires a OTP that is currently only available
|
36
|
+
to GoCardless engineers. For example, if we were to continue to publish version 9.0.0, we would run:
|
37
|
+
```
|
38
|
+
$ gem push statesman-9.0.0.gem
|
39
|
+
```
|
data/Gemfile
CHANGED
@@ -4,15 +4,13 @@ source 'https://rubygems.org'
|
|
4
4
|
|
5
5
|
gemspec
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
gem "rails", git: "https://github.com/rails/rails"
|
7
|
+
if ENV['RAILS_VERSION'] == 'main'
|
8
|
+
gem "rails", git: "https://github.com/rails/rails", branch: "main"
|
10
9
|
elsif ENV['RAILS_VERSION']
|
11
10
|
gem "rails", "~> #{ENV['RAILS_VERSION']}"
|
12
11
|
end
|
13
|
-
# rubocop:enable Bundler/DuplicatedGem
|
14
|
-
|
15
12
|
group :development do
|
16
13
|
# test/unit is no longer bundled with Ruby 2.2, but required by Rails
|
14
|
+
gem "pry"
|
17
15
|
gem "test-unit", "~> 3.3" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
|
18
16
|
end
|