aasm 4.3.0 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -3
- data/CHANGELOG.md +5 -0
- data/PLANNED_CHANGES.md +1 -17
- data/README.md +21 -9
- data/gemfiles/{rails_4.0_bson1.gemfile → rails_4.0_mongo_mapper.gemfile} +0 -0
- data/gemfiles/{rails_4.1_bson1.gemfile → rails_4.1_mongo_mapper.gemfile} +0 -0
- data/gemfiles/{rails_4.2_bson1.gemfile → rails_4.2_mongo_mapper.gemfile} +0 -0
- data/gemfiles/rails_4.2_mongoid_5.gemfile +12 -0
- data/lib/aasm/base.rb +6 -2
- data/lib/aasm/core/transition.rb +1 -0
- data/lib/aasm/instance_base.rb +1 -1
- data/lib/aasm/persistence/base.rb +7 -2
- data/lib/aasm/state_machine.rb +10 -1
- data/lib/aasm/version.rb +1 -1
- data/spec/database.rb +1 -1
- data/spec/models/active_record/readme_job.rb +21 -0
- data/spec/models/callbacks/basic.rb +3 -0
- data/spec/models/callbacks/with_state_arg.rb +1 -1
- data/spec/models/callbacks/with_state_arg_multiple.rb +1 -1
- data/spec/unit/callbacks_spec.rb +1 -0
- data/spec/unit/persistence/active_record_persistence_spec.rb +17 -0
- data/spec/unit/readme_spec.rb +42 -0
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7796dc2427b68fdbe78f6a79597c483b04f0cf70
|
4
|
+
data.tar.gz: 5b787a0ef49492a02f6beb7e5fffe6ab44c7724d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d429dd03690c213d5fed037d1d65b5fcc31f6ef83ff6a54ddd6092f46958f5bebe753d429bd8ecbd70e83ba210265895e83028fdbb5e5b8aab9031cea532a4f
|
7
|
+
data.tar.gz: 0b9fe7da0c4755fabb564fc05beb553d8fd666d6cc885079bef5eb6c97f2a08e81b8721bdac39b0453118b3a7835387eb2c4881855a19c9e72310b241d680c76
|
data/.travis.yml
CHANGED
@@ -18,11 +18,12 @@ services: mongodb
|
|
18
18
|
gemfile:
|
19
19
|
- gemfiles/rails_3.2.gemfile
|
20
20
|
- gemfiles/rails_4.0.gemfile
|
21
|
-
- gemfiles/rails_4.
|
21
|
+
- gemfiles/rails_4.0_mongo_mapper.gemfile
|
22
22
|
- gemfiles/rails_4.1.gemfile
|
23
|
-
- gemfiles/rails_4.
|
23
|
+
- gemfiles/rails_4.1_mongo_mapper.gemfile
|
24
24
|
- gemfiles/rails_4.2.gemfile
|
25
|
-
- gemfiles/rails_4.
|
25
|
+
- gemfiles/rails_4.2_mongoid_5.gemfile
|
26
|
+
- gemfiles/rails_4.2_mongo_mapper.gemfile
|
26
27
|
|
27
28
|
matrix:
|
28
29
|
allow_failures:
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 4.4.0
|
4
|
+
|
5
|
+
* add support global transation callbacks (see [issue #221](https://github.com/aasm/aasm/issues/221) and [issue #253](https://github.com/aasm/aasm/issues/253) for details)
|
6
|
+
* add support (bugfix) for Mongoid >= 5.0 (see [issue #277](https://github.com/aasm/aasm/issues/277) and [issue #278](https://github.com/aasm/aasm/issues/278) for details)
|
7
|
+
|
3
8
|
## 4.3.0
|
4
9
|
|
5
10
|
* add support for multiple state machines per class (see [issue #158](https://github.com/aasm/aasm/issues/158) and [issue #240](https://github.com/aasm/aasm/issues/240) for details)
|
data/PLANNED_CHANGES.md
CHANGED
@@ -4,24 +4,8 @@
|
|
4
4
|
|
5
5
|
* drop support for aasm_column ?
|
6
6
|
|
7
|
+
|
7
8
|
# Currently working on
|
8
9
|
|
9
10
|
|
10
11
|
# Changes so far
|
11
|
-
|
12
|
-
## version 4.3
|
13
|
-
|
14
|
-
* add support for multiple state machines per class
|
15
|
-
* class- and instance-level `aasm` methods accept a state machine selector
|
16
|
-
(aka the state machine _name_)
|
17
|
-
* if no selector/name is provided, `:default` will be used
|
18
|
-
* duplicate definitions of states and events will issue warnings
|
19
|
-
* check all tests
|
20
|
-
* _ActiveRecord_
|
21
|
-
* _Mongoid_
|
22
|
-
* _MongoMapper_
|
23
|
-
* _Sequel_
|
24
|
-
* what happen's if someone accesses `aasm`, but has defined a
|
25
|
-
state machine for `aasm(:my_name)`?
|
26
|
-
* documentation
|
27
|
-
* drop support for find_in_state, count_in_state, calculate_in_state, with_state_scope
|
data/README.md
CHANGED
@@ -98,6 +98,8 @@ class Job
|
|
98
98
|
state :sleeping, :initial => true, :before_enter => :do_something
|
99
99
|
state :running
|
100
100
|
|
101
|
+
after_all_transitions :log_status_change
|
102
|
+
|
101
103
|
event :run, :after => :notify_somebody do
|
102
104
|
before do
|
103
105
|
log('Preparing to run')
|
@@ -117,6 +119,10 @@ class Job
|
|
117
119
|
end
|
118
120
|
end
|
119
121
|
|
122
|
+
def log_status_change
|
123
|
+
puts "changing from #{aasm.from_state} to #{aasm.to_state} (event: #{aasm.current_event})"
|
124
|
+
end
|
125
|
+
|
120
126
|
def set_process(name)
|
121
127
|
...
|
122
128
|
end
|
@@ -145,6 +151,7 @@ begin
|
|
145
151
|
transition guards
|
146
152
|
old_state before_exit
|
147
153
|
old_state exit
|
154
|
+
after_all_transitions
|
148
155
|
transition after
|
149
156
|
new_state before_enter
|
150
157
|
new_state enter
|
@@ -172,8 +179,9 @@ Note that when passing arguments to a state transition, the first argument must
|
|
172
179
|
In case of an error during the event processing the error is rescued and passed to `:error`
|
173
180
|
callback, which can handle it or re-raise it for further propagation.
|
174
181
|
|
175
|
-
During the transition's `:after` callback (and reliably only then
|
176
|
-
|
182
|
+
During the transition's `:after` callback (and reliably only then, or in the global
|
183
|
+
`after_all_transitions` callback) you can access the originating state (the from-state)
|
184
|
+
and the target state (the to state), like this:
|
177
185
|
|
178
186
|
```ruby
|
179
187
|
def set_process(name)
|
@@ -313,9 +321,9 @@ job.aasm.current_state # stage3
|
|
313
321
|
```
|
314
322
|
|
315
323
|
|
316
|
-
### Multiple state
|
324
|
+
### Multiple state machines per class
|
317
325
|
|
318
|
-
Multiple state machines per class are supported. Be aware though
|
326
|
+
Multiple state machines per class are supported. Be aware though that _AASM_ has been
|
319
327
|
built with one state machine per class in mind. Nonetheless, here's how to do it:
|
320
328
|
|
321
329
|
```ruby
|
@@ -365,9 +373,9 @@ simple.aasm(:work).current
|
|
365
373
|
|
366
374
|
```
|
367
375
|
|
368
|
-
_AASM_ doesn't prohibit to define the same event in
|
369
|
-
latest definition "wins" and overrides previous definitions.
|
370
|
-
`SimpleMultipleExample: The event name run is already used!`.
|
376
|
+
_AASM_ doesn't prohibit to define the same event in more than one state machine. The
|
377
|
+
latest definition "wins" and overrides previous definitions. Nonetheless, a warning is issued:
|
378
|
+
`SimpleMultipleExample: The aasm event name run is already used!`.
|
371
379
|
|
372
380
|
All _AASM_ class- and instance-level `aasm` methods accept a state machine selector.
|
373
381
|
So, for example, to use inspection on a class level, you have to use
|
@@ -378,7 +386,7 @@ SimpleMultipleExample.aasm(:work).states
|
|
378
386
|
```
|
379
387
|
|
380
388
|
*Final note*: Support for multiple state machines per class is a pretty new feature
|
381
|
-
(since version `4.3`), so please bear with us in case it doesn't as expected.
|
389
|
+
(since version `4.3`), so please bear with us in case it doesn't work as expected.
|
382
390
|
|
383
391
|
|
384
392
|
|
@@ -417,7 +425,7 @@ job.run! # saved
|
|
417
425
|
|
418
426
|
Saving includes running all validations on the `Job` class. If you want make sure
|
419
427
|
the state gets saved without running validations (and thereby maybe persisting an
|
420
|
-
invalid object state), simply tell AASM to skip the validations. Be aware
|
428
|
+
invalid object state), simply tell AASM to skip the validations. Be aware that
|
421
429
|
when skipping validations, only the state column will be updated in the database
|
422
430
|
(just like ActiveRecord `change_column` is working).
|
423
431
|
|
@@ -704,6 +712,10 @@ job.aasm.states(:permitted => true).map(&:name)
|
|
704
712
|
# show all possible (triggerable) events (allowed by transitions)
|
705
713
|
job.aasm.events.map(&:name)
|
706
714
|
=> [:sleep]
|
715
|
+
|
716
|
+
# list states for select
|
717
|
+
Job.aasm.states_for_select
|
718
|
+
=> [["Sleeping", "sleeping"], ["Running", "running"], ["Cleaning", "cleaning"]]
|
707
719
|
```
|
708
720
|
|
709
721
|
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,12 @@
|
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
|
+
gem "sqlite3", :platforms => :ruby
|
4
|
+
gem 'rubysl', :platforms => :rbx
|
5
|
+
gem 'rubinius-developer_tools', :platforms => :rbx
|
6
|
+
gem "jruby-openssl", :platforms => :jruby
|
7
|
+
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
|
8
|
+
gem "rails", "4.2.0"
|
9
|
+
gem 'mongoid', '~>5.0' if Gem::Version.create(RUBY_VERSION.dup) >= Gem::Version.create('1.9.3')
|
10
|
+
gem 'sequel'
|
11
|
+
|
12
|
+
gemspec :path => "../"
|
data/lib/aasm/base.rb
CHANGED
@@ -67,7 +67,7 @@ module AASM
|
|
67
67
|
@state_machine.add_state(name, @klass, options)
|
68
68
|
|
69
69
|
if @klass.instance_methods.include?("#{name}?")
|
70
|
-
warn "#{@klass.name}: The state name #{name} is already used!"
|
70
|
+
warn "#{@klass.name}: The aasm state name #{name} is already used!"
|
71
71
|
end
|
72
72
|
|
73
73
|
@klass.class_eval <<-EORUBY, __FILE__, __LINE__ + 1
|
@@ -86,7 +86,7 @@ module AASM
|
|
86
86
|
@state_machine.add_event(name, options, &block)
|
87
87
|
|
88
88
|
if @klass.instance_methods.include?("may_#{name}?".to_sym)
|
89
|
-
warn "#{@klass.name}: The event name #{name} is already used!"
|
89
|
+
warn "#{@klass.name}: The aasm event name #{name} is already used!"
|
90
90
|
end
|
91
91
|
|
92
92
|
# an addition over standard aasm so that, before firing an event, you can ask
|
@@ -109,6 +109,10 @@ module AASM
|
|
109
109
|
EORUBY
|
110
110
|
end
|
111
111
|
|
112
|
+
def after_all_transitions(*callbacks, &block)
|
113
|
+
@state_machine.add_global_callbacks(:after_all_transitions, *callbacks, &block)
|
114
|
+
end
|
115
|
+
|
112
116
|
def states
|
113
117
|
@state_machine.states
|
114
118
|
end
|
data/lib/aasm/core/transition.rb
CHANGED
data/lib/aasm/instance_base.rb
CHANGED
@@ -59,7 +59,7 @@ module AASM
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def state_object_for_name(name)
|
62
|
-
obj = @instance.class.aasm(@name).states.find {|s| s == name}
|
62
|
+
obj = @instance.class.aasm(@name).states.find {|s| s.name == name}
|
63
63
|
raise AASM::UndefinedState, "State :#{name} doesn't exist" if obj.nil?
|
64
64
|
obj
|
65
65
|
end
|
@@ -56,8 +56,8 @@ module AASM
|
|
56
56
|
def state_with_scope(name, *args)
|
57
57
|
state_without_scope(name, *args)
|
58
58
|
if @state_machine.config.create_scopes && !@klass.respond_to?(name)
|
59
|
-
if @klass.ancestors.map {|klass| klass.to_s}.include?("ActiveRecord::Base")
|
60
59
|
|
60
|
+
if @klass.ancestors.map {|klass| klass.to_s}.include?("ActiveRecord::Base")
|
61
61
|
conditions = {"#{@klass.table_name}.#{@klass.aasm(@name).attribute_name}" => name.to_s}
|
62
62
|
if ActiveRecord::VERSION::MAJOR >= 3
|
63
63
|
@klass.class_eval do
|
@@ -69,12 +69,17 @@ module AASM
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
elsif @klass.ancestors.map {|klass| klass.to_s}.include?("Mongoid::Document")
|
72
|
-
|
72
|
+
klass = @klass
|
73
|
+
state_machine_name = @name
|
74
|
+
scope_options = lambda {
|
75
|
+
klass.send(:where, {klass.aasm(state_machine_name).attribute_name.to_sym => name.to_s})
|
76
|
+
}
|
73
77
|
@klass.send(:scope, name, scope_options)
|
74
78
|
elsif @klass.ancestors.map {|klass| klass.to_s}.include?("MongoMapper::Document")
|
75
79
|
conditions = { @klass.aasm(@name).attribute_name.to_sym => name.to_s }
|
76
80
|
@klass.scope(name, lambda { @klass.where(conditions) })
|
77
81
|
end
|
82
|
+
|
78
83
|
end
|
79
84
|
end
|
80
85
|
alias_method :state_without_scope, :state
|
data/lib/aasm/state_machine.rb
CHANGED
@@ -10,12 +10,13 @@ module AASM
|
|
10
10
|
(@machines ||= {})[klass.to_s] = machine
|
11
11
|
end
|
12
12
|
|
13
|
-
attr_accessor :states, :events, :initial_state, :config, :name
|
13
|
+
attr_accessor :states, :events, :initial_state, :config, :name, :global_callbacks
|
14
14
|
|
15
15
|
def initialize(name)
|
16
16
|
@initial_state = nil
|
17
17
|
@states = []
|
18
18
|
@events = {}
|
19
|
+
@global_callbacks = {}
|
19
20
|
@config = AASM::Configuration.new
|
20
21
|
@name = name
|
21
22
|
end
|
@@ -40,6 +41,14 @@ module AASM
|
|
40
41
|
@events[name] = AASM::Core::Event.new(name, self, options, &block)
|
41
42
|
end
|
42
43
|
|
44
|
+
def add_global_callbacks(name, *callbacks, &block)
|
45
|
+
@global_callbacks[name] ||= []
|
46
|
+
callbacks.each do |callback|
|
47
|
+
@global_callbacks[name] << callback
|
48
|
+
end
|
49
|
+
@global_callbacks[name] << block if block
|
50
|
+
end
|
51
|
+
|
43
52
|
private
|
44
53
|
|
45
54
|
def set_initial_state(name, options)
|
data/lib/aasm/version.rb
CHANGED
data/spec/database.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
ActiveRecord::Migration.suppress_messages do
|
2
|
-
%w{gates multiple_gates readers writers transients simples no_scopes multiple_no_scopes no_direct_assignments multiple_no_direct_assignments thieves multiple_thieves localizer_test_models persisted_states provided_and_persisted_states with_enums with_true_enums with_false_enums false_states multiple_with_enums multiple_with_true_enums multiple_with_false_enums multiple_false_states}.each do |table_name|
|
2
|
+
%w{gates multiple_gates readers writers transients simples no_scopes multiple_no_scopes no_direct_assignments multiple_no_direct_assignments thieves multiple_thieves localizer_test_models persisted_states provided_and_persisted_states with_enums with_true_enums with_false_enums false_states multiple_with_enums multiple_with_true_enums multiple_with_false_enums multiple_false_states readme_jobs}.each do |table_name|
|
3
3
|
ActiveRecord::Migration.create_table table_name, :force => true do |t|
|
4
4
|
t.string "aasm_state"
|
5
5
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
class ReadmeJob < ActiveRecord::Base
|
2
|
+
include AASM
|
3
|
+
|
4
|
+
aasm do
|
5
|
+
state :sleeping, :initial => true
|
6
|
+
state :running
|
7
|
+
state :cleaning
|
8
|
+
|
9
|
+
event :run do
|
10
|
+
transitions :from => :sleeping, :to => :running
|
11
|
+
end
|
12
|
+
|
13
|
+
event :clean do
|
14
|
+
transitions :from => :running, :to => :cleaning
|
15
|
+
end
|
16
|
+
|
17
|
+
event :sleep do
|
18
|
+
transitions :from => [:running, :cleaning], :to => :sleeping
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -18,6 +18,8 @@ module Callbacks
|
|
18
18
|
end
|
19
19
|
|
20
20
|
aasm do
|
21
|
+
after_all_transitions :after_all_transitions
|
22
|
+
|
21
23
|
state :open, :initial => true,
|
22
24
|
:before_enter => :before_enter_open,
|
23
25
|
:enter => :enter_open,
|
@@ -68,6 +70,7 @@ module Callbacks
|
|
68
70
|
def transition_guard; log('transition_guard'); !@fail_transition_guard; end
|
69
71
|
|
70
72
|
def after_transition; log('after_transition'); end
|
73
|
+
def after_all_transitions;log('after_all_transitions');end
|
71
74
|
|
72
75
|
def before_event; log('before_event'); end
|
73
76
|
def after_event; log('after_event'); end
|
data/spec/unit/callbacks_spec.rb
CHANGED
@@ -17,6 +17,7 @@ describe 'callbacks for the new DSL' do
|
|
17
17
|
expect(callback).to receive(:exit_open).once.ordered
|
18
18
|
# expect(callback).to receive(:event_guard).once.ordered.and_return(true)
|
19
19
|
# expect(callback).to receive(:transition_guard).once.ordered.and_return(true)
|
20
|
+
expect(callback).to receive(:after_all_transitions).once.ordered
|
20
21
|
expect(callback).to receive(:after_transition).once.ordered
|
21
22
|
expect(callback).to receive(:before_enter_closed).once.ordered
|
22
23
|
expect(callback).to receive(:enter_closed).once.ordered
|
@@ -521,3 +521,20 @@ describe 'basic example with two state machines' do
|
|
521
521
|
expect(example.aasm(:sync).current_state).to eql :unsynced
|
522
522
|
end
|
523
523
|
end
|
524
|
+
|
525
|
+
describe 'testing the README examples' do
|
526
|
+
it 'Usage' do
|
527
|
+
job = ReadmeJob.new
|
528
|
+
|
529
|
+
expect(job.sleeping?).to eql true
|
530
|
+
expect(job.may_run?).to eql true
|
531
|
+
|
532
|
+
job.run
|
533
|
+
|
534
|
+
expect(job.running?).to eql true
|
535
|
+
expect(job.sleeping?).to eql false
|
536
|
+
expect(job.may_run?).to eql false
|
537
|
+
|
538
|
+
expect { job.run }.to raise_error(AASM::InvalidTransition)
|
539
|
+
end
|
540
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'testing the README examples' do
|
4
|
+
|
5
|
+
it 'Usage' do
|
6
|
+
class Job
|
7
|
+
include AASM
|
8
|
+
|
9
|
+
aasm do
|
10
|
+
state :sleeping, :initial => true
|
11
|
+
state :running
|
12
|
+
state :cleaning
|
13
|
+
|
14
|
+
event :run do
|
15
|
+
transitions :from => :sleeping, :to => :running
|
16
|
+
end
|
17
|
+
|
18
|
+
event :clean do
|
19
|
+
transitions :from => :running, :to => :cleaning
|
20
|
+
end
|
21
|
+
|
22
|
+
event :sleep do
|
23
|
+
transitions :from => [:running, :cleaning], :to => :sleeping
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
job = Job.new
|
29
|
+
|
30
|
+
expect(job.sleeping?).to eql true
|
31
|
+
expect(job.may_run?).to eql true
|
32
|
+
|
33
|
+
job.run
|
34
|
+
|
35
|
+
expect(job.running?).to eql true
|
36
|
+
expect(job.sleeping?).to eql false
|
37
|
+
expect(job.may_run?).to eql false
|
38
|
+
|
39
|
+
expect { job.run }.to raise_error(AASM::InvalidTransition)
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aasm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Barron
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-10-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -92,11 +92,12 @@ files:
|
|
92
92
|
- callbacks.txt
|
93
93
|
- gemfiles/rails_3.2.gemfile
|
94
94
|
- gemfiles/rails_4.0.gemfile
|
95
|
-
- gemfiles/rails_4.
|
95
|
+
- gemfiles/rails_4.0_mongo_mapper.gemfile
|
96
96
|
- gemfiles/rails_4.1.gemfile
|
97
|
-
- gemfiles/rails_4.
|
97
|
+
- gemfiles/rails_4.1_mongo_mapper.gemfile
|
98
98
|
- gemfiles/rails_4.2.gemfile
|
99
|
-
- gemfiles/rails_4.
|
99
|
+
- gemfiles/rails_4.2_mongo_mapper.gemfile
|
100
|
+
- gemfiles/rails_4.2_mongoid_5.gemfile
|
100
101
|
- lib/aasm.rb
|
101
102
|
- lib/aasm/aasm.rb
|
102
103
|
- lib/aasm/base.rb
|
@@ -132,6 +133,7 @@ files:
|
|
132
133
|
- spec/models/active_record/persisted_state.rb
|
133
134
|
- spec/models/active_record/provided_and_persisted_state.rb
|
134
135
|
- spec/models/active_record/reader.rb
|
136
|
+
- spec/models/active_record/readme_job.rb
|
135
137
|
- spec/models/active_record/simple_new_dsl.rb
|
136
138
|
- spec/models/active_record/thief.rb
|
137
139
|
- spec/models/active_record/transient.rb
|
@@ -220,6 +222,7 @@ files:
|
|
220
222
|
- spec/unit/persistence/mongoid_persistence_spec.rb
|
221
223
|
- spec/unit/persistence/sequel_persistence_multiple_spec.rb
|
222
224
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
225
|
+
- spec/unit/readme_spec.rb
|
223
226
|
- spec/unit/reloading_spec.rb
|
224
227
|
- spec/unit/simple_example_spec.rb
|
225
228
|
- spec/unit/simple_multiple_example_spec.rb
|
@@ -247,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
247
250
|
version: '0'
|
248
251
|
requirements: []
|
249
252
|
rubyforge_project:
|
250
|
-
rubygems_version: 2.
|
253
|
+
rubygems_version: 2.4.5
|
251
254
|
signing_key:
|
252
255
|
specification_version: 4
|
253
256
|
summary: State machine mixin for Ruby objects
|
@@ -267,6 +270,7 @@ test_files:
|
|
267
270
|
- spec/models/active_record/persisted_state.rb
|
268
271
|
- spec/models/active_record/provided_and_persisted_state.rb
|
269
272
|
- spec/models/active_record/reader.rb
|
273
|
+
- spec/models/active_record/readme_job.rb
|
270
274
|
- spec/models/active_record/simple_new_dsl.rb
|
271
275
|
- spec/models/active_record/thief.rb
|
272
276
|
- spec/models/active_record/transient.rb
|
@@ -355,6 +359,7 @@ test_files:
|
|
355
359
|
- spec/unit/persistence/mongoid_persistence_spec.rb
|
356
360
|
- spec/unit/persistence/sequel_persistence_multiple_spec.rb
|
357
361
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
362
|
+
- spec/unit/readme_spec.rb
|
358
363
|
- spec/unit/reloading_spec.rb
|
359
364
|
- spec/unit/simple_example_spec.rb
|
360
365
|
- spec/unit/simple_multiple_example_spec.rb
|