Class: TreeHaver::Backends::Psych::Parser
- Inherits:
-
Object
- Object
- 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 collapse
-
#language ⇒ Language?
The language to parse.
Instance Method Summary collapse
-
#initialize ⇒ Parser
constructor
Create a new Psych parser.
-
#parse(source) ⇒ Tree
Parse YAML source code.
-
#parse_string(_old_tree, source) ⇒ Tree
Alias for compatibility with tree-sitter API.
Constructor Details
#initialize ⇒ Parser
Create a new Psych parser
133 134 135 |
# File 'lib/tree_haver/backends/psych.rb', line 133 def initialize @language = nil end |
Instance Attribute Details
#language ⇒ Language?
Returns The language to parse.
130 131 132 |
# File 'lib/tree_haver/backends/psych.rb', line 130 def language @language end |
Instance Method Details
#parse(source) ⇒ Tree
Parse YAML source code
142 143 144 145 146 147 148 |
# File 'lib/tree_haver/backends/psych.rb', line 142 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
155 156 157 |
# File 'lib/tree_haver/backends/psych.rb', line 155 def parse_string(_old_tree, source) parse(source) end |