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