class_dependencies

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]

Install

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.