Class: Mutineer::Parser
- Inherits:
-
Object
- Object
- Mutineer::Parser
- Defined in:
- lib/mutineer/parser.rb
Overview
Thin boundary around Prism. Both methods return a Prism::ParseResult so all callers use result.value (AST root), result.source.source (raw bytes), and result.errors uniformly. No wrapping struct.
Class Method Summary collapse
-
.parse_file(path) ⇒ Object
Returns Prism::ParseResult.
-
.parse_string(source) ⇒ Object
Returns Prism::ParseResult.
Class Method Details
.parse_file(path) ⇒ Object
Returns Prism::ParseResult. Re-raises I/O failures as Mutineer::ParseError.
15 16 17 18 19 |
# File 'lib/mutineer/parser.rb', line 15 def self.parse_file(path) Prism.parse_file(path) rescue SystemCallError => e raise ParseError, e. end |
.parse_string(source) ⇒ Object
Returns Prism::ParseResult. Never raises; callers check .errors.empty?.
22 23 24 |
# File 'lib/mutineer/parser.rb', line 22 def self.parse_string(source) Prism.parse(source) end |