state_machine 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +7 -1
- data/Rakefile +2 -26
- data/examples/AutoShop_state.png +0 -0
- data/examples/Car_state.png +0 -0
- data/examples/TrafficLight_state.png +0 -0
- data/examples/Vehicle_state.png +0 -0
- data/lib/state_machine/integrations/active_record.rb +11 -22
- data/lib/state_machine/integrations/data_mapper.rb +4 -0
- data/lib/state_machine/integrations/sequel.rb +4 -0
- data/lib/state_machine/machine.rb +27 -9
- data/lib/state_machine/state.rb +1 -2
- data/lib/state_machine.rb +3 -0
- data/test/active_record.log +92 -12333
- data/test/sequel.log +23 -1591
- data/test/unit/integrations/active_record_test.rb +24 -7
- data/test/unit/integrations/data_mapper_test.rb +27 -7
- data/test/unit/integrations/sequel_test.rb +26 -6
- data/test/unit/state_test.rb +2 -6
- metadata +2 -2
@@ -246,20 +246,25 @@ begin
|
|
246
246
|
end
|
247
247
|
end
|
248
248
|
|
249
|
-
class
|
249
|
+
class MachineWithNonColumnStateAttributeUndefinedTest < ActiveRecord::TestCase
|
250
250
|
def setup
|
251
|
-
@model = new_model
|
251
|
+
@model = new_model do
|
252
|
+
def initialize
|
253
|
+
# Skip attribute initialization
|
254
|
+
end
|
255
|
+
end
|
256
|
+
|
252
257
|
@machine = StateMachine::Machine.new(@model, :status, :initial => :parked)
|
253
258
|
@machine.other_states(:idling)
|
254
259
|
@record = @model.new
|
255
260
|
end
|
256
261
|
|
257
|
-
def
|
258
|
-
assert
|
262
|
+
def test_should_not_define_a_reader_attribute_for_the_attribute
|
263
|
+
assert !@record.respond_to?(:status)
|
259
264
|
end
|
260
265
|
|
261
|
-
def
|
262
|
-
assert
|
266
|
+
def test_should_not_define_a_writer_attribute_for_the_attribute
|
267
|
+
assert !@record.respond_to?(:status=)
|
263
268
|
end
|
264
269
|
|
265
270
|
def test_should_define_an_attribute_predicate
|
@@ -268,10 +273,22 @@ begin
|
|
268
273
|
|
269
274
|
def test_should_raise_exception_on_predicate_without_parameters
|
270
275
|
old_verbose, $VERBOSE = $VERBOSE, nil
|
271
|
-
assert_raise(
|
276
|
+
assert_raise(NoMethodError) { @record.status? }
|
272
277
|
ensure
|
273
278
|
$VERBOSE = old_verbose
|
274
279
|
end
|
280
|
+
end
|
281
|
+
|
282
|
+
class MachineWithNonColumnStateAttributeDefinedTest < ActiveRecord::TestCase
|
283
|
+
def setup
|
284
|
+
@model = new_model do
|
285
|
+
attr_accessor :status
|
286
|
+
end
|
287
|
+
|
288
|
+
@machine = StateMachine::Machine.new(@model, :status, :initial => :parked)
|
289
|
+
@machine.other_states(:idling)
|
290
|
+
@record = @model.new
|
291
|
+
end
|
275
292
|
|
276
293
|
def test_should_return_false_for_predicate_if_does_not_match_current_value
|
277
294
|
assert !@record.status?(:idling)
|
@@ -176,19 +176,39 @@ begin
|
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
-
class
|
179
|
+
class MachineWithNonColumnStateAttributeUndefinedTest < BaseTestCase
|
180
180
|
def setup
|
181
|
-
@resource = new_resource
|
181
|
+
@resource = new_resource do
|
182
|
+
def initialize
|
183
|
+
# Skip attribute initialization
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
182
187
|
@machine = StateMachine::Machine.new(@resource, :status, :initial => 'parked')
|
183
188
|
@record = @resource.new
|
184
189
|
end
|
185
190
|
|
186
|
-
def
|
187
|
-
assert
|
191
|
+
def test_should_not_define_a_reader_attribute_for_the_attribute
|
192
|
+
assert !@record.respond_to?(:status)
|
188
193
|
end
|
189
194
|
|
190
|
-
def
|
191
|
-
assert
|
195
|
+
def test_should_not_define_a_writer_attribute_for_the_attribute
|
196
|
+
assert !@record.respond_to?(:status=)
|
197
|
+
end
|
198
|
+
|
199
|
+
def test_should_define_an_attribute_predicate
|
200
|
+
assert @record.respond_to?(:status?)
|
201
|
+
end
|
202
|
+
end
|
203
|
+
|
204
|
+
class MachineWithNonColumnStateAttributeDefinedTest < BaseTestCase
|
205
|
+
def setup
|
206
|
+
@resource = new_resource do
|
207
|
+
attr_accessor :status
|
208
|
+
end
|
209
|
+
|
210
|
+
@machine = StateMachine::Machine.new(@resource, :status, :initial => 'parked')
|
211
|
+
@record = @resource.new
|
192
212
|
end
|
193
213
|
|
194
214
|
def test_should_set_initial_state_on_created_object
|
@@ -443,5 +463,5 @@ begin
|
|
443
463
|
end
|
444
464
|
end
|
445
465
|
rescue LoadError
|
446
|
-
$stderr.puts 'Skipping DataMapper tests. `gem install dm-core rspec hoe launchy do_sqlite3` and try again.'
|
466
|
+
$stderr.puts 'Skipping DataMapper tests. `gem install dm-core cucumber rspec hoe launchy do_sqlite3` and try again.'
|
447
467
|
end
|
@@ -162,19 +162,39 @@ begin
|
|
162
162
|
end
|
163
163
|
end
|
164
164
|
|
165
|
-
class
|
165
|
+
class MachineWithNonColumnStateAttributeUndefinedTest < BaseTestCase
|
166
166
|
def setup
|
167
|
-
@model = new_model
|
167
|
+
@model = new_model do
|
168
|
+
def initialize
|
169
|
+
# Skip attribute initialization
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
168
173
|
@machine = StateMachine::Machine.new(@model, :status, :initial => 'parked')
|
169
174
|
@record = @model.new
|
170
175
|
end
|
171
176
|
|
172
|
-
def
|
173
|
-
assert
|
177
|
+
def test_should_not_define_a_reader_attribute_for_the_attribute
|
178
|
+
assert !@record.respond_to?(:status)
|
174
179
|
end
|
175
180
|
|
176
|
-
def
|
177
|
-
assert
|
181
|
+
def test_should_not_define_a_writer_attribute_for_the_attribute
|
182
|
+
assert !@record.respond_to?(:status=)
|
183
|
+
end
|
184
|
+
|
185
|
+
def test_should_define_an_attribute_predicate
|
186
|
+
assert @record.respond_to?(:status?)
|
187
|
+
end
|
188
|
+
end
|
189
|
+
|
190
|
+
class MachineWithNonColumnStateAttributeDefinedTest < BaseTestCase
|
191
|
+
def setup
|
192
|
+
@model = new_model do
|
193
|
+
attr_accessor :status
|
194
|
+
end
|
195
|
+
|
196
|
+
@machine = StateMachine::Machine.new(@model, :status, :initial => 'parked')
|
197
|
+
@record = @model.new
|
178
198
|
end
|
179
199
|
|
180
200
|
def test_should_set_initial_state_on_created_object
|
data/test/unit/state_test.rb
CHANGED
@@ -527,12 +527,8 @@ begin
|
|
527
527
|
@node = @state.draw(graph)
|
528
528
|
end
|
529
529
|
|
530
|
-
def
|
531
|
-
assert_equal '
|
532
|
-
end
|
533
|
-
|
534
|
-
def test_should_enabled_fixedsize
|
535
|
-
assert_equal 'true', @node['fixedsize']
|
530
|
+
def test_should_use_ellipse_shape
|
531
|
+
assert_equal 'ellipse', @node['shape']
|
536
532
|
end
|
537
533
|
|
538
534
|
def test_should_set_width_to_one
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: state_machine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Pfeifer
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-02-11 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|