say you have a bunch of classes which have a dependency relationship e.g. you have A, B and C and a relationship depends_on. you can express this as follows :
module DependsOn ; include ClassDependencies ; end class A ; include DependsOn ; depends_on :b ; end class B ; include DependsOn ; depends_on :c ; end class C ; include DependsOn ; end DependsOn.ordered_dependencies =>[:c, :b, :a] DependsOn.ordered_dependent_classes =>[C, B, A] DependsOn.descendants =>[:a, :b, :c] DependsOn.descendant_classes =>[A, B, C]
gem install class_dependencies
Note on Patches/Pull Requests
Fork the project.
Make your feature addition or bug fix.
Add tests for it. This is important so I don't break it in a future version unintentionally.
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
Send me a pull request. Bonus points for topic branches.
Copyright © 2010 Trampoline Systems Ltd. See LICENSE for details.