public
Description: A Ruby state machine library, like assm / acts_as_state_machine, but with a nicer, more sensible API (in my opinion).
Homepage: http://groups.google.com/group/ruby-workflow
Clone URL: git://github.com/ryan-allen/workflow.git
workflow / TODO
100644 48 lines (40 sloc) 2.124 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
 
 [ ] remove on_transition hook and introduce before_transition and after_transition,
     so that it removes any ambiguities on when it is fired, and means we can
     use it for bang method saving w/ AR integration, which leads to:
 [ ] allow 'chaining' of before_transition/after_transition, so we can add extra
     filters as we need to 'behind the scenes', or something
 [ ] push active record integration, and binding, out into it's own class
 [ ] look into the method missing w/ bind, and see if my idea why swallowing
     was occuring was correct, and then remedy it (i don't like the method list
     solution, mostly because i rally against all this 'method missing is bad'
     rhetoric, hehe
 [ ] really, really properly dry up the tests, beacuse they damn suck at present,
     and make sure we don't loose any thoroughness in the test suite
 [ ] see if we can make halt! and halt return execution from the 'action', and
     if we can't, then maybe use 'return halt', and put that in the readme as
     the convention of how to 'return on a halt condition', or something, even
     maybe that railsismy thingo 'render 'blah' and return', maybe that's ok
 [ ] w/ AR integration, work states into named scope :)
 [ ] make a demo app w/ an autogenerated UI w/ the meta junk, for kicks
 [ ] AR integration, allow custom state field
 [ ] do we have predicate methods? i.e. @item.pending_review? @item.approved?
 [ ] look into the reflection API, and maybe, stop returning symbols, or something...
 [ ] use my modelling library for internal classes, hooray.
 [ ] refactor library to make me look good
 
 is that it? (nope):
 
 [ ] make it in to a gem
 [ ] make sure you can install it as a rails plugin
 [ ] give the readme some working over with brass knucles
 
 is that it now??!
 
 [ ] we need a method in actions, so we can omit transitions_to, so we can transition
     from one event to an arbitrary state, i.e.
 
     state :new
       event :create do
         if valid?
           transition_to :valid
         else
           transition_to :invalid
         end
       end
     end
 
 is that really it now??!