verborghs-state_machine 0.9.5 → 0.9.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/state_machine/condition_proxy.rb +3 -3
  2. metadata +133 -130
@@ -66,7 +66,7 @@ module StateMachine
66
66
  end
67
67
 
68
68
  # Get any existing condition that may need to be merged
69
- wrap_condition(options)
69
+ wrap_condition(options, true)
70
70
 
71
71
  # Evaluate the method on the original class with the condition proxied
72
72
  # through
@@ -74,7 +74,7 @@ module StateMachine
74
74
  end
75
75
 
76
76
  protected
77
- def wrap_condition(options)
77
+ def wrap_condition(options, force = false)
78
78
  if_condition = options.delete(:if)
79
79
  unless_condition = options.delete(:unless)
80
80
 
@@ -93,7 +93,7 @@ module StateMachine
93
93
  proxy.evaluate_method(object, proxy_condition) &&
94
94
  Array(if_condition).all? {|condition| proxy.evaluate_method(object, condition)} &&
95
95
  !Array(unless_condition).any? {|condition| proxy.evaluate_method(object, condition)}
96
- end
96
+ end if (force || !if_condition.nil? || !unless_condition.nil? )
97
97
 
98
98
  # Needed for active record when presence => { :if => :something? }
99
99
  options.each do |key, value|
metadata CHANGED
@@ -1,15 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: verborghs-state_machine
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 55
4
5
  prerelease: false
5
6
  segments:
6
- - 0
7
- - 9
8
- - 5
9
- version: 0.9.5
7
+ - 0
8
+ - 9
9
+ - 6
10
+ version: 0.9.6
10
11
  platform: ruby
11
12
  authors:
12
- - Aaron Pfeifer
13
+ - Aaron Pfeifer
13
14
  autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
@@ -27,94 +28,94 @@ extensions: []
27
28
  extra_rdoc_files: []
28
29
 
29
30
  files:
30
- - examples/AutoShop_state.png
31
- - examples/vehicle.rb
32
- - examples/car.rb
33
- - examples/Vehicle_state.png
34
- - examples/rails-rest/view_index.html.erb
35
- - examples/rails-rest/view_new.html.erb
36
- - examples/rails-rest/view_show.html.erb
37
- - examples/rails-rest/controller.rb
38
- - examples/rails-rest/view_edit.html.erb
39
- - examples/rails-rest/model.rb
40
- - examples/rails-rest/migration.rb
41
- - examples/Car_state.png
42
- - examples/traffic_light.rb
43
- - examples/merb-rest/view_index.html.erb
44
- - examples/merb-rest/view_new.html.erb
45
- - examples/merb-rest/view_show.html.erb
46
- - examples/merb-rest/controller.rb
47
- - examples/merb-rest/view_edit.html.erb
48
- - examples/merb-rest/model.rb
49
- - examples/auto_shop.rb
50
- - examples/TrafficLight_state.png
51
- - lib/state_machine.rb
52
- - lib/tasks/state_machine.rake
53
- - lib/tasks/state_machine.rb
54
- - lib/state_machine/transition.rb
55
- - lib/state_machine/initializers/rails.rb
56
- - lib/state_machine/initializers/merb.rb
57
- - lib/state_machine/condition_proxy.rb
58
- - lib/state_machine/matcher.rb
59
- - lib/state_machine/state.rb
60
- - lib/state_machine/assertions.rb
61
- - lib/state_machine/integrations.rb
62
- - lib/state_machine/eval_helpers.rb
63
- - lib/state_machine/event_collection.rb
64
- - lib/state_machine/matcher_helpers.rb
65
- - lib/state_machine/guard.rb
66
- - lib/state_machine/event.rb
67
- - lib/state_machine/callback.rb
68
- - lib/state_machine/machine_collection.rb
69
- - lib/state_machine/machine.rb
70
- - lib/state_machine/transition_collection.rb
71
- - lib/state_machine/integrations/active_model.rb
72
- - lib/state_machine/integrations/mongo_mapper.rb
73
- - lib/state_machine/integrations/data_mapper.rb
74
- - lib/state_machine/integrations/active_record.rb
75
- - lib/state_machine/integrations/sequel.rb
76
- - lib/state_machine/integrations/active_record/locale.rb
77
- - lib/state_machine/integrations/data_mapper/observer.rb
78
- - lib/state_machine/integrations/active_model/locale.rb
79
- - lib/state_machine/integrations/active_model/observer.rb
80
- - lib/state_machine/state_collection.rb
81
- - lib/state_machine/node_collection.rb
82
- - lib/state_machine/extensions.rb
83
- - lib/state_machine/initializers.rb
84
- - test/files/en.yml
85
- - test/files/switch.rb
86
- - test/unit/callback_test.rb
87
- - test/unit/transition_test.rb
88
- - test/unit/machine_test.rb
89
- - test/unit/event_test.rb
90
- - test/unit/event_collection_test.rb
91
- - test/unit/invalid_transition_test.rb
92
- - test/unit/state_collection_test.rb
93
- - test/unit/invalid_event_test.rb
94
- - test/unit/assertions_test.rb
95
- - test/unit/integrations_test.rb
96
- - test/unit/transition_collection_test.rb
97
- - test/unit/guard_test.rb
98
- - test/unit/eval_helpers_test.rb
99
- - test/unit/integrations/mongo_mapper_test.rb
100
- - test/unit/integrations/data_mapper_test.rb
101
- - test/unit/integrations/sequel_test.rb
102
- - test/unit/integrations/active_model_test.rb
103
- - test/unit/integrations/active_record_test.rb
104
- - test/unit/matcher_test.rb
105
- - test/unit/node_collection_test.rb
106
- - test/unit/matcher_helpers_test.rb
107
- - test/unit/state_test.rb
108
- - test/unit/machine_collection_test.rb
109
- - test/unit/state_machine_test.rb
110
- - test/unit/condition_proxy_test.rb
111
- - test/functional/state_machine_test.rb
112
- - test/test_helper.rb
113
- - CHANGELOG.rdoc
114
- - init.rb
115
- - LICENSE
116
- - Rakefile
117
- - README.rdoc
31
+ - examples/AutoShop_state.png
32
+ - examples/vehicle.rb
33
+ - examples/car.rb
34
+ - examples/Vehicle_state.png
35
+ - examples/rails-rest/view_index.html.erb
36
+ - examples/rails-rest/view_new.html.erb
37
+ - examples/rails-rest/view_show.html.erb
38
+ - examples/rails-rest/controller.rb
39
+ - examples/rails-rest/view_edit.html.erb
40
+ - examples/rails-rest/model.rb
41
+ - examples/rails-rest/migration.rb
42
+ - examples/Car_state.png
43
+ - examples/traffic_light.rb
44
+ - examples/merb-rest/view_index.html.erb
45
+ - examples/merb-rest/view_new.html.erb
46
+ - examples/merb-rest/view_show.html.erb
47
+ - examples/merb-rest/controller.rb
48
+ - examples/merb-rest/view_edit.html.erb
49
+ - examples/merb-rest/model.rb
50
+ - examples/auto_shop.rb
51
+ - examples/TrafficLight_state.png
52
+ - lib/state_machine.rb
53
+ - lib/tasks/state_machine.rake
54
+ - lib/tasks/state_machine.rb
55
+ - lib/state_machine/transition.rb
56
+ - lib/state_machine/initializers/rails.rb
57
+ - lib/state_machine/initializers/merb.rb
58
+ - lib/state_machine/condition_proxy.rb
59
+ - lib/state_machine/matcher.rb
60
+ - lib/state_machine/state.rb
61
+ - lib/state_machine/assertions.rb
62
+ - lib/state_machine/integrations.rb
63
+ - lib/state_machine/eval_helpers.rb
64
+ - lib/state_machine/event_collection.rb
65
+ - lib/state_machine/matcher_helpers.rb
66
+ - lib/state_machine/guard.rb
67
+ - lib/state_machine/event.rb
68
+ - lib/state_machine/callback.rb
69
+ - lib/state_machine/machine_collection.rb
70
+ - lib/state_machine/machine.rb
71
+ - lib/state_machine/transition_collection.rb
72
+ - lib/state_machine/integrations/active_model.rb
73
+ - lib/state_machine/integrations/mongo_mapper.rb
74
+ - lib/state_machine/integrations/data_mapper.rb
75
+ - lib/state_machine/integrations/active_record.rb
76
+ - lib/state_machine/integrations/sequel.rb
77
+ - lib/state_machine/integrations/active_record/locale.rb
78
+ - lib/state_machine/integrations/data_mapper/observer.rb
79
+ - lib/state_machine/integrations/active_model/locale.rb
80
+ - lib/state_machine/integrations/active_model/observer.rb
81
+ - lib/state_machine/state_collection.rb
82
+ - lib/state_machine/node_collection.rb
83
+ - lib/state_machine/extensions.rb
84
+ - lib/state_machine/initializers.rb
85
+ - test/files/en.yml
86
+ - test/files/switch.rb
87
+ - test/unit/callback_test.rb
88
+ - test/unit/transition_test.rb
89
+ - test/unit/machine_test.rb
90
+ - test/unit/event_test.rb
91
+ - test/unit/event_collection_test.rb
92
+ - test/unit/invalid_transition_test.rb
93
+ - test/unit/state_collection_test.rb
94
+ - test/unit/invalid_event_test.rb
95
+ - test/unit/assertions_test.rb
96
+ - test/unit/integrations_test.rb
97
+ - test/unit/transition_collection_test.rb
98
+ - test/unit/guard_test.rb
99
+ - test/unit/eval_helpers_test.rb
100
+ - test/unit/integrations/mongo_mapper_test.rb
101
+ - test/unit/integrations/data_mapper_test.rb
102
+ - test/unit/integrations/sequel_test.rb
103
+ - test/unit/integrations/active_model_test.rb
104
+ - test/unit/integrations/active_record_test.rb
105
+ - test/unit/matcher_test.rb
106
+ - test/unit/node_collection_test.rb
107
+ - test/unit/matcher_helpers_test.rb
108
+ - test/unit/state_test.rb
109
+ - test/unit/machine_collection_test.rb
110
+ - test/unit/state_machine_test.rb
111
+ - test/unit/condition_proxy_test.rb
112
+ - test/functional/state_machine_test.rb
113
+ - test/test_helper.rb
114
+ - CHANGELOG.rdoc
115
+ - init.rb
116
+ - LICENSE
117
+ - Rakefile
118
+ - README.rdoc
118
119
  has_rdoc: true
119
120
  homepage: http://www.pluginaweek.org
120
121
  licenses: []
@@ -123,23 +124,25 @@ post_install_message:
123
124
  rdoc_options: []
124
125
 
125
126
  require_paths:
126
- - lib
127
+ - lib
127
128
  required_ruby_version: !ruby/object:Gem::Requirement
128
129
  none: false
129
130
  requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- segments:
133
- - 0
134
- version: "0"
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ hash: 3
134
+ segments:
135
+ - 0
136
+ version: "0"
135
137
  required_rubygems_version: !ruby/object:Gem::Requirement
136
138
  none: false
137
139
  requirements:
138
- - - ">="
139
- - !ruby/object:Gem::Version
140
- segments:
141
- - 0
142
- version: "0"
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ hash: 3
143
+ segments:
144
+ - 0
145
+ version: "0"
143
146
  requirements: []
144
147
 
145
148
  rubyforge_project: pluginaweek
@@ -148,29 +151,29 @@ signing_key:
148
151
  specification_version: 3
149
152
  summary: Adds support for creating state machines for attributes on any Ruby class
150
153
  test_files:
151
- - test/unit/callback_test.rb
152
- - test/unit/transition_test.rb
153
- - test/unit/machine_test.rb
154
- - test/unit/event_test.rb
155
- - test/unit/event_collection_test.rb
156
- - test/unit/invalid_transition_test.rb
157
- - test/unit/state_collection_test.rb
158
- - test/unit/invalid_event_test.rb
159
- - test/unit/assertions_test.rb
160
- - test/unit/integrations_test.rb
161
- - test/unit/transition_collection_test.rb
162
- - test/unit/guard_test.rb
163
- - test/unit/eval_helpers_test.rb
164
- - test/unit/integrations/mongo_mapper_test.rb
165
- - test/unit/integrations/data_mapper_test.rb
166
- - test/unit/integrations/sequel_test.rb
167
- - test/unit/integrations/active_model_test.rb
168
- - test/unit/integrations/active_record_test.rb
169
- - test/unit/matcher_test.rb
170
- - test/unit/node_collection_test.rb
171
- - test/unit/matcher_helpers_test.rb
172
- - test/unit/state_test.rb
173
- - test/unit/machine_collection_test.rb
174
- - test/unit/state_machine_test.rb
175
- - test/unit/condition_proxy_test.rb
176
- - test/functional/state_machine_test.rb
154
+ - test/unit/callback_test.rb
155
+ - test/unit/transition_test.rb
156
+ - test/unit/machine_test.rb
157
+ - test/unit/event_test.rb
158
+ - test/unit/event_collection_test.rb
159
+ - test/unit/invalid_transition_test.rb
160
+ - test/unit/state_collection_test.rb
161
+ - test/unit/invalid_event_test.rb
162
+ - test/unit/assertions_test.rb
163
+ - test/unit/integrations_test.rb
164
+ - test/unit/transition_collection_test.rb
165
+ - test/unit/guard_test.rb
166
+ - test/unit/eval_helpers_test.rb
167
+ - test/unit/integrations/mongo_mapper_test.rb
168
+ - test/unit/integrations/data_mapper_test.rb
169
+ - test/unit/integrations/sequel_test.rb
170
+ - test/unit/integrations/active_model_test.rb
171
+ - test/unit/integrations/active_record_test.rb
172
+ - test/unit/matcher_test.rb
173
+ - test/unit/node_collection_test.rb
174
+ - test/unit/matcher_helpers_test.rb
175
+ - test/unit/state_test.rb
176
+ - test/unit/machine_collection_test.rb
177
+ - test/unit/state_machine_test.rb
178
+ - test/unit/condition_proxy_test.rb
179
+ - test/functional/state_machine_test.rb