state_machine 1.0.2 → 1.0.3

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.
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!