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
157 158 159 |
# File 'lib/tree_haver/backends/psych.rb', line 157 def initialize @language = nil end |
Instance Attribute Details
#language ⇒ Language?
Returns The language to parse.
154 155 156 |
# File 'lib/tree_haver/backends/psych.rb', line 154 def language @language end |
Instance Method Details
#parse(source) ⇒ Tree
Parse YAML source code
166 167 168 169 170 171 172 |
# File 'lib/tree_haver/backends/psych.rb', line 166 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
179 180 181 |
# File 'lib/tree_haver/backends/psych.rb', line 179 def parse_string(_old_tree, source) parse(source) end |