Sha256: 4a0e255915ac76cf21a24438edede95bd4f3a0023d90cea941126b8f095e0e1d

Contents?: true

Size: 616 Bytes

Versions: 4

Compression:

Stored size: 616 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  class PrecompileError < Error
    attr_reader :line, :column

    def initialize(message, line: nil, column: nil, display_class: nil)
      @line = line
      @column = column
      @display_class = display_class
      super(message)
    end

    def warn(path:)
      ::Leftovers.warn "#{display_class}: #{path}#{location} #{message}"
    end

    private

    def display_class
      @display_class || cause&.class || self.class
    end

    def location
      return unless line
      return ":#{line}" unless column

      ":#{line}:#{column}"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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