module DeepCover::Analyser::Subset
A module to create a subset from a criteria called `in_subset?` Including classes can refine it, or specify SUBSET_CLASSES
Public Instance Methods
node_children(node)
click to toggle source
# File lib/deep_cover/analyser/subset.rb, line 7 def node_children(node) find_children(node) end
Private Instance Methods
find_children(from, parent = from)
click to toggle source
# File lib/deep_cover/analyser/subset.rb, line 13 def find_children(from, parent = from) @source.node_children(from).flat_map do |node| if in_subset?(node, parent) [node] else find_children(node, parent) end end end
in_subset?(node, _parent)
click to toggle source
# File lib/deep_cover/analyser/subset.rb, line 23 def in_subset?(node, _parent) self.class::SUBSET_CLASSES.any? { |klass| node.is_a?(klass) } end