Merge branch 'master' into 2257-inequality-conditions
[arvados.git] / apps / workbench / app / helpers / pipeline_templates_helper.rb
1 require 'tsort'
2
3 class Hash
4   include TSort
5   def tsort_each_node(&block)
6     keys.sort.each(&block)
7   end
8
9   def tsort_each_child(node)
10     if self[node]
11       self[node][:script_parameters].sort.map do |k, v|
12         if v.is_a? Hash and v[:output_of]
13           yield v[:output_of].to_sym
14         end
15       end
16     end
17   end
18 end
19
20 module PipelineTemplatesHelper
21   def self.sort_components(components)
22     components.tsort
23   end
24 end