Class: Inch::Language::Elixir::Provider::Reader::Parser
- Inherits:
-
Object
- Object
- Inch::Language::Elixir::Provider::Reader::Parser
- Defined in:
- lib/inch/language/elixir/provider/reader/parser.rb
Overview
Parses the source tree (using Reader)
Instance Attribute Summary collapse
-
#parsed_objects ⇒ Object
readonly
Returns the value of attribute parsed_objects.
Class Method Summary collapse
-
.parse(*args) ⇒ CodeObject::Provider::Reader::Parser
Helper method to parse an instance with the given
args
.
Instance Method Summary collapse
Instance Attribute Details
#parsed_objects ⇒ Object (readonly)
Returns the value of attribute parsed_objects.
11 12 13 |
# File 'lib/inch/language/elixir/provider/reader/parser.rb', line 11 def parsed_objects @parsed_objects end |
Class Method Details
.parse(*args) ⇒ CodeObject::Provider::Reader::Parser
Helper method to parse an instance with the given args
18 19 20 21 22 |
# File 'lib/inch/language/elixir/provider/reader/parser.rb', line 18 def self.parse(*args) parser = new parser.parse(*args) parser end |
Instance Method Details
#objects ⇒ Array<YARD::Object::Base>
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/inch/language/elixir/provider/reader/parser.rb', line 36 def objects @objects ||= begin list = parsed_objects.map do |o| Reader::Object.for(o) # unless IGNORE_TYPES.include?(o.type) end.compact children_map = {} list.each do |object| if object.parent_fullname children_map[object.parent_fullname] ||= [] children_map[object.parent_fullname] << object.fullname end end list.each do |object| object.children_fullnames = children_map[object.fullname] end list end end |
#parse(dir, config) ⇒ void
This method returns an undefined value.
27 28 29 30 31 32 33 |
# File 'lib/inch/language/elixir/provider/reader/parser.rb', line 27 def parse(dir, config) raise "Directory does not exist: #{dir}" if !File.exist?(dir) Dir.chdir(dir) do parse_objects(config.included_files, config.excluded_files, config.read_dump_file) end end |