asoules-aasm 2.0.5.2 → 2.0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. data/lib/aasm.rb +3 -0
  2. data/lib/event.rb +2 -0
  3. data/lib/version.rb +1 -1
  4. metadata +1 -1
data/lib/aasm.rb CHANGED
@@ -14,6 +14,9 @@ module AASM
14
14
  class UndefinedState < RuntimeError
15
15
  end
16
16
 
17
+ class TransitionGuarded < RuntimeError
18
+ end
19
+
17
20
  def self.included(base) #:nodoc:
18
21
  # TODO - need to ensure that a machine is being created because
19
22
  # AASM was either included or arrived at via inheritance. It
data/lib/event.rb CHANGED
@@ -23,6 +23,8 @@ module AASM
23
23
  next_state = to_state || Array(transition.to).first
24
24
  transition.execute(obj, *args)
25
25
  break
26
+ else
27
+ raise AASM::TransitionGuarded, "Event '#{name}' was guarded against transition from '#{obj.aasm_current_state}'"
26
28
  end
27
29
  end
28
30
  next_state
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module AASM
2
2
  module VERSION #:nodoc:
3
- STRING = '2.0.5.2'
3
+ STRING = '2.0.5.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asoules-aasm
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.5.2
4
+ version: 2.0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Barron