Module: IB::DependencyResolver::TSortable
- Defined in:
- lib/ib/dependency_resolver.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.merge!(a, b) ⇒ Object
38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ib/dependency_resolver.rb', line 38 def merge!(a, b) b.each do |k, v| if a.key?(k) a[k].concat(v) else a[k] = v end end a end |
Instance Method Details
#node_with_super_class ⇒ Object
27 28 29 30 31 32 |
# File 'lib/ib/dependency_resolver.rb', line 27 def node_with_super_class { sub_class => sub_class_dependencies, super_class => [], } end |
#node_without_super_class ⇒ Object
34 35 36 |
# File 'lib/ib/dependency_resolver.rb', line 34 def node_without_super_class { sub_class => sub_class_dependencies } end |
#to_node ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/ib/dependency_resolver.rb', line 18 def to_node sub_class_dependencies_nodes = sub_class_dependencies.inject({}) do |sum, i| sum.merge!({ i => [] }) end (super_class ? node_with_super_class : node_without_super_class). merge(sub_class_dependencies_nodes) end |