state_machine 0.9.4 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. data/CHANGELOG.rdoc +20 -0
  2. data/LICENSE +1 -1
  3. data/README.rdoc +74 -4
  4. data/Rakefile +3 -3
  5. data/lib/state_machine.rb +51 -24
  6. data/lib/state_machine/{guard.rb → branch.rb} +34 -40
  7. data/lib/state_machine/callback.rb +13 -18
  8. data/lib/state_machine/error.rb +13 -0
  9. data/lib/state_machine/eval_helpers.rb +3 -0
  10. data/lib/state_machine/event.rb +67 -30
  11. data/lib/state_machine/event_collection.rb +20 -3
  12. data/lib/state_machine/extensions.rb +3 -3
  13. data/lib/state_machine/integrations.rb +7 -0
  14. data/lib/state_machine/integrations/active_model.rb +149 -59
  15. data/lib/state_machine/integrations/active_model/versions.rb +30 -0
  16. data/lib/state_machine/integrations/active_record.rb +74 -148
  17. data/lib/state_machine/integrations/active_record/locale.rb +0 -7
  18. data/lib/state_machine/integrations/active_record/versions.rb +149 -0
  19. data/lib/state_machine/integrations/base.rb +64 -0
  20. data/lib/state_machine/integrations/data_mapper.rb +50 -39
  21. data/lib/state_machine/integrations/data_mapper/observer.rb +47 -12
  22. data/lib/state_machine/integrations/data_mapper/versions.rb +62 -0
  23. data/lib/state_machine/integrations/mongo_mapper.rb +37 -64
  24. data/lib/state_machine/integrations/mongo_mapper/locale.rb +4 -0
  25. data/lib/state_machine/integrations/mongo_mapper/versions.rb +102 -0
  26. data/lib/state_machine/integrations/mongoid.rb +297 -0
  27. data/lib/state_machine/integrations/mongoid/locale.rb +4 -0
  28. data/lib/state_machine/integrations/mongoid/versions.rb +18 -0
  29. data/lib/state_machine/integrations/sequel.rb +99 -55
  30. data/lib/state_machine/integrations/sequel/versions.rb +40 -0
  31. data/lib/state_machine/machine.rb +273 -136
  32. data/lib/state_machine/machine_collection.rb +21 -13
  33. data/lib/state_machine/node_collection.rb +6 -1
  34. data/lib/state_machine/path.rb +120 -0
  35. data/lib/state_machine/path_collection.rb +90 -0
  36. data/lib/state_machine/state.rb +28 -9
  37. data/lib/state_machine/state_collection.rb +1 -1
  38. data/lib/state_machine/transition.rb +65 -6
  39. data/lib/state_machine/transition_collection.rb +1 -1
  40. data/test/files/en.yml +8 -0
  41. data/test/functional/state_machine_test.rb +15 -2
  42. data/test/unit/branch_test.rb +890 -0
  43. data/test/unit/callback_test.rb +9 -36
  44. data/test/unit/error_test.rb +43 -0
  45. data/test/unit/event_collection_test.rb +67 -33
  46. data/test/unit/event_test.rb +165 -38
  47. data/test/unit/integrations/active_model_test.rb +103 -3
  48. data/test/unit/integrations/active_record_test.rb +90 -43
  49. data/test/unit/integrations/base_test.rb +87 -0
  50. data/test/unit/integrations/data_mapper_test.rb +105 -44
  51. data/test/unit/integrations/mongo_mapper_test.rb +261 -64
  52. data/test/unit/integrations/mongoid_test.rb +1529 -0
  53. data/test/unit/integrations/sequel_test.rb +33 -49
  54. data/test/unit/integrations_test.rb +4 -0
  55. data/test/unit/invalid_event_test.rb +15 -2
  56. data/test/unit/invalid_parallel_transition_test.rb +18 -0
  57. data/test/unit/invalid_transition_test.rb +72 -2
  58. data/test/unit/machine_collection_test.rb +55 -61
  59. data/test/unit/machine_test.rb +388 -26
  60. data/test/unit/node_collection_test.rb +14 -4
  61. data/test/unit/path_collection_test.rb +266 -0
  62. data/test/unit/path_test.rb +485 -0
  63. data/test/unit/state_collection_test.rb +30 -0
  64. data/test/unit/state_test.rb +82 -35
  65. data/test/unit/transition_collection_test.rb +48 -44
  66. data/test/unit/transition_test.rb +198 -41
  67. metadata +111 -74
  68. data/test/unit/guard_test.rb +0 -909
@@ -589,24 +589,12 @@ class TransitionWithAfterCallbacksTest < Test::Unit::TestCase
589
589
  assert !@run
590
590
  end
591
591
 
592
- def test_should_run_if_not_successful_and_includes_failures
593
- @machine.after_transition(:include_failures => true) {|object| @run = true}
594
- @transition.run_callbacks {{:success => false}}
595
- assert @run
596
- end
597
-
598
592
  def test_should_run_if_successful
599
593
  @machine.after_transition {|object| @run = true}
600
594
  @transition.run_callbacks {{:success => true}}
601
595
  assert @run
602
596
  end
603
597
 
604
- def test_should_run_if_successful_and_includes_failures
605
- @machine.after_transition(:include_failures => true) {|object| @run = true}
606
- @transition.run_callbacks {{:success => true}}
607
- assert @run
608
- end
609
-
610
598
  def test_should_pass_transition_as_argument
611
599
  @machine.after_transition {|*args| @args = args}
612
600
 
@@ -826,13 +814,6 @@ class TransitionWithAroundCallbacksTest < Test::Unit::TestCase
826
814
  assert !@after_run
827
815
  end
828
816
 
829
- def test_should_succeed_if_including_failure_and_block_success_is_false
830
- @machine.around_transition(:include_failures => true) {|block| @before_run = true; block.call; @after_run = true}
831
- assert_equal true, @transition.run_callbacks {{:success => false}}
832
- assert @before_run
833
- assert @after_run
834
- end
835
-
836
817
  def test_should_succeed_if_block_success_is_false
837
818
  @machine.around_transition {|block| @before_run = true; block.call; @after_run = true}
838
819
  assert_equal true, @transition.run_callbacks {{:success => true}}
@@ -954,6 +935,128 @@ class TransitionWithMultipleAroundCallbacksTest < Test::Unit::TestCase
954
935
  end
955
936
  end
956
937
 
938
+ class TransitionWithFailureCallbacksTest < Test::Unit::TestCase
939
+ def setup
940
+ @klass = Class.new
941
+
942
+ @machine = StateMachine::Machine.new(@klass)
943
+ @machine.state :parked, :idling
944
+ @machine.event :ignite
945
+
946
+ @object = @klass.new
947
+ @object.state = 'parked'
948
+ @transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
949
+ end
950
+
951
+ def test_should_only_run_those_that_match_transition_context
952
+ @count = 0
953
+ callback = lambda {@count += 1}
954
+
955
+ @machine.after_failure :do => callback
956
+ @machine.after_failure :on => :park, :do => callback
957
+ @machine.after_failure :on => :ignite, :do => callback
958
+ @transition.run_callbacks {{:success => false}}
959
+
960
+ assert_equal 2, @count
961
+ end
962
+
963
+ def test_should_run_if_not_successful
964
+ @machine.after_failure {|object| @run = true}
965
+ @transition.run_callbacks {{:success => false}}
966
+ assert @run
967
+ end
968
+
969
+ def test_should_not_run_if_successful
970
+ @machine.after_failure {|object| @run = true}
971
+ @transition.run_callbacks {{:success => true}}
972
+ assert !@run
973
+ end
974
+
975
+ def test_should_pass_transition_as_argument
976
+ @machine.after_failure {|*args| @args = args}
977
+
978
+ @transition.run_callbacks {{:success => false}}
979
+ assert_equal [@object, @transition], @args
980
+ end
981
+
982
+ def test_should_catch_halts
983
+ @machine.after_failure {throw :halt}
984
+
985
+ result = nil
986
+ assert_nothing_thrown { result = @transition.run_callbacks {{:success => false}} }
987
+ assert_equal true, result
988
+ end
989
+
990
+ def test_should_not_catch_exceptions
991
+ @machine.after_failure {raise ArgumentError}
992
+ assert_raise(ArgumentError) { @transition.run_callbacks {{:success => false}} }
993
+ end
994
+
995
+ def test_should_not_be_able_to_run_twice
996
+ @count = 0
997
+ @machine.after_failure {@count += 1}
998
+ @transition.run_callbacks {{:success => false}}
999
+ @transition.run_callbacks {{:success => false}}
1000
+ assert_equal 1, @count
1001
+ end
1002
+
1003
+ def test_should_not_be_able_to_run_twice_if_halted
1004
+ @count = 0
1005
+ @machine.after_failure {@count += 1; throw :halt}
1006
+ @transition.run_callbacks {{:success => false}}
1007
+ @transition.run_callbacks {{:success => false}}
1008
+ assert_equal 1, @count
1009
+ end
1010
+
1011
+ def test_should_be_able_to_run_again_after_resetting
1012
+ @count = 0
1013
+ @machine.after_failure {@count += 1}
1014
+ @transition.run_callbacks {{:success => false}}
1015
+ @transition.reset
1016
+ @transition.run_callbacks {{:success => false}}
1017
+ assert_equal 2, @count
1018
+ end
1019
+ end
1020
+
1021
+ class TransitionWithMultipleFailureCallbacksTest < Test::Unit::TestCase
1022
+ def setup
1023
+ @klass = Class.new
1024
+
1025
+ @machine = StateMachine::Machine.new(@klass)
1026
+ @machine.state :parked, :idling
1027
+ @machine.event :ignite
1028
+
1029
+ @object = @klass.new
1030
+ @object.state = 'parked'
1031
+ @transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
1032
+ end
1033
+
1034
+ def test_should_run_in_the_order_they_were_defined
1035
+ @callbacks = []
1036
+ @machine.after_failure {@callbacks << 1}
1037
+ @machine.after_failure {@callbacks << 2}
1038
+ @transition.run_callbacks {{:success => false}}
1039
+
1040
+ assert_equal [1, 2], @callbacks
1041
+ end
1042
+
1043
+ def test_should_not_run_further_callbacks_if_halted
1044
+ @callbacks = []
1045
+ @machine.after_failure {@callbacks << 1; throw :halt}
1046
+ @machine.after_failure {@callbacks << 2}
1047
+
1048
+ assert_equal true, @transition.run_callbacks {{:success => false}}
1049
+ assert_equal [1], @callbacks
1050
+ end
1051
+
1052
+ def test_should_fail_if_any_callback_halted
1053
+ @machine.after_failure {true}
1054
+ @machine.after_failure {throw :halt}
1055
+
1056
+ assert_equal true, @transition.run_callbacks {{:success => false}}
1057
+ end
1058
+ end
1059
+
957
1060
  class TransitionWithMixedCallbacksTest < Test::Unit::TestCase
958
1061
  def setup
959
1062
  @klass = Class.new
@@ -1056,16 +1159,33 @@ class TransitionWithMixedCallbacksTest < Test::Unit::TestCase
1056
1159
  assert_equal true, @transition.run_callbacks
1057
1160
  assert_equal [:before_1, :before_around_1, :before_2, :before_around_2, :after_around_2, :after_around_1, :after_1], @callbacks
1058
1161
  end
1162
+ end
1163
+
1164
+ class TransitionWithBeforeCallbacksSkippedTest < Test::Unit::TestCase
1165
+ def setup
1166
+ @klass = Class.new
1167
+
1168
+ @machine = StateMachine::Machine.new(@klass)
1169
+ @machine.state :parked, :idling
1170
+ @machine.event :ignite
1171
+
1172
+ @object = @klass.new
1173
+ @object.state = 'parked'
1174
+ @transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
1175
+ end
1059
1176
 
1060
- def test_should_run_any_callbacks_that_include_failures_if_block_success_is_false
1061
- @callbacks = []
1062
- @machine.around_transition {|block| block.call; @callbacks << :after_around_1}
1063
- @machine.around_transition(:include_failures => true) {|block| block.call; @callbacks << :after_around_2}
1064
- @machine.after_transition {@callbacks << :after_1}
1065
- @machine.after_transition(:include_failures => true) {@callbacks << :after_2}
1177
+ def test_should_not_run_before_callbacks
1178
+ @machine.before_transition {@run = true}
1066
1179
 
1067
- assert_equal true, @transition.run_callbacks {{:success => false}}
1068
- assert_equal [:after_around_2, :after_2], @callbacks
1180
+ assert_equal false, @transition.run_callbacks(:before => false)
1181
+ assert !@run
1182
+ end
1183
+
1184
+ def test_should_run_failure_callbacks
1185
+ @machine.after_failure {@run = true}
1186
+
1187
+ assert_equal false, @transition.run_callbacks(:before => false)
1188
+ assert @run
1069
1189
  end
1070
1190
  end
1071
1191
 
@@ -1110,20 +1230,6 @@ class TransitionWithAfterCallbacksSkippedTest < Test::Unit::TestCase
1110
1230
  assert !@run
1111
1231
  end
1112
1232
 
1113
- def test_should_run_after_callbacks_that_include_failures_if_block_success_is_false
1114
- @machine.after_transition(:include_failures => true) {@run = true}
1115
-
1116
- assert_equal true, @transition.run_callbacks(:after => false) {{:success => false}}
1117
- assert @run
1118
- end
1119
-
1120
- def test_should_run_around_callbacks_that_include_failures_if_block_success_is_false
1121
- @machine.around_transition(:include_failures => true) {|block| block.call; @run = true}
1122
-
1123
- assert_equal true, @transition.run_callbacks(:after => false) {{:success => false}}
1124
- assert @run
1125
- end
1126
-
1127
1233
  def test_should_continue_around_transition_execution_on_second_call
1128
1234
  @callbacks = []
1129
1235
  @machine.around_transition {|block| @callbacks << :before_around_1; block.call; @callbacks << :after_around_1}
@@ -1382,3 +1488,54 @@ class TransitionTransientTest < Test::Unit::TestCase
1382
1488
  assert @transition.transient?
1383
1489
  end
1384
1490
  end
1491
+
1492
+ class TransitionEqualityTest < Test::Unit::TestCase
1493
+ def setup
1494
+ @klass = Class.new
1495
+
1496
+ @machine = StateMachine::Machine.new(@klass)
1497
+ @machine.state :parked, :idling
1498
+ @machine.event :ignite
1499
+
1500
+ @object = @klass.new
1501
+ @object.state = 'parked'
1502
+ @transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
1503
+ end
1504
+
1505
+ def test_should_be_equal_with_same_properties
1506
+ transition = StateMachine::Transition.new(@object, @machine, :ignite, :parked, :idling)
1507
+ assert_equal transition, @transition
1508
+ end
1509
+
1510
+ def test_should_not_be_equal_with_different_machines
1511
+ machine = StateMachine::Machine.new(@klass, :namespace => :other)
1512
+ machine.state :parked, :idling
1513
+ machine.event :ignite
1514
+ transition = StateMachine::Transition.new(@object, machine, :ignite, :parked, :idling)
1515
+
1516
+ assert_not_equal transition, @transition
1517
+ end
1518
+
1519
+ def test_should_not_be_equal_with_different_objects
1520
+ transition = StateMachine::Transition.new(@klass.new, @machine, :ignite, :parked, :idling)
1521
+ assert_not_equal transition, @transition
1522
+ end
1523
+
1524
+ def test_should_not_be_equal_with_different_event_names
1525
+ @machine.event :park
1526
+ transition = StateMachine::Transition.new(@object, @machine, :park, :parked, :idling)
1527
+ assert_not_equal transition, @transition
1528
+ end
1529
+
1530
+ def test_should_not_be_equal_with_different_from_state_names
1531
+ @machine.state :first_gear
1532
+ transition = StateMachine::Transition.new(@object, @machine, :ignite, :first_gear, :idling)
1533
+ assert_not_equal transition, @transition
1534
+ end
1535
+
1536
+ def test_should_not_be_equal_with_different_to_state_names
1537
+ @machine.state :first_gear
1538
+ transition = StateMachine::Transition.new(@object, @machine, :ignite, :idling, :first_gear)
1539
+ assert_not_equal transition, @transition
1540
+ end
1541
+ end
metadata CHANGED
@@ -1,7 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: state_machine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.4
4
+ hash: 55
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 10
9
+ - 0
10
+ version: 0.10.0
5
11
  platform: ruby
6
12
  authors:
7
13
  - Aaron Pfeifer
@@ -9,7 +15,7 @@ autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2010-08-01 00:00:00 -04:00
18
+ date: 2011-03-19 00:00:00 -04:00
13
19
  default_executable:
14
20
  dependencies: []
15
21
 
@@ -22,88 +28,107 @@ extensions: []
22
28
  extra_rdoc_files: []
23
29
 
24
30
  files:
25
- - examples/AutoShop_state.png
26
- - examples/vehicle.rb
27
- - examples/car.rb
28
- - examples/Vehicle_state.png
29
- - examples/rails-rest/view_index.html.erb
31
+ - examples/rails-rest/view_edit.html.erb
30
32
  - examples/rails-rest/view_new.html.erb
31
33
  - examples/rails-rest/view_show.html.erb
32
- - examples/rails-rest/controller.rb
33
- - examples/rails-rest/view_edit.html.erb
34
34
  - examples/rails-rest/model.rb
35
35
  - examples/rails-rest/migration.rb
36
- - examples/Car_state.png
36
+ - examples/rails-rest/view_index.html.erb
37
+ - examples/rails-rest/controller.rb
38
+ - examples/TrafficLight_state.png
37
39
  - examples/traffic_light.rb
38
- - examples/merb-rest/view_index.html.erb
40
+ - examples/AutoShop_state.png
41
+ - examples/Vehicle_state.png
42
+ - examples/auto_shop.rb
43
+ - examples/vehicle.rb
44
+ - examples/merb-rest/view_edit.html.erb
39
45
  - examples/merb-rest/view_new.html.erb
40
46
  - examples/merb-rest/view_show.html.erb
41
- - examples/merb-rest/controller.rb
42
- - examples/merb-rest/view_edit.html.erb
43
47
  - examples/merb-rest/model.rb
44
- - examples/auto_shop.rb
45
- - examples/TrafficLight_state.png
46
- - lib/state_machine.rb
47
- - lib/tasks/state_machine.rake
48
- - lib/tasks/state_machine.rb
49
- - lib/state_machine/transition.rb
50
- - lib/state_machine/initializers/rails.rb
51
- - lib/state_machine/initializers/merb.rb
52
- - lib/state_machine/condition_proxy.rb
53
- - lib/state_machine/matcher.rb
54
- - lib/state_machine/state.rb
55
- - lib/state_machine/assertions.rb
56
- - lib/state_machine/integrations.rb
57
- - lib/state_machine/eval_helpers.rb
58
- - lib/state_machine/event_collection.rb
59
- - lib/state_machine/matcher_helpers.rb
60
- - lib/state_machine/guard.rb
61
- - lib/state_machine/event.rb
48
+ - examples/merb-rest/view_index.html.erb
49
+ - examples/merb-rest/controller.rb
50
+ - examples/Car_state.png
51
+ - examples/car.rb
62
52
  - lib/state_machine/callback.rb
53
+ - lib/state_machine/condition_proxy.rb
54
+ - lib/state_machine/error.rb
63
55
  - lib/state_machine/machine_collection.rb
64
- - lib/state_machine/machine.rb
65
- - lib/state_machine/transition_collection.rb
56
+ - lib/state_machine/integrations/sequel/versions.rb
57
+ - lib/state_machine/integrations/base.rb
58
+ - lib/state_machine/integrations/sequel.rb
66
59
  - lib/state_machine/integrations/active_model.rb
60
+ - lib/state_machine/integrations/data_mapper/observer.rb
61
+ - lib/state_machine/integrations/data_mapper/versions.rb
67
62
  - lib/state_machine/integrations/mongo_mapper.rb
68
- - lib/state_machine/integrations/data_mapper.rb
69
- - lib/state_machine/integrations/active_record.rb
70
- - lib/state_machine/integrations/sequel.rb
71
63
  - lib/state_machine/integrations/active_record/locale.rb
72
- - lib/state_machine/integrations/data_mapper/observer.rb
64
+ - lib/state_machine/integrations/active_record/versions.rb
65
+ - lib/state_machine/integrations/mongo_mapper/locale.rb
66
+ - lib/state_machine/integrations/mongo_mapper/versions.rb
67
+ - lib/state_machine/integrations/data_mapper.rb
68
+ - lib/state_machine/integrations/mongoid.rb
73
69
  - lib/state_machine/integrations/active_model/locale.rb
74
70
  - lib/state_machine/integrations/active_model/observer.rb
71
+ - lib/state_machine/integrations/active_model/versions.rb
72
+ - lib/state_machine/integrations/mongoid/locale.rb
73
+ - lib/state_machine/integrations/mongoid/versions.rb
74
+ - lib/state_machine/integrations/active_record.rb
75
+ - lib/state_machine/integrations.rb
76
+ - lib/state_machine/path_collection.rb
75
77
  - lib/state_machine/state_collection.rb
76
- - lib/state_machine/node_collection.rb
78
+ - lib/state_machine/matcher.rb
79
+ - lib/state_machine/machine.rb
80
+ - lib/state_machine/branch.rb
81
+ - lib/state_machine/event_collection.rb
82
+ - lib/state_machine/eval_helpers.rb
83
+ - lib/state_machine/path.rb
77
84
  - lib/state_machine/extensions.rb
85
+ - lib/state_machine/initializers/merb.rb
86
+ - lib/state_machine/initializers/rails.rb
78
87
  - lib/state_machine/initializers.rb
79
- - test/files/en.yml
88
+ - lib/state_machine/node_collection.rb
89
+ - lib/state_machine/assertions.rb
90
+ - lib/state_machine/event.rb
91
+ - lib/state_machine/state.rb
92
+ - lib/state_machine/matcher_helpers.rb
93
+ - lib/state_machine/transition.rb
94
+ - lib/state_machine/transition_collection.rb
95
+ - lib/tasks/state_machine.rake
96
+ - lib/tasks/state_machine.rb
97
+ - lib/state_machine.rb
98
+ - test/functional/state_machine_test.rb
80
99
  - test/files/switch.rb
81
- - test/unit/callback_test.rb
82
- - test/unit/transition_test.rb
100
+ - test/files/en.yml
83
101
  - test/unit/machine_test.rb
84
- - test/unit/event_test.rb
85
- - test/unit/event_collection_test.rb
86
- - test/unit/invalid_transition_test.rb
87
- - test/unit/state_collection_test.rb
88
- - test/unit/invalid_event_test.rb
102
+ - test/unit/transition_test.rb
103
+ - test/unit/matcher_helpers_test.rb
104
+ - test/unit/invalid_parallel_transition_test.rb
105
+ - test/unit/state_test.rb
106
+ - test/unit/path_collection_test.rb
107
+ - test/unit/node_collection_test.rb
89
108
  - test/unit/assertions_test.rb
90
- - test/unit/integrations_test.rb
91
- - test/unit/transition_collection_test.rb
92
- - test/unit/guard_test.rb
109
+ - test/unit/state_machine_test.rb
110
+ - test/unit/invalid_event_test.rb
111
+ - test/unit/branch_test.rb
112
+ - test/unit/event_test.rb
113
+ - test/unit/callback_test.rb
93
114
  - test/unit/eval_helpers_test.rb
94
115
  - test/unit/integrations/mongo_mapper_test.rb
95
116
  - test/unit/integrations/data_mapper_test.rb
96
- - test/unit/integrations/sequel_test.rb
97
117
  - test/unit/integrations/active_model_test.rb
98
118
  - test/unit/integrations/active_record_test.rb
119
+ - test/unit/integrations/sequel_test.rb
120
+ - test/unit/integrations/base_test.rb
121
+ - test/unit/integrations/mongoid_test.rb
122
+ - test/unit/error_test.rb
123
+ - test/unit/state_collection_test.rb
124
+ - test/unit/invalid_transition_test.rb
125
+ - test/unit/integrations_test.rb
126
+ - test/unit/transition_collection_test.rb
99
127
  - test/unit/matcher_test.rb
100
- - test/unit/node_collection_test.rb
101
- - test/unit/matcher_helpers_test.rb
102
- - test/unit/state_test.rb
103
128
  - test/unit/machine_collection_test.rb
104
- - test/unit/state_machine_test.rb
129
+ - test/unit/event_collection_test.rb
130
+ - test/unit/path_test.rb
105
131
  - test/unit/condition_proxy_test.rb
106
- - test/functional/state_machine_test.rb
107
132
  - test/test_helper.rb
108
133
  - CHANGELOG.rdoc
109
134
  - init.rb
@@ -120,48 +145,60 @@ rdoc_options: []
120
145
  require_paths:
121
146
  - lib
122
147
  required_ruby_version: !ruby/object:Gem::Requirement
148
+ none: false
123
149
  requirements:
124
150
  - - ">="
125
151
  - !ruby/object:Gem::Version
152
+ hash: 3
153
+ segments:
154
+ - 0
126
155
  version: "0"
127
- version:
128
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
+ none: false
129
158
  requirements:
130
159
  - - ">="
131
160
  - !ruby/object:Gem::Version
161
+ hash: 3
162
+ segments:
163
+ - 0
132
164
  version: "0"
133
- version:
134
165
  requirements: []
135
166
 
136
167
  rubyforge_project: pluginaweek
137
- rubygems_version: 1.3.5
168
+ rubygems_version: 1.3.7
138
169
  signing_key:
139
170
  specification_version: 3
140
171
  summary: Adds support for creating state machines for attributes on any Ruby class
141
172
  test_files:
142
- - test/unit/callback_test.rb
143
- - test/unit/transition_test.rb
173
+ - test/functional/state_machine_test.rb
144
174
  - test/unit/machine_test.rb
145
- - test/unit/event_test.rb
146
- - test/unit/event_collection_test.rb
147
- - test/unit/invalid_transition_test.rb
148
- - test/unit/state_collection_test.rb
149
- - test/unit/invalid_event_test.rb
175
+ - test/unit/transition_test.rb
176
+ - test/unit/matcher_helpers_test.rb
177
+ - test/unit/invalid_parallel_transition_test.rb
178
+ - test/unit/state_test.rb
179
+ - test/unit/path_collection_test.rb
180
+ - test/unit/node_collection_test.rb
150
181
  - test/unit/assertions_test.rb
151
- - test/unit/integrations_test.rb
152
- - test/unit/transition_collection_test.rb
153
- - test/unit/guard_test.rb
182
+ - test/unit/state_machine_test.rb
183
+ - test/unit/invalid_event_test.rb
184
+ - test/unit/branch_test.rb
185
+ - test/unit/event_test.rb
186
+ - test/unit/callback_test.rb
154
187
  - test/unit/eval_helpers_test.rb
155
188
  - test/unit/integrations/mongo_mapper_test.rb
156
189
  - test/unit/integrations/data_mapper_test.rb
157
- - test/unit/integrations/sequel_test.rb
158
190
  - test/unit/integrations/active_model_test.rb
159
191
  - test/unit/integrations/active_record_test.rb
192
+ - test/unit/integrations/sequel_test.rb
193
+ - test/unit/integrations/base_test.rb
194
+ - test/unit/integrations/mongoid_test.rb
195
+ - test/unit/error_test.rb
196
+ - test/unit/state_collection_test.rb
197
+ - test/unit/invalid_transition_test.rb
198
+ - test/unit/integrations_test.rb
199
+ - test/unit/transition_collection_test.rb
160
200
  - test/unit/matcher_test.rb
161
- - test/unit/node_collection_test.rb
162
- - test/unit/matcher_helpers_test.rb
163
- - test/unit/state_test.rb
164
201
  - test/unit/machine_collection_test.rb
165
- - test/unit/state_machine_test.rb
202
+ - test/unit/event_collection_test.rb
203
+ - test/unit/path_test.rb
166
204
  - test/unit/condition_proxy_test.rb
167
- - test/functional/state_machine_test.rb