joelind-state_machine 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/CHANGELOG.rdoc +297 -0
  2. data/LICENSE +20 -0
  3. data/README.rdoc +466 -0
  4. data/Rakefile +98 -0
  5. data/examples/AutoShop_state.png +0 -0
  6. data/examples/Car_state.png +0 -0
  7. data/examples/TrafficLight_state.png +0 -0
  8. data/examples/Vehicle_state.png +0 -0
  9. data/examples/auto_shop.rb +11 -0
  10. data/examples/car.rb +19 -0
  11. data/examples/merb-rest/controller.rb +51 -0
  12. data/examples/merb-rest/model.rb +28 -0
  13. data/examples/merb-rest/view_edit.html.erb +24 -0
  14. data/examples/merb-rest/view_index.html.erb +23 -0
  15. data/examples/merb-rest/view_new.html.erb +13 -0
  16. data/examples/merb-rest/view_show.html.erb +17 -0
  17. data/examples/rails-rest/controller.rb +43 -0
  18. data/examples/rails-rest/migration.rb +11 -0
  19. data/examples/rails-rest/model.rb +23 -0
  20. data/examples/rails-rest/view_edit.html.erb +25 -0
  21. data/examples/rails-rest/view_index.html.erb +23 -0
  22. data/examples/rails-rest/view_new.html.erb +14 -0
  23. data/examples/rails-rest/view_show.html.erb +17 -0
  24. data/examples/traffic_light.rb +7 -0
  25. data/examples/vehicle.rb +31 -0
  26. data/init.rb +1 -0
  27. data/lib/state_machine.rb +388 -0
  28. data/lib/state_machine/assertions.rb +36 -0
  29. data/lib/state_machine/callback.rb +189 -0
  30. data/lib/state_machine/condition_proxy.rb +94 -0
  31. data/lib/state_machine/eval_helpers.rb +67 -0
  32. data/lib/state_machine/event.rb +252 -0
  33. data/lib/state_machine/event_collection.rb +122 -0
  34. data/lib/state_machine/extensions.rb +149 -0
  35. data/lib/state_machine/guard.rb +230 -0
  36. data/lib/state_machine/integrations.rb +68 -0
  37. data/lib/state_machine/integrations/active_record.rb +492 -0
  38. data/lib/state_machine/integrations/active_record/locale.rb +11 -0
  39. data/lib/state_machine/integrations/active_record/observer.rb +41 -0
  40. data/lib/state_machine/integrations/data_mapper.rb +351 -0
  41. data/lib/state_machine/integrations/data_mapper/observer.rb +139 -0
  42. data/lib/state_machine/integrations/sequel.rb +322 -0
  43. data/lib/state_machine/machine.rb +1467 -0
  44. data/lib/state_machine/machine_collection.rb +155 -0
  45. data/lib/state_machine/matcher.rb +123 -0
  46. data/lib/state_machine/matcher_helpers.rb +54 -0
  47. data/lib/state_machine/node_collection.rb +152 -0
  48. data/lib/state_machine/state.rb +249 -0
  49. data/lib/state_machine/state_collection.rb +112 -0
  50. data/lib/state_machine/transition.rb +394 -0
  51. data/tasks/state_machine.rake +1 -0
  52. data/tasks/state_machine.rb +30 -0
  53. data/test/classes/switch.rb +11 -0
  54. data/test/functional/state_machine_test.rb +941 -0
  55. data/test/test_helper.rb +4 -0
  56. data/test/unit/assertions_test.rb +40 -0
  57. data/test/unit/callback_test.rb +455 -0
  58. data/test/unit/condition_proxy_test.rb +328 -0
  59. data/test/unit/eval_helpers_test.rb +120 -0
  60. data/test/unit/event_collection_test.rb +326 -0
  61. data/test/unit/event_test.rb +743 -0
  62. data/test/unit/guard_test.rb +908 -0
  63. data/test/unit/integrations/active_record_test.rb +1374 -0
  64. data/test/unit/integrations/data_mapper_test.rb +962 -0
  65. data/test/unit/integrations/sequel_test.rb +859 -0
  66. data/test/unit/integrations_test.rb +42 -0
  67. data/test/unit/invalid_event_test.rb +7 -0
  68. data/test/unit/invalid_transition_test.rb +7 -0
  69. data/test/unit/machine_collection_test.rb +938 -0
  70. data/test/unit/machine_test.rb +2004 -0
  71. data/test/unit/matcher_helpers_test.rb +37 -0
  72. data/test/unit/matcher_test.rb +155 -0
  73. data/test/unit/node_collection_test.rb +207 -0
  74. data/test/unit/state_collection_test.rb +280 -0
  75. data/test/unit/state_machine_test.rb +31 -0
  76. data/test/unit/state_test.rb +795 -0
  77. data/test/unit/transition_test.rb +1212 -0
  78. metadata +163 -0
metadata ADDED
@@ -0,0 +1,163 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: joelind-state_machine
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.8.1
5
+ platform: ruby
6
+ authors:
7
+ - Aaron Pfeifer
8
+ - Joe Lind
9
+ - Jeremy Weiskotten
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2009-09-01 00:00:00 -07:00
15
+ default_executable:
16
+ dependencies: []
17
+
18
+ description: Adds support for creating state machines for attributes on any Ruby class
19
+ email: aaron@pluginaweek.org
20
+ executables: []
21
+
22
+ extensions: []
23
+
24
+ extra_rdoc_files: []
25
+
26
+ files:
27
+ - examples/Car_state.png
28
+ - examples/AutoShop_state.png
29
+ - examples/rails-rest
30
+ - examples/rails-rest/view_show.html.erb
31
+ - examples/rails-rest/controller.rb
32
+ - examples/rails-rest/model.rb
33
+ - examples/rails-rest/view_index.html.erb
34
+ - examples/rails-rest/view_new.html.erb
35
+ - examples/rails-rest/view_edit.html.erb
36
+ - examples/rails-rest/migration.rb
37
+ - examples/merb-rest
38
+ - examples/merb-rest/view_show.html.erb
39
+ - examples/merb-rest/controller.rb
40
+ - examples/merb-rest/model.rb
41
+ - examples/merb-rest/view_index.html.erb
42
+ - examples/merb-rest/view_new.html.erb
43
+ - examples/merb-rest/view_edit.html.erb
44
+ - examples/vehicle.rb
45
+ - examples/TrafficLight_state.png
46
+ - examples/auto_shop.rb
47
+ - examples/traffic_light.rb
48
+ - examples/Vehicle_state.png
49
+ - examples/car.rb
50
+ - lib/state_machine.rb
51
+ - lib/state_machine
52
+ - lib/state_machine/condition_proxy.rb
53
+ - lib/state_machine/machine_collection.rb
54
+ - lib/state_machine/machine.rb
55
+ - lib/state_machine/event_collection.rb
56
+ - lib/state_machine/integrations
57
+ - lib/state_machine/integrations/active_record
58
+ - lib/state_machine/integrations/active_record/locale.rb
59
+ - lib/state_machine/integrations/active_record/observer.rb
60
+ - lib/state_machine/integrations/data_mapper.rb
61
+ - lib/state_machine/integrations/sequel.rb
62
+ - lib/state_machine/integrations/active_record.rb
63
+ - lib/state_machine/integrations/data_mapper
64
+ - lib/state_machine/integrations/data_mapper/observer.rb
65
+ - lib/state_machine/matcher_helpers.rb
66
+ - lib/state_machine/assertions.rb
67
+ - lib/state_machine/matcher.rb
68
+ - lib/state_machine/eval_helpers.rb
69
+ - lib/state_machine/guard.rb
70
+ - lib/state_machine/integrations.rb
71
+ - lib/state_machine/callback.rb
72
+ - lib/state_machine/event.rb
73
+ - lib/state_machine/extensions.rb
74
+ - lib/state_machine/state.rb
75
+ - lib/state_machine/transition.rb
76
+ - lib/state_machine/node_collection.rb
77
+ - lib/state_machine/state_collection.rb
78
+ - tasks/state_machine.rb
79
+ - tasks/state_machine.rake
80
+ - test/unit
81
+ - test/unit/assertions_test.rb
82
+ - test/unit/integrations_test.rb
83
+ - test/unit/node_collection_test.rb
84
+ - test/unit/invalid_event_test.rb
85
+ - test/unit/event_test.rb
86
+ - test/unit/state_collection_test.rb
87
+ - test/unit/callback_test.rb
88
+ - test/unit/condition_proxy_test.rb
89
+ - test/unit/integrations
90
+ - test/unit/integrations/sequel_test.rb
91
+ - test/unit/integrations/data_mapper_test.rb
92
+ - test/unit/integrations/active_record_test.rb
93
+ - test/unit/eval_helpers_test.rb
94
+ - test/unit/guard_test.rb
95
+ - test/unit/state_test.rb
96
+ - test/unit/transition_test.rb
97
+ - test/unit/matcher_test.rb
98
+ - test/unit/invalid_transition_test.rb
99
+ - test/unit/machine_test.rb
100
+ - test/unit/machine_collection_test.rb
101
+ - test/unit/state_machine_test.rb
102
+ - test/unit/event_collection_test.rb
103
+ - test/unit/matcher_helpers_test.rb
104
+ - test/test_helper.rb
105
+ - test/classes
106
+ - test/classes/switch.rb
107
+ - test/functional
108
+ - test/functional/state_machine_test.rb
109
+ - CHANGELOG.rdoc
110
+ - init.rb
111
+ - LICENSE
112
+ - Rakefile
113
+ - README.rdoc
114
+ has_rdoc: true
115
+ homepage: http://www.pluginaweek.org
116
+ post_install_message:
117
+ rdoc_options: []
118
+
119
+ require_paths:
120
+ - lib
121
+ required_ruby_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: "0"
126
+ version:
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: "0"
132
+ version:
133
+ requirements: []
134
+
135
+ rubyforge_project: pluginaweek
136
+ rubygems_version: 1.2.0
137
+ signing_key:
138
+ specification_version: 2
139
+ summary: Adds support for creating state machines for attributes on any Ruby class
140
+ test_files:
141
+ - test/unit/assertions_test.rb
142
+ - test/unit/integrations_test.rb
143
+ - test/unit/node_collection_test.rb
144
+ - test/unit/invalid_event_test.rb
145
+ - test/unit/event_test.rb
146
+ - test/unit/state_collection_test.rb
147
+ - test/unit/callback_test.rb
148
+ - test/unit/condition_proxy_test.rb
149
+ - test/unit/integrations/sequel_test.rb
150
+ - test/unit/integrations/data_mapper_test.rb
151
+ - test/unit/integrations/active_record_test.rb
152
+ - test/unit/eval_helpers_test.rb
153
+ - test/unit/guard_test.rb
154
+ - test/unit/state_test.rb
155
+ - test/unit/transition_test.rb
156
+ - test/unit/matcher_test.rb
157
+ - test/unit/invalid_transition_test.rb
158
+ - test/unit/machine_test.rb
159
+ - test/unit/machine_collection_test.rb
160
+ - test/unit/state_machine_test.rb
161
+ - test/unit/event_collection_test.rb
162
+ - test/unit/matcher_helpers_test.rb
163
+ - test/functional/state_machine_test.rb