state_machine 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/.gitignore +1 -0
  2. data/.travis.yml +0 -2
  3. data/.yardopts +3 -2
  4. data/Appraisals +48 -0
  5. data/{CHANGELOG.rdoc → CHANGELOG.md} +63 -46
  6. data/README.md +1029 -0
  7. data/gemfiles/active_model-3.0.0.gemfile.lock +1 -3
  8. data/gemfiles/active_model-3.0.5.gemfile.lock +1 -3
  9. data/gemfiles/active_model-3.1.1.gemfile +7 -0
  10. data/gemfiles/active_model-3.1.1.gemfile.lock +32 -0
  11. data/gemfiles/active_record-2.0.0.gemfile.lock +1 -3
  12. data/gemfiles/active_record-2.0.5.gemfile.lock +1 -3
  13. data/gemfiles/active_record-2.1.0.gemfile.lock +1 -3
  14. data/gemfiles/active_record-2.1.2.gemfile.lock +1 -3
  15. data/gemfiles/active_record-2.2.3.gemfile.lock +1 -3
  16. data/gemfiles/active_record-2.3.12.gemfile.lock +1 -3
  17. data/gemfiles/active_record-3.0.0.gemfile.lock +1 -3
  18. data/gemfiles/active_record-3.0.5.gemfile.lock +1 -3
  19. data/gemfiles/active_record-3.1.1.gemfile +8 -0
  20. data/gemfiles/active_record-3.1.1.gemfile.lock +43 -0
  21. data/gemfiles/data_mapper-0.10.2.gemfile.lock +1 -3
  22. data/gemfiles/data_mapper-0.9.11.gemfile.lock +1 -3
  23. data/gemfiles/data_mapper-0.9.4.gemfile.lock +1 -3
  24. data/gemfiles/data_mapper-0.9.7.gemfile.lock +1 -3
  25. data/gemfiles/data_mapper-1.0.0.gemfile.lock +1 -3
  26. data/gemfiles/data_mapper-1.0.1.gemfile.lock +1 -3
  27. data/gemfiles/data_mapper-1.0.2.gemfile.lock +1 -3
  28. data/gemfiles/data_mapper-1.1.0.gemfile.lock +1 -3
  29. data/gemfiles/data_mapper-1.2.0.gemfile +12 -0
  30. data/gemfiles/data_mapper-1.2.0.gemfile.lock +49 -0
  31. data/gemfiles/default.gemfile.lock +1 -3
  32. data/gemfiles/graphviz-0.9.0.gemfile +7 -0
  33. data/gemfiles/graphviz-0.9.0.gemfile.lock +24 -0
  34. data/gemfiles/graphviz-0.9.21.gemfile +7 -0
  35. data/gemfiles/graphviz-0.9.21.gemfile.lock +24 -0
  36. data/gemfiles/graphviz-1.0.0.gemfile +7 -0
  37. data/gemfiles/graphviz-1.0.0.gemfile.lock +24 -0
  38. data/gemfiles/mongo_mapper-0.10.0.gemfile +7 -0
  39. data/gemfiles/mongo_mapper-0.10.0.gemfile.lock +41 -0
  40. data/gemfiles/mongo_mapper-0.5.5.gemfile.lock +1 -3
  41. data/gemfiles/mongo_mapper-0.5.8.gemfile.lock +1 -3
  42. data/gemfiles/mongo_mapper-0.6.0.gemfile.lock +1 -3
  43. data/gemfiles/mongo_mapper-0.6.10.gemfile.lock +1 -3
  44. data/gemfiles/mongo_mapper-0.7.0.gemfile.lock +1 -3
  45. data/gemfiles/mongo_mapper-0.7.5.gemfile.lock +1 -3
  46. data/gemfiles/mongo_mapper-0.8.0.gemfile.lock +1 -3
  47. data/gemfiles/mongo_mapper-0.8.3.gemfile.lock +1 -3
  48. data/gemfiles/mongo_mapper-0.8.4.gemfile.lock +1 -3
  49. data/gemfiles/mongo_mapper-0.8.6.gemfile.lock +1 -3
  50. data/gemfiles/mongo_mapper-0.9.0.gemfile.lock +1 -3
  51. data/gemfiles/mongoid-2.0.0.gemfile.lock +1 -3
  52. data/gemfiles/mongoid-2.1.4.gemfile.lock +1 -3
  53. data/gemfiles/mongoid-2.2.4.gemfile +7 -0
  54. data/gemfiles/mongoid-2.2.4.gemfile.lock +40 -0
  55. data/gemfiles/mongoid-2.3.3.gemfile +7 -0
  56. data/gemfiles/mongoid-2.3.3.gemfile.lock +40 -0
  57. data/gemfiles/sequel-2.11.0.gemfile.lock +1 -3
  58. data/gemfiles/sequel-2.12.0.gemfile.lock +1 -3
  59. data/gemfiles/sequel-2.8.0.gemfile.lock +1 -3
  60. data/gemfiles/sequel-3.0.0.gemfile.lock +1 -3
  61. data/gemfiles/sequel-3.13.0.gemfile.lock +1 -3
  62. data/gemfiles/sequel-3.14.0.gemfile.lock +1 -3
  63. data/gemfiles/sequel-3.23.0.gemfile.lock +1 -3
  64. data/gemfiles/sequel-3.24.0.gemfile.lock +1 -3
  65. data/gemfiles/sequel-3.29.0.gemfile +8 -0
  66. data/gemfiles/sequel-3.29.0.gemfile.lock +26 -0
  67. data/lib/state_machine.rb +45 -0
  68. data/lib/state_machine/event.rb +18 -3
  69. data/lib/state_machine/event_collection.rb +1 -1
  70. data/lib/state_machine/integrations/active_model.rb +59 -16
  71. data/lib/state_machine/integrations/active_model/observer.rb +3 -15
  72. data/lib/state_machine/integrations/active_record.rb +46 -9
  73. data/lib/state_machine/integrations/data_mapper.rb +42 -2
  74. data/lib/state_machine/integrations/data_mapper/versions.rb +22 -10
  75. data/lib/state_machine/integrations/mongo_mapper.rb +55 -0
  76. data/lib/state_machine/integrations/mongo_mapper/versions.rb +3 -3
  77. data/lib/state_machine/integrations/mongoid.rb +57 -12
  78. data/lib/state_machine/integrations/mongoid/versions.rb +22 -4
  79. data/lib/state_machine/integrations/sequel.rb +45 -0
  80. data/lib/state_machine/integrations/sequel/versions.rb +3 -0
  81. data/lib/state_machine/machine.rb +148 -34
  82. data/lib/state_machine/node_collection.rb +36 -3
  83. data/lib/state_machine/state.rb +6 -3
  84. data/lib/state_machine/state_collection.rb +1 -1
  85. data/lib/state_machine/version.rb +1 -1
  86. data/lib/tasks/state_machine.rb +11 -9
  87. data/state_machine.gemspec +2 -3
  88. data/test/functional/state_machine_test.rb +54 -1
  89. data/test/unit/event_collection_test.rb +4 -0
  90. data/test/unit/event_test.rb +34 -1
  91. data/test/unit/integrations/active_model_test.rb +80 -0
  92. data/test/unit/integrations/active_record_test.rb +105 -2
  93. data/test/unit/integrations/data_mapper_test.rb +27 -25
  94. data/test/unit/integrations/mongo_mapper_test.rb +80 -25
  95. data/test/unit/integrations/mongoid_test.rb +61 -6
  96. data/test/unit/integrations/sequel_test.rb +8 -2
  97. data/test/unit/machine_test.rb +87 -9
  98. data/test/unit/node_collection_test.rb +129 -12
  99. data/test/unit/state_collection_test.rb +4 -0
  100. data/test/unit/state_test.rb +2 -2
  101. metadata +30 -24
  102. data/README.rdoc +0 -844
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -34,7 +34,6 @@ GEM
34
34
  extlib (0.9.15)
35
35
  rake (0.9.2)
36
36
  rcov (0.9.10)
37
- ruby-graphviz (1.0.0)
38
37
 
39
38
  PLATFORMS
40
39
  ruby
@@ -49,5 +48,4 @@ DEPENDENCIES
49
48
  dm-validations (= 1.0.2)
50
49
  rake
51
50
  rcov
52
- ruby-graphviz (~> 1.0)
53
51
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -32,7 +32,6 @@ GEM
32
32
  data_objects (= 0.10.6)
33
33
  rake (0.9.2)
34
34
  rcov (0.9.10)
35
- ruby-graphviz (1.0.0)
36
35
 
37
36
  PLATFORMS
38
37
  ruby
@@ -47,5 +46,4 @@ DEPENDENCIES
47
46
  dm-validations (= 1.1.0)
48
47
  rake
49
48
  rcov
50
- ruby-graphviz (~> 1.0)
51
49
  state_machine!
@@ -0,0 +1,12 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://www.rubygems.org"
4
+
5
+ gem "dm-validations", "1.2.0"
6
+ gem "dm-observer", "1.2.0"
7
+ gem "dm-core", "1.2.0"
8
+ gem "dm-sqlite-adapter", "1.2.0"
9
+ gem "dm-transactions", "1.2.0"
10
+ gem "dm-migrations", "1.2.0"
11
+
12
+ gemspec :path=>"../"
@@ -0,0 +1,49 @@
1
+ PATH
2
+ remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
+ specs:
4
+ state_machine (1.0.2)
5
+
6
+ GEM
7
+ remote: http://www.rubygems.org/
8
+ specs:
9
+ addressable (2.2.6)
10
+ appraisal (0.3.8)
11
+ bundler
12
+ rake
13
+ data_objects (0.10.7)
14
+ addressable (~> 2.1)
15
+ dm-core (1.2.0)
16
+ addressable (~> 2.2.6)
17
+ dm-do-adapter (1.2.0)
18
+ data_objects (~> 0.10.6)
19
+ dm-core (~> 1.2.0)
20
+ dm-migrations (1.2.0)
21
+ dm-core (~> 1.2.0)
22
+ dm-observer (1.2.0)
23
+ dm-core (~> 1.2.0)
24
+ dm-sqlite-adapter (1.2.0)
25
+ dm-do-adapter (~> 1.2.0)
26
+ do_sqlite3 (~> 0.10.6)
27
+ dm-transactions (1.2.0)
28
+ dm-core (~> 1.2.0)
29
+ dm-validations (1.2.0)
30
+ dm-core (~> 1.2.0)
31
+ do_sqlite3 (0.10.7)
32
+ data_objects (= 0.10.7)
33
+ rake (0.9.2)
34
+ rcov (0.9.11)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ appraisal (~> 0.3.8)
41
+ dm-core (= 1.2.0)
42
+ dm-migrations (= 1.2.0)
43
+ dm-observer (= 1.2.0)
44
+ dm-sqlite-adapter (= 1.2.0)
45
+ dm-transactions (= 1.2.0)
46
+ dm-validations (= 1.2.0)
47
+ rake
48
+ rcov
49
+ state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -11,7 +11,6 @@ GEM
11
11
  rake
12
12
  rake (0.9.2)
13
13
  rcov (0.9.10)
14
- ruby-graphviz (1.0.0)
15
14
 
16
15
  PLATFORMS
17
16
  ruby
@@ -20,5 +19,4 @@ DEPENDENCIES
20
19
  appraisal (~> 0.3.8)
21
20
  rake
22
21
  rcov
23
- ruby-graphviz (~> 1.0)
24
22
  state_machine!
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://www.rubygems.org"
4
+
5
+ gem "ruby-graphviz", "0.9.0"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,24 @@
1
+ PATH
2
+ remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
+ specs:
4
+ state_machine (1.0.2)
5
+
6
+ GEM
7
+ remote: http://www.rubygems.org/
8
+ specs:
9
+ appraisal (0.3.8)
10
+ bundler
11
+ rake
12
+ rake (0.9.2)
13
+ rcov (0.9.11)
14
+ ruby-graphviz (0.9.0)
15
+
16
+ PLATFORMS
17
+ ruby
18
+
19
+ DEPENDENCIES
20
+ appraisal (~> 0.3.8)
21
+ rake
22
+ rcov
23
+ ruby-graphviz (= 0.9.0)
24
+ state_machine!
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://www.rubygems.org"
4
+
5
+ gem "ruby-graphviz", "0.9.21"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,24 @@
1
+ PATH
2
+ remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
+ specs:
4
+ state_machine (1.0.2)
5
+
6
+ GEM
7
+ remote: http://www.rubygems.org/
8
+ specs:
9
+ appraisal (0.3.8)
10
+ bundler
11
+ rake
12
+ rake (0.9.2)
13
+ rcov (0.9.11)
14
+ ruby-graphviz (0.9.21)
15
+
16
+ PLATFORMS
17
+ ruby
18
+
19
+ DEPENDENCIES
20
+ appraisal (~> 0.3.8)
21
+ rake
22
+ rcov
23
+ ruby-graphviz (= 0.9.21)
24
+ state_machine!
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://www.rubygems.org"
4
+
5
+ gem "ruby-graphviz", "1.0.0"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,24 @@
1
+ PATH
2
+ remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
+ specs:
4
+ state_machine (1.0.2)
5
+
6
+ GEM
7
+ remote: http://www.rubygems.org/
8
+ specs:
9
+ appraisal (0.3.8)
10
+ bundler
11
+ rake
12
+ rake (0.9.2)
13
+ rcov (0.9.11)
14
+ ruby-graphviz (1.0.0)
15
+
16
+ PLATFORMS
17
+ ruby
18
+
19
+ DEPENDENCIES
20
+ appraisal (~> 0.3.8)
21
+ rake
22
+ rcov
23
+ ruby-graphviz (= 1.0.0)
24
+ state_machine!
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "http://www.rubygems.org"
4
+
5
+ gem "mongo_mapper", "0.10.0"
6
+
7
+ gemspec :path=>"../"
@@ -0,0 +1,41 @@
1
+ PATH
2
+ remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
+ specs:
4
+ state_machine (1.0.3)
5
+
6
+ GEM
7
+ remote: http://www.rubygems.org/
8
+ specs:
9
+ activemodel (3.1.1)
10
+ activesupport (= 3.1.1)
11
+ builder (~> 3.0.0)
12
+ i18n (~> 0.6)
13
+ activesupport (3.1.1)
14
+ multi_json (~> 1.0)
15
+ appraisal (0.3.8)
16
+ bundler
17
+ rake
18
+ bson (1.4.0)
19
+ builder (3.0.0)
20
+ i18n (0.6.0)
21
+ mongo (1.4.0)
22
+ bson (= 1.4.0)
23
+ mongo_mapper (0.10.0)
24
+ activemodel (~> 3.0)
25
+ activesupport (~> 3.0)
26
+ plucky (~> 0.3.8)
27
+ multi_json (1.0.3)
28
+ plucky (0.3.8)
29
+ mongo (~> 1.3)
30
+ rake (0.9.2)
31
+ rcov (0.9.11)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ appraisal (~> 0.3.8)
38
+ mongo_mapper (= 0.10.0)
39
+ rake
40
+ rcov
41
+ state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -18,7 +18,6 @@ GEM
18
18
  mongo (= 0.15.1)
19
19
  rake (0.9.2)
20
20
  rcov (0.9.10)
21
- ruby-graphviz (1.0.0)
22
21
 
23
22
  PLATFORMS
24
23
  ruby
@@ -29,5 +28,4 @@ DEPENDENCIES
29
28
  mongo_mapper (= 0.5.5)
30
29
  rake
31
30
  rcov
32
- ruby-graphviz (~> 1.0)
33
31
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -18,7 +18,6 @@ GEM
18
18
  mongo (= 0.16)
19
19
  rake (0.9.2)
20
20
  rcov (0.9.10)
21
- ruby-graphviz (1.0.0)
22
21
 
23
22
  PLATFORMS
24
23
  ruby
@@ -29,5 +28,4 @@ DEPENDENCIES
29
28
  mongo_mapper (= 0.5.8)
30
29
  rake
31
30
  rcov
32
- ruby-graphviz (~> 1.0)
33
31
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -18,7 +18,6 @@ GEM
18
18
  mongo (= 0.16)
19
19
  rake (0.9.2)
20
20
  rcov (0.9.10)
21
- ruby-graphviz (1.0.0)
22
21
 
23
22
  PLATFORMS
24
23
  ruby
@@ -29,5 +28,4 @@ DEPENDENCIES
29
28
  mongo_mapper (= 0.6.0)
30
29
  rake
31
30
  rcov
32
- ruby-graphviz (~> 1.0)
33
31
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -18,7 +18,6 @@ GEM
18
18
  mongo (= 0.18.2)
19
19
  rake (0.9.2)
20
20
  rcov (0.9.10)
21
- ruby-graphviz (1.0.0)
22
21
 
23
22
  PLATFORMS
24
23
  ruby
@@ -29,5 +28,4 @@ DEPENDENCIES
29
28
  mongo_mapper (= 0.6.10)
30
29
  rake
31
30
  rcov
32
- ruby-graphviz (~> 1.0)
33
31
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -18,7 +18,6 @@ GEM
18
18
  mongo (= 0.18.3)
19
19
  rake (0.9.2)
20
20
  rcov (0.9.10)
21
- ruby-graphviz (1.0.0)
22
21
 
23
22
  PLATFORMS
24
23
  ruby
@@ -29,5 +28,4 @@ DEPENDENCIES
29
28
  mongo_mapper (= 0.7.0)
30
29
  rake
31
30
  rcov
32
- ruby-graphviz (~> 1.0)
33
31
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -21,7 +21,6 @@ GEM
21
21
  mongo (= 1.0)
22
22
  rake (0.9.2)
23
23
  rcov (0.9.10)
24
- ruby-graphviz (1.0.0)
25
24
 
26
25
  PLATFORMS
27
26
  ruby
@@ -32,5 +31,4 @@ DEPENDENCIES
32
31
  mongo_mapper (= 0.7.5)
33
32
  rake
34
33
  rcov
35
- ruby-graphviz (~> 1.0)
36
34
  state_machine!
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /home/aaron/Projects/Personal/pluginaweek/state_machine
3
3
  specs:
4
- state_machine (1.0.1)
4
+ state_machine (1.0.2)
5
5
 
6
6
  GEM
7
7
  remote: http://www.rubygems.org/
@@ -23,7 +23,6 @@ GEM
23
23
  mongo (~> 1.0.1)
24
24
  rake (0.9.2)
25
25
  rcov (0.9.10)
26
- ruby-graphviz (1.0.0)
27
26
 
28
27
  PLATFORMS
29
28
  ruby
@@ -36,5 +35,4 @@ DEPENDENCIES
36
35
  plucky (= 0.3.0)
37
36
  rake
38
37
  rcov
39
- ruby-graphviz (~> 1.0)
40
38
  state_machine!