aasm 3.3.2 → 3.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/aasm.gemspec +1 -1
- data/lib/aasm/state_machine.rb +5 -1
- data/lib/aasm/version.rb +1 -1
- data/spec/models/double_definer.rb +21 -0
- data/spec/unit/reloading_spec.rb +15 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfaa647a858b7edb82248c4eb3fc9ccc8ad25c3a
|
4
|
+
data.tar.gz: ef830c2521b024474530bce0c814763cadfd7688
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0651274c41ba3dbc905b8cab1e47a812d18e422d8c4045344c705a956246112e36e4bbb255c7107fbd03b8992504d4498b6c60c224dddd4bd6dca75372bcdeee
|
7
|
+
data.tar.gz: c5ac9cc392993b3e416578d20fcacff1ddec041e48d4aebe37425e29475b7b882ed1fd5423f89d1f030c4bed53e816000ca189adc9a9f48b97373356552ae4f7
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
* deprecated old aasm_* class methods (old-style DSL), in preparation for AASM v4.0.0
|
6
6
|
|
7
|
+
## 3.3.3
|
8
|
+
|
9
|
+
* bugfix: support reloading development environment in Rails (see [issue #148](https://github.com/aasm/aasm/issues/148))
|
10
|
+
|
7
11
|
## 3.3.2
|
8
12
|
|
9
13
|
* bugfix: avoid conflicts with `failed` and `fired` event names (see [issue #157](https://github.com/aasm/aasm/issues/157)), thanks to [@MichaelXavier](https://github.com/MichaelXavier)
|
data/aasm.gemspec
CHANGED
@@ -5,7 +5,7 @@ require "aasm/version"
|
|
5
5
|
Gem::Specification.new do |s|
|
6
6
|
s.name = "aasm"
|
7
7
|
s.version = AASM::VERSION
|
8
|
-
s.authors = ["Scott Barron", "
|
8
|
+
s.authors = ["Scott Barron", "Travis Tilley", "Thorsten Boettger"]
|
9
9
|
s.email = %q{scott@elitists.net, ttilley@gmail.com, aasm@mt7.de}
|
10
10
|
s.homepage = %q{https://github.com/aasm/aasm}
|
11
11
|
s.summary = %q{State machine mixin for Ruby objects}
|
data/lib/aasm/state_machine.rb
CHANGED
@@ -28,7 +28,11 @@ module AASM
|
|
28
28
|
|
29
29
|
def add_state(name, klass, options)
|
30
30
|
set_initial_state(name, options)
|
31
|
-
|
31
|
+
|
32
|
+
# allow reloading, extending or redefining a state
|
33
|
+
@states.delete(name) if @states.include?(name)
|
34
|
+
|
35
|
+
@states << AASM::State.new(name, klass, options)
|
32
36
|
end
|
33
37
|
|
34
38
|
private
|
data/lib/aasm/version.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
class DoubleDefiner
|
2
|
+
include AASM
|
3
|
+
|
4
|
+
aasm do
|
5
|
+
state :started
|
6
|
+
state :finished
|
7
|
+
|
8
|
+
event :finish do
|
9
|
+
transitions :from => :started, :to => :finished
|
10
|
+
end
|
11
|
+
|
12
|
+
# simulating a reload
|
13
|
+
state :finished, :enter => :do_enter
|
14
|
+
event :finish do
|
15
|
+
transitions :from => :started, :to => :finished, :on_transition => :do_on_transition
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def do_enter; end
|
20
|
+
def do_on_transition; end
|
21
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'callbacks for the new DSL' do
|
4
|
+
let(:definer) { DoubleDefiner.new }
|
5
|
+
|
6
|
+
it "allows extending states" do
|
7
|
+
expect(definer).to receive(:do_enter)
|
8
|
+
definer.finish
|
9
|
+
end
|
10
|
+
|
11
|
+
it "allows extending events" do
|
12
|
+
expect(definer).to receive(:do_on_transition)
|
13
|
+
definer.finish
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aasm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.3.
|
4
|
+
version: 3.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Barron
|
8
|
-
- Scott Petersen
|
9
8
|
- Travis Tilley
|
10
9
|
- Thorsten Boettger
|
11
10
|
autorequire:
|
12
11
|
bindir: bin
|
13
12
|
cert_chain: []
|
14
|
-
date: 2014-08-
|
13
|
+
date: 2014-08-20 00:00:00.000000000 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: rake
|
@@ -144,6 +143,7 @@ files:
|
|
144
143
|
- spec/models/bar.rb
|
145
144
|
- spec/models/callback_new_dsl.rb
|
146
145
|
- spec/models/conversation.rb
|
146
|
+
- spec/models/double_definer.rb
|
147
147
|
- spec/models/father.rb
|
148
148
|
- spec/models/foo.rb
|
149
149
|
- spec/models/guardian.rb
|
@@ -177,6 +177,7 @@ files:
|
|
177
177
|
- spec/unit/persistence/active_record_persistence_spec.rb
|
178
178
|
- spec/unit/persistence/mongoid_persistance_spec.rb
|
179
179
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
180
|
+
- spec/unit/reloading_spec.rb
|
180
181
|
- spec/unit/simple_example_spec.rb
|
181
182
|
- spec/unit/state_spec.rb
|
182
183
|
- spec/unit/subclassing_spec.rb
|
@@ -216,6 +217,7 @@ test_files:
|
|
216
217
|
- spec/models/bar.rb
|
217
218
|
- spec/models/callback_new_dsl.rb
|
218
219
|
- spec/models/conversation.rb
|
220
|
+
- spec/models/double_definer.rb
|
219
221
|
- spec/models/father.rb
|
220
222
|
- spec/models/foo.rb
|
221
223
|
- spec/models/guardian.rb
|
@@ -249,6 +251,7 @@ test_files:
|
|
249
251
|
- spec/unit/persistence/active_record_persistence_spec.rb
|
250
252
|
- spec/unit/persistence/mongoid_persistance_spec.rb
|
251
253
|
- spec/unit/persistence/sequel_persistence_spec.rb
|
254
|
+
- spec/unit/reloading_spec.rb
|
252
255
|
- spec/unit/simple_example_spec.rb
|
253
256
|
- spec/unit/state_spec.rb
|
254
257
|
- spec/unit/subclassing_spec.rb
|