class YAMLWithLines
def self.load(blob)
def self.load(blob) handler = TreeBuilderWithLines.new parser = Psych::Parser.new(handler) handler.parser = parser parser.parse(blob) parser.handler.root.to_ruby.first.tap do |c| c.instance_eval do @lines = blob.split("\n") def get_line(line:) raise "Line number must be positive and one-indexed" if line < 1 @lines[line - 1] end end end end
def get_line(line:)
def get_line(line:) raise "Line number must be positive and one-indexed" if line < 1 @lines[line - 1] end