class Dependy::Operations::Extractor
Attributes
graph[R]
Public Class Methods
new(graph = {})
click to toggle source
# File lib/dependy/operations/extractor.rb, line 6 def initialize(graph = {}) @graph = graph end
Public Instance Methods
extract(nodes = [], ignore_nodes = [])
click to toggle source
# File lib/dependy/operations/extractor.rb, line 10 def extract(nodes = [], ignore_nodes = []) nodes_to_extract(nodes) - ignore_nodes end
Private Instance Methods
extract_node(node_name, current_result = [])
click to toggle source
# File lib/dependy/operations/extractor.rb, line 23 def extract_node(node_name, current_result = []) current_result << node_name graph.children_for(node_name).each do |child_name| extract_node(child_name, current_result) unless current_result.include?(child_name) end current_result end
nodes_to_extract(nodes)
click to toggle source
# File lib/dependy/operations/extractor.rb, line 17 def nodes_to_extract(nodes) nodes.map do |node_name| extract_node(node_name) end.flatten.uniq end