Class: TreeHaver::Backends::Psych::Parser
- Inherits:
-
TreeHaver::Base::Parser
- Object
- TreeHaver::Base::Parser
- TreeHaver::Backends::Psych::Parser
- Defined in:
- lib/tree_haver/backends/psych.rb
Overview
Psych parser wrapper
Wraps Psych.parse_stream to provide TreeHaver-compatible parsing.
Instance Attribute Summary
Attributes inherited from TreeHaver::Base::Parser
Instance Method Summary collapse
-
#parse(source) ⇒ Tree
Parse YAML source code.
-
#parse_string(_old_tree, source) ⇒ Tree
Alias for compatibility with tree-sitter API.
Methods inherited from TreeHaver::Base::Parser
Constructor Details
This class inherits a constructor from TreeHaver::Base::Parser
Instance Method Details
#parse(source) ⇒ Tree
Parse YAML source code
134 135 136 137 138 139 140 |
# File 'lib/tree_haver/backends/psych.rb', line 134 def parse(source) raise "Language not set" unless language Psych.available? or raise "Psych not available" ast = ::Psych.parse_stream(source) Tree.new(ast, source) end |
#parse_string(_old_tree, source) ⇒ Tree
Alias for compatibility with tree-sitter API
147 148 149 |
# File 'lib/tree_haver/backends/psych.rb', line 147 def parse_string(_old_tree, source) parse(source) end |