Sha256: 436ca0d7dcef2b5ee065f33005be3153126d47ad513aab412842c8a65f437469
Contents?: true
Size: 831 Bytes
Versions: 5
Compression:
Stored size: 831 Bytes
Contents
# frozen_string_literal: true module DeadEnd # Capture parse errors from ripper # # Example: # # puts RipperErrors.new(" def foo").call.errors # # => ["syntax error, unexpected end-of-input, expecting ';' or '\\n'"] class RipperErrors < Ripper attr_reader :errors # Comes from ripper, called # on every parse error, msg # is a string def on_parse_error(msg) @errors ||= [] @errors << msg end alias_method :on_alias_error, :on_parse_error alias_method :on_assign_error, :on_parse_error alias_method :on_class_name_error, :on_parse_error alias_method :on_param_error, :on_parse_error alias_method :compile_error, :on_parse_error def call @run_once ||= begin @errors = [] parse true end self end end end
Version data entries
5 entries across 5 versions & 1 rubygems