Sha256: 1a79f75f2818f4e6ab1c9efb4ec7f33b100c84fd4481c5b661372fe84e0b8883

Contents?: true

Size: 494 Bytes

Versions: 4

Compression:

Stored size: 494 Bytes

Contents

# frozen_string_literal: true

require 'yaml'

module Leftovers
  module Precompilers
    module YAML
      include Autoloader

      def self.precompile(yaml)
        builder = Builder.new
        parser = ::Psych::Parser.new(builder)
        parser.parse(yaml)

        builder.to_ruby_file
      rescue ::Psych::SyntaxError => e
        message = [e.problem, e.context].compact.join(' ')
        raise PrecompileError.new(message, line: e.line, column: e.column)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/precompilers/yaml.rb
leftovers-0.12.1 lib/leftovers/precompilers/yaml.rb
leftovers-0.12.0 lib/leftovers/precompilers/yaml.rb
leftovers-0.11.2 lib/leftovers/precompilers/yaml.rb