Class: AppMap::Inspect::ImplicitInspector
- Defined in:
- lib/appmap/inspect/inspector.rb
Overview
ImplicitInspector extracts features from a Ruby program, creating a feature for each public class and method.
Instance Attribute Summary
Attributes inherited from Inspector
#comments, #file_path, #parse_nodes
Instance Method Summary collapse
Methods inherited from Inspector
Constructor Details
This class inherits a constructor from AppMap::Inspect::Inspector
Instance Method Details
#inspect_file ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/appmap/inspect/inspector.rb', line 16 def inspect_file features = [] features_by_ast_node = {} parse_nodes.select(&:public?).each do |parse_node| feature = parse_node.to_feature({}) features_by_ast_node[parse_node.node] = feature if feature if (enclosing_type_node = parse_node.enclosing_type_node) && (parent_feature = features_by_ast_node[enclosing_type_node]) parent_feature.add_child(feature) else features << feature end end end features.keep_if(&:valid?) features end |