class ReeMapper::ErrorWithLocation
def field_name
def field_name @field_name_parts.reduce { "#{_1}[#{_2}]" } end
def full_message(...)
def full_message(...) msg = super return msg if location.nil? last_sym_idx = msg.index(/\).*\n/) return msg if last_sym_idx.nil? msg.insert(last_sym_idx + 1, ", located at #{location}") end
def initialize(message, location = nil, field_name_parts = [])
def initialize(message, location = nil, field_name_parts = []) @message = message @location = location @field_name_parts = field_name_parts end
def message
def message msg = @message if location msg = "#{msg}, located at #{location}" end return msg if @field_name_parts.empty? "`#{field_name}` #{msg}" end
def message
def message return @message if @field_name_parts.empty? "`#{field_name}` #{@message}" end
def prepend_field_name(part)
def prepend_field_name(part) @field_name_parts.unshift part nil end