aasm 4.0.3 → 4.0.4

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.
@@ -1,64 +0,0 @@
1
- class GuardWithinBlock
2
- include AASM
3
-
4
- def initialize(options={})
5
- @fail_event_guard = options[:fail_event_guard]
6
- @fail_transition_guard = options[:fail_transition_guard]
7
- @log = options[:log]
8
- end
9
-
10
- aasm do
11
- state :open, :initial => true,
12
- :before_enter => :before_enter_open,
13
- :enter => :enter_open,
14
- :after_enter => :after_enter_open,
15
- :before_exit => :before_exit_open,
16
- :exit => :exit_open,
17
- :after_exit => :after_exit_open
18
-
19
- state :closed,
20
- :before_enter => :before_enter_closed,
21
- :enter => :enter_closed,
22
- :after_enter => :after_enter_closed,
23
- :before_exit => :before_exit_closed,
24
- :exit => :exit_closed,
25
- :after_exit => :after_exit_closed
26
-
27
- event :close, :before => :before, :after => :after, :guard => :event_guard do
28
- transitions :to => :closed, :from => [:open], :after => :transitioning do
29
- guard do
30
- transition_guard
31
- end
32
- end
33
- end
34
-
35
- event :open, :before => :before, :after => :after do
36
- transitions :to => :open, :from => :closed
37
- end
38
- end
39
-
40
- def log(text)
41
- puts text if @log
42
- end
43
-
44
- def before_enter_open; log('before_enter_open'); end
45
- def enter_open; log('enter_open'); end
46
- def before_exit_open; log('before_exit_open'); end
47
- def after_enter_open; log('after_enter_open'); end
48
- def exit_open; log('exit_open'); end
49
- def after_exit_open; log('after_exit_open'); end
50
-
51
- def before_enter_closed; log('before_enter_closed'); end
52
- def enter_closed; log('enter_closed'); end
53
- def before_exit_closed; log('before_exit_closed'); end
54
- def exit_closed; log('exit_closed'); end
55
- def after_enter_closed; log('after_enter_closed'); end
56
- def after_exit_closed; log('after_exit_closed'); end
57
-
58
- def event_guard; log('event_guard'); !@fail_event_guard; end
59
- def transition_guard; log('transition_guard'); !@fail_transition_guard; end
60
- def transitioning; log('transitioning'); end
61
-
62
- def before; log('before'); end
63
- def after; log('after'); end
64
- end