statesman 3.5.0 → 7.4.0
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 +5 -5
- data/.circleci/config.yml +49 -250
- data/.rubocop.yml +1 -1
- data/.rubocop_todo.yml +26 -6
- data/CHANGELOG.md +106 -0
- data/Gemfile +10 -4
- data/Guardfile +2 -0
- data/README.md +78 -48
- data/Rakefile +2 -4
- data/lib/generators/statesman/active_record_transition_generator.rb +2 -0
- data/lib/generators/statesman/generator_helpers.rb +2 -0
- data/lib/generators/statesman/migration_generator.rb +2 -0
- data/lib/statesman.rb +14 -4
- data/lib/statesman/adapters/active_record.rb +259 -37
- data/lib/statesman/adapters/active_record_queries.rb +100 -36
- data/lib/statesman/adapters/active_record_transition.rb +2 -0
- data/lib/statesman/adapters/memory.rb +2 -0
- data/lib/statesman/adapters/memory_transition.rb +2 -0
- data/lib/statesman/callback.rb +2 -0
- data/lib/statesman/config.rb +28 -0
- data/lib/statesman/exceptions.rb +34 -2
- data/lib/statesman/guard.rb +3 -4
- data/lib/statesman/machine.rb +29 -7
- data/lib/statesman/railtie.rb +2 -0
- data/lib/statesman/utils.rb +2 -0
- data/lib/statesman/version.rb +3 -1
- data/lib/tasks/statesman.rake +3 -1
- data/spec/fixtures/add_constraints_to_most_recent_for_bacon_transitions_with_partial_index.rb +2 -0
- data/spec/fixtures/add_constraints_to_most_recent_for_bacon_transitions_without_partial_index.rb +2 -0
- data/spec/fixtures/add_most_recent_to_bacon_transitions.rb +2 -0
- data/spec/generators/statesman/active_record_transition_generator_spec.rb +2 -0
- data/spec/generators/statesman/migration_generator_spec.rb +2 -0
- data/spec/spec_helper.rb +3 -30
- data/spec/statesman/adapters/active_record_queries_spec.rb +167 -91
- data/spec/statesman/adapters/active_record_spec.rb +15 -1
- data/spec/statesman/adapters/active_record_transition_spec.rb +2 -0
- data/spec/statesman/adapters/memory_spec.rb +2 -0
- data/spec/statesman/adapters/memory_transition_spec.rb +2 -0
- data/spec/statesman/adapters/shared_examples.rb +2 -0
- data/spec/statesman/callback_spec.rb +2 -0
- data/spec/statesman/config_spec.rb +2 -0
- data/spec/statesman/exceptions_spec.rb +88 -0
- data/spec/statesman/guard_spec.rb +2 -0
- data/spec/statesman/machine_spec.rb +79 -4
- data/spec/statesman/utils_spec.rb +2 -0
- data/spec/support/active_record.rb +9 -12
- data/spec/support/generators_shared_examples.rb +2 -0
- data/statesman.gemspec +19 -7
- metadata +40 -32
- data/lib/generators/statesman/mongoid_transition_generator.rb +0 -25
- data/lib/generators/statesman/templates/mongoid_transition_model.rb.erb +0 -14
- data/lib/statesman/adapters/mongoid.rb +0 -66
- data/lib/statesman/adapters/mongoid_transition.rb +0 -10
- data/spec/generators/statesman/mongoid_transition_generator_spec.rb +0 -23
- data/spec/statesman/adapters/mongoid_spec.rb +0 -86
- data/spec/support/mongoid.rb +0 -28
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "spec_helper"
|
2
4
|
|
3
5
|
describe Statesman::Machine do
|
@@ -57,7 +59,11 @@ describe Statesman::Machine do
|
|
57
59
|
expect(instance).
|
58
60
|
to receive(:transition_to).once.
|
59
61
|
and_raise(StandardError)
|
60
|
-
|
62
|
+
begin
|
63
|
+
transition_state
|
64
|
+
rescue StandardError
|
65
|
+
nil
|
66
|
+
end
|
61
67
|
end
|
62
68
|
|
63
69
|
it "re-raises the exception" do
|
@@ -86,7 +92,11 @@ describe Statesman::Machine do
|
|
86
92
|
to receive(:transition_to).
|
87
93
|
exactly(retry_attempts + 1).times.
|
88
94
|
and_raise(Statesman::TransitionConflictError)
|
89
|
-
|
95
|
+
begin
|
96
|
+
transition_state
|
97
|
+
rescue StandardError
|
98
|
+
nil
|
99
|
+
end
|
90
100
|
end
|
91
101
|
|
92
102
|
it "re-raises the conflict" do
|
@@ -320,6 +330,16 @@ describe Statesman::Machine do
|
|
320
330
|
it_behaves_like "a callback store", :guard_transition, :guards
|
321
331
|
end
|
322
332
|
|
333
|
+
describe ".after_transition_failure" do
|
334
|
+
it_behaves_like "a callback store",
|
335
|
+
:after_transition_failure,
|
336
|
+
:after_transition_failure
|
337
|
+
end
|
338
|
+
|
339
|
+
describe ".after_guard_failure" do
|
340
|
+
it_behaves_like "a callback store", :after_guard_failure, :after_guard_failure
|
341
|
+
end
|
342
|
+
|
323
343
|
describe "#initialize" do
|
324
344
|
it "accepts an object to manipulate" do
|
325
345
|
machine_instance = machine.new(my_model)
|
@@ -609,8 +629,12 @@ describe Statesman::Machine do
|
|
609
629
|
|
610
630
|
context "when the state cannot be transitioned to" do
|
611
631
|
it "raises an error" do
|
632
|
+
# Hardcoding error message here to ensure backward
|
633
|
+
# compatibility as people may have been parsing the string
|
634
|
+
# to figure out the transitions involved.
|
612
635
|
expect { instance.transition_to!(:z) }.
|
613
|
-
to raise_error(Statesman::TransitionFailedError
|
636
|
+
to raise_error(Statesman::TransitionFailedError,
|
637
|
+
"Cannot transition from 'x' to 'z'")
|
614
638
|
end
|
615
639
|
end
|
616
640
|
|
@@ -658,6 +682,24 @@ describe Statesman::Machine do
|
|
658
682
|
end
|
659
683
|
end
|
660
684
|
|
685
|
+
context "which covers all transitions" do
|
686
|
+
let(:result) { true }
|
687
|
+
let(:guard_cb) { ->(*_args) { false } }
|
688
|
+
|
689
|
+
before { machine.guard_transition(from: :x, to: :y, &guard_cb) }
|
690
|
+
|
691
|
+
it "raises an exception with the transition information" do
|
692
|
+
expect(guard_cb).to receive(:call).once.with(
|
693
|
+
my_model, instance.last_transition, {}
|
694
|
+
).and_return(false)
|
695
|
+
expect { instance.transition_to!(:y) }.
|
696
|
+
to raise_error(
|
697
|
+
an_instance_of(Statesman::GuardFailedError).
|
698
|
+
and(having_attributes(from: "x", to: ["y"])),
|
699
|
+
)
|
700
|
+
end
|
701
|
+
end
|
702
|
+
|
661
703
|
context "which passes" do
|
662
704
|
it "changes state" do
|
663
705
|
instance.transition_to!(:y)
|
@@ -672,6 +714,39 @@ describe Statesman::Machine do
|
|
672
714
|
expect { instance.transition_to!(:y) }.
|
673
715
|
to raise_error(Statesman::GuardFailedError)
|
674
716
|
end
|
717
|
+
|
718
|
+
context "and a guard failed callback defined" do
|
719
|
+
let(:guard_failure_result) { true }
|
720
|
+
let(:guard_failure_cb) { ->(*_args) { guard_failure_result } }
|
721
|
+
|
722
|
+
before { machine.after_guard_failure(from: :x, to: :y, &guard_failure_cb) }
|
723
|
+
|
724
|
+
it "calls the failure callback" do
|
725
|
+
expect(guard_failure_cb).to receive(:call).once.with(
|
726
|
+
my_model, instance_of(Statesman::GuardFailedError)
|
727
|
+
).and_return(guard_failure_result)
|
728
|
+
expect { instance.transition_to!(:y) }.
|
729
|
+
to raise_error(Statesman::GuardFailedError)
|
730
|
+
end
|
731
|
+
end
|
732
|
+
end
|
733
|
+
end
|
734
|
+
|
735
|
+
context "with a transition failed callback" do
|
736
|
+
let(:result) { true }
|
737
|
+
let(:transition_failed_cb) { ->(*_args) { result } }
|
738
|
+
let(:instance) { machine.new(my_model) }
|
739
|
+
|
740
|
+
before do
|
741
|
+
machine.after_transition_failure(&transition_failed_cb)
|
742
|
+
end
|
743
|
+
|
744
|
+
it "raises and exception and calls the callback" do
|
745
|
+
expect(transition_failed_cb).to receive(:call).once.with(
|
746
|
+
my_model, instance_of(Statesman::TransitionFailedError)
|
747
|
+
).and_return(true)
|
748
|
+
expect { instance.transition_to!(:z) }.
|
749
|
+
to raise_error(Statesman::TransitionFailedError)
|
675
750
|
end
|
676
751
|
end
|
677
752
|
end
|
@@ -695,7 +770,7 @@ describe Statesman::Machine do
|
|
695
770
|
context "when it is unsuccesful" do
|
696
771
|
before do
|
697
772
|
allow(instance).to receive(:transition_to!).
|
698
|
-
and_raise(Statesman::GuardFailedError)
|
773
|
+
and_raise(Statesman::GuardFailedError.new(:x, :some_state))
|
699
774
|
end
|
700
775
|
|
701
776
|
it { is_expected.to be_falsey }
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "json"
|
2
4
|
|
3
5
|
MIGRATION_CLASS = if Rails.version.split(".").map(&:to_i).first >= 5
|
@@ -94,14 +96,12 @@ class CreateMyActiveRecordModelTransitionMigration < MIGRATION_CLASS
|
|
94
96
|
%i[my_active_record_model_id most_recent],
|
95
97
|
unique: true,
|
96
98
|
where: "most_recent",
|
97
|
-
name: "
|
98
|
-
"parent_most_recent"
|
99
|
+
name: "index_my_active_record_model_transitions_parent_latest"
|
99
100
|
else
|
100
101
|
add_index :my_active_record_model_transitions,
|
101
102
|
%i[my_active_record_model_id most_recent],
|
102
103
|
unique: true,
|
103
|
-
name: "
|
104
|
-
"parent_most_recent"
|
104
|
+
name: "index_my_active_record_model_transitions_parent_latest"
|
105
105
|
end
|
106
106
|
end
|
107
107
|
end
|
@@ -173,13 +173,13 @@ class CreateOtherActiveRecordModelTransitionMigration < MIGRATION_CLASS
|
|
173
173
|
unique: true,
|
174
174
|
where: "most_recent",
|
175
175
|
name: "index_other_active_record_model_transitions_"\
|
176
|
-
"
|
176
|
+
"parent_latest"
|
177
177
|
else
|
178
178
|
add_index :other_active_record_model_transitions,
|
179
179
|
%i[other_active_record_model_id most_recent],
|
180
180
|
unique: true,
|
181
181
|
name: "index_other_active_record_model_transitions_"\
|
182
|
-
"
|
182
|
+
"parent_latest"
|
183
183
|
end
|
184
184
|
end
|
185
185
|
end
|
@@ -188,8 +188,7 @@ end
|
|
188
188
|
class DropMostRecentColumn < MIGRATION_CLASS
|
189
189
|
def change
|
190
190
|
remove_index :my_active_record_model_transitions,
|
191
|
-
name: "
|
192
|
-
"parent_most_recent"
|
191
|
+
name: "index_my_active_record_model_transitions_parent_latest"
|
193
192
|
remove_column :my_active_record_model_transitions, :most_recent
|
194
193
|
end
|
195
194
|
end
|
@@ -270,14 +269,12 @@ class CreateNamespacedARModelTransitionMigration < MIGRATION_CLASS
|
|
270
269
|
%i[my_active_record_model_id most_recent],
|
271
270
|
unique: true,
|
272
271
|
where: "most_recent",
|
273
|
-
name: "
|
274
|
-
"parent_most_recent"
|
272
|
+
name: "index_namespace_model_transitions_parent_latest"
|
275
273
|
else
|
276
274
|
add_index :my_namespace_my_active_record_model_transitions,
|
277
275
|
%i[my_active_record_model_id most_recent],
|
278
276
|
unique: true,
|
279
|
-
name: "
|
280
|
-
"parent_most_recent"
|
277
|
+
name: "index_namespace_model_transitions_parent_latest"
|
281
278
|
end
|
282
279
|
end
|
283
280
|
# rubocop:enable MethodLength
|
data/statesman.gemspec
CHANGED
@@ -1,7 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
lib = File.expand_path("lib", __dir__)
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
5
|
require "statesman/version"
|
4
6
|
|
7
|
+
GITHUB_URL = "https://github.com/gocardless/statesman"
|
8
|
+
|
5
9
|
Gem::Specification.new do |spec|
|
6
10
|
spec.name = "statesman"
|
7
11
|
spec.version = Statesman::VERSION
|
@@ -9,7 +13,7 @@ Gem::Specification.new do |spec|
|
|
9
13
|
spec.email = ["developers@gocardless.com"]
|
10
14
|
spec.description = "A statesman-like state machine library"
|
11
15
|
spec.summary = spec.description
|
12
|
-
spec.homepage =
|
16
|
+
spec.homepage = GITHUB_URL
|
13
17
|
spec.license = "MIT"
|
14
18
|
|
15
19
|
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
@@ -20,17 +24,25 @@ Gem::Specification.new do |spec|
|
|
20
24
|
spec.required_ruby_version = ">= 2.2"
|
21
25
|
|
22
26
|
spec.add_development_dependency "ammeter", "~> 1.1"
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.
|
27
|
+
spec.add_development_dependency "bundler", "~> 2.1.4"
|
24
28
|
spec.add_development_dependency "gc_ruboconfig", "~> 2.3.9"
|
25
|
-
spec.add_development_dependency "mysql2", "
|
26
|
-
spec.add_development_dependency "pg", "
|
29
|
+
spec.add_development_dependency "mysql2", ">= 0.4", "< 0.6"
|
30
|
+
spec.add_development_dependency "pg", ">= 0.18", "<= 1.3"
|
27
31
|
spec.add_development_dependency "pry"
|
28
|
-
spec.add_development_dependency "rails", ">=
|
29
|
-
spec.add_development_dependency "rake", "~>
|
32
|
+
spec.add_development_dependency "rails", ">= 5.2"
|
33
|
+
spec.add_development_dependency "rake", "~> 13.0.0"
|
30
34
|
spec.add_development_dependency "rspec", "~> 3.1"
|
31
35
|
spec.add_development_dependency "rspec-its", "~> 1.1"
|
32
36
|
spec.add_development_dependency "rspec-rails", "~> 3.1"
|
33
37
|
spec.add_development_dependency "rspec_junit_formatter", "~> 0.4.0"
|
34
|
-
spec.add_development_dependency "sqlite3", "~> 1.
|
38
|
+
spec.add_development_dependency "sqlite3", "~> 1.4.2"
|
35
39
|
spec.add_development_dependency "timecop", "~> 0.9.1"
|
40
|
+
|
41
|
+
spec.metadata = {
|
42
|
+
"bug_tracker_uri" => "#{GITHUB_URL}/issues",
|
43
|
+
"changelog_uri" => "#{GITHUB_URL}/blob/master/CHANGELOG.md",
|
44
|
+
"documentation_uri" => "#{GITHUB_URL}/blob/master/README.md",
|
45
|
+
"homepage_uri" => GITHUB_URL,
|
46
|
+
"source_code_uri" => GITHUB_URL,
|
47
|
+
}
|
36
48
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: statesman
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- GoCardless
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ammeter
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 2.1.4
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 2.1.4
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: gc_ruboconfig
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,30 +56,42 @@ dependencies:
|
|
56
56
|
name: mysql2
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.4
|
61
|
+
version: '0.4'
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0.6'
|
62
65
|
type: :development
|
63
66
|
prerelease: false
|
64
67
|
version_requirements: !ruby/object:Gem::Requirement
|
65
68
|
requirements:
|
66
|
-
- - "
|
69
|
+
- - ">="
|
67
70
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.4
|
71
|
+
version: '0.4'
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0.6'
|
69
75
|
- !ruby/object:Gem::Dependency
|
70
76
|
name: pg
|
71
77
|
requirement: !ruby/object:Gem::Requirement
|
72
78
|
requirements:
|
73
|
-
- - "
|
79
|
+
- - ">="
|
74
80
|
- !ruby/object:Gem::Version
|
75
81
|
version: '0.18'
|
82
|
+
- - "<="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '1.3'
|
76
85
|
type: :development
|
77
86
|
prerelease: false
|
78
87
|
version_requirements: !ruby/object:Gem::Requirement
|
79
88
|
requirements:
|
80
|
-
- - "
|
89
|
+
- - ">="
|
81
90
|
- !ruby/object:Gem::Version
|
82
91
|
version: '0.18'
|
92
|
+
- - "<="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '1.3'
|
83
95
|
- !ruby/object:Gem::Dependency
|
84
96
|
name: pry
|
85
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,28 +112,28 @@ dependencies:
|
|
100
112
|
requirements:
|
101
113
|
- - ">="
|
102
114
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
115
|
+
version: '5.2'
|
104
116
|
type: :development
|
105
117
|
prerelease: false
|
106
118
|
version_requirements: !ruby/object:Gem::Requirement
|
107
119
|
requirements:
|
108
120
|
- - ">="
|
109
121
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
122
|
+
version: '5.2'
|
111
123
|
- !ruby/object:Gem::Dependency
|
112
124
|
name: rake
|
113
125
|
requirement: !ruby/object:Gem::Requirement
|
114
126
|
requirements:
|
115
127
|
- - "~>"
|
116
128
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
129
|
+
version: 13.0.0
|
118
130
|
type: :development
|
119
131
|
prerelease: false
|
120
132
|
version_requirements: !ruby/object:Gem::Requirement
|
121
133
|
requirements:
|
122
134
|
- - "~>"
|
123
135
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
136
|
+
version: 13.0.0
|
125
137
|
- !ruby/object:Gem::Dependency
|
126
138
|
name: rspec
|
127
139
|
requirement: !ruby/object:Gem::Requirement
|
@@ -184,14 +196,14 @@ dependencies:
|
|
184
196
|
requirements:
|
185
197
|
- - "~>"
|
186
198
|
- !ruby/object:Gem::Version
|
187
|
-
version:
|
199
|
+
version: 1.4.2
|
188
200
|
type: :development
|
189
201
|
prerelease: false
|
190
202
|
version_requirements: !ruby/object:Gem::Requirement
|
191
203
|
requirements:
|
192
204
|
- - "~>"
|
193
205
|
- !ruby/object:Gem::Version
|
194
|
-
version:
|
206
|
+
version: 1.4.2
|
195
207
|
- !ruby/object:Gem::Dependency
|
196
208
|
name: timecop
|
197
209
|
requirement: !ruby/object:Gem::Requirement
|
@@ -228,10 +240,8 @@ files:
|
|
228
240
|
- lib/generators/statesman/active_record_transition_generator.rb
|
229
241
|
- lib/generators/statesman/generator_helpers.rb
|
230
242
|
- lib/generators/statesman/migration_generator.rb
|
231
|
-
- lib/generators/statesman/mongoid_transition_generator.rb
|
232
243
|
- lib/generators/statesman/templates/active_record_transition_model.rb.erb
|
233
244
|
- lib/generators/statesman/templates/create_migration.rb.erb
|
234
|
-
- lib/generators/statesman/templates/mongoid_transition_model.rb.erb
|
235
245
|
- lib/generators/statesman/templates/update_migration.rb.erb
|
236
246
|
- lib/statesman.rb
|
237
247
|
- lib/statesman/adapters/active_record.rb
|
@@ -239,8 +249,6 @@ files:
|
|
239
249
|
- lib/statesman/adapters/active_record_transition.rb
|
240
250
|
- lib/statesman/adapters/memory.rb
|
241
251
|
- lib/statesman/adapters/memory_transition.rb
|
242
|
-
- lib/statesman/adapters/mongoid.rb
|
243
|
-
- lib/statesman/adapters/mongoid_transition.rb
|
244
252
|
- lib/statesman/callback.rb
|
245
253
|
- lib/statesman/config.rb
|
246
254
|
- lib/statesman/exceptions.rb
|
@@ -255,29 +263,32 @@ files:
|
|
255
263
|
- spec/fixtures/add_most_recent_to_bacon_transitions.rb
|
256
264
|
- spec/generators/statesman/active_record_transition_generator_spec.rb
|
257
265
|
- spec/generators/statesman/migration_generator_spec.rb
|
258
|
-
- spec/generators/statesman/mongoid_transition_generator_spec.rb
|
259
266
|
- spec/spec_helper.rb
|
260
267
|
- spec/statesman/adapters/active_record_queries_spec.rb
|
261
268
|
- spec/statesman/adapters/active_record_spec.rb
|
262
269
|
- spec/statesman/adapters/active_record_transition_spec.rb
|
263
270
|
- spec/statesman/adapters/memory_spec.rb
|
264
271
|
- spec/statesman/adapters/memory_transition_spec.rb
|
265
|
-
- spec/statesman/adapters/mongoid_spec.rb
|
266
272
|
- spec/statesman/adapters/shared_examples.rb
|
267
273
|
- spec/statesman/callback_spec.rb
|
268
274
|
- spec/statesman/config_spec.rb
|
275
|
+
- spec/statesman/exceptions_spec.rb
|
269
276
|
- spec/statesman/guard_spec.rb
|
270
277
|
- spec/statesman/machine_spec.rb
|
271
278
|
- spec/statesman/utils_spec.rb
|
272
279
|
- spec/support/active_record.rb
|
273
280
|
- spec/support/generators_shared_examples.rb
|
274
|
-
- spec/support/mongoid.rb
|
275
281
|
- statesman.gemspec
|
276
282
|
homepage: https://github.com/gocardless/statesman
|
277
283
|
licenses:
|
278
284
|
- MIT
|
279
|
-
metadata:
|
280
|
-
|
285
|
+
metadata:
|
286
|
+
bug_tracker_uri: https://github.com/gocardless/statesman/issues
|
287
|
+
changelog_uri: https://github.com/gocardless/statesman/blob/master/CHANGELOG.md
|
288
|
+
documentation_uri: https://github.com/gocardless/statesman/blob/master/README.md
|
289
|
+
homepage_uri: https://github.com/gocardless/statesman
|
290
|
+
source_code_uri: https://github.com/gocardless/statesman
|
291
|
+
post_install_message:
|
281
292
|
rdoc_options: []
|
282
293
|
require_paths:
|
283
294
|
- lib
|
@@ -292,9 +303,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
292
303
|
- !ruby/object:Gem::Version
|
293
304
|
version: '0'
|
294
305
|
requirements: []
|
295
|
-
|
296
|
-
|
297
|
-
signing_key:
|
306
|
+
rubygems_version: 3.1.1
|
307
|
+
signing_key:
|
298
308
|
specification_version: 4
|
299
309
|
summary: A statesman-like state machine library
|
300
310
|
test_files:
|
@@ -303,20 +313,18 @@ test_files:
|
|
303
313
|
- spec/fixtures/add_most_recent_to_bacon_transitions.rb
|
304
314
|
- spec/generators/statesman/active_record_transition_generator_spec.rb
|
305
315
|
- spec/generators/statesman/migration_generator_spec.rb
|
306
|
-
- spec/generators/statesman/mongoid_transition_generator_spec.rb
|
307
316
|
- spec/spec_helper.rb
|
308
317
|
- spec/statesman/adapters/active_record_queries_spec.rb
|
309
318
|
- spec/statesman/adapters/active_record_spec.rb
|
310
319
|
- spec/statesman/adapters/active_record_transition_spec.rb
|
311
320
|
- spec/statesman/adapters/memory_spec.rb
|
312
321
|
- spec/statesman/adapters/memory_transition_spec.rb
|
313
|
-
- spec/statesman/adapters/mongoid_spec.rb
|
314
322
|
- spec/statesman/adapters/shared_examples.rb
|
315
323
|
- spec/statesman/callback_spec.rb
|
316
324
|
- spec/statesman/config_spec.rb
|
325
|
+
- spec/statesman/exceptions_spec.rb
|
317
326
|
- spec/statesman/guard_spec.rb
|
318
327
|
- spec/statesman/machine_spec.rb
|
319
328
|
- spec/statesman/utils_spec.rb
|
320
329
|
- spec/support/active_record.rb
|
321
330
|
- spec/support/generators_shared_examples.rb
|
322
|
-
- spec/support/mongoid.rb
|