Sha256: c42c8d561acd5a0d8bf27ac56de4c7243511ecb417b07f781c60d3669d447320

Contents?: true

Size: 572 Bytes

Versions: 7

Compression:

Stored size: 572 Bytes

Contents

# frozen_string_literal: true

class ReeMapper::ErrorWithLocation < ReeMapper::Error
  attr_reader :location

  def initialize(message, location = nil)
    if message.is_a?(String) && location && ENV["RUBY_ENV"] == "test"
      message = "#{message}, located at #{location}"
    end

    super(message)
    @location = location
  end

  def full_message(...)
    msg = super
    return msg if location.nil?

    idx = msg.index(/\).*\n/)
    return msg if idx.nil?
    return msg if ENV["RUBY_ENV"] == "test"

    msg.insert(idx + 1, ", located at #{location}")
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
ree_lib-1.0.93 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.92 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.91 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.90 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.89 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.88 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb
ree_lib-1.0.87 lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb