Exception: Safire::Errors::ValidationError

Inherits:
Error
  • Object
show all
Defined in:
lib/safire/errors.rb

Overview

Raised for input validation errors.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attribute: nil, reason: nil) ⇒ ValidationError

Returns a new instance of ValidationError.



228
229
230
231
232
# File 'lib/safire/errors.rb', line 228

def initialize(attribute: nil, reason: nil)
  @attribute = attribute
  @reason    = reason
  super(build_message)
end

Instance Attribute Details

#attributeSymbol? (readonly)

Returns the attribute that failed validation.

Returns:

  • (Symbol, nil)

    the attribute that failed validation



225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# File 'lib/safire/errors.rb', line 225

class ValidationError < Error
  attr_reader :attribute, :reason

  def initialize(attribute: nil, reason: nil)
    @attribute = attribute
    @reason    = reason
    super(build_message)
  end

  private

  def build_message
    if @attribute && @reason
      "Validation failed for #{@attribute}: #{@reason}"
    elsif @attribute
      "Validation failed for #{@attribute}"
    else
      'Validation error'
    end
  end
end

#reasonString? (readonly)

Returns why validation failed.

Returns:

  • (String, nil)

    why validation failed



225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
# File 'lib/safire/errors.rb', line 225

class ValidationError < Error
  attr_reader :attribute, :reason

  def initialize(attribute: nil, reason: nil)
    @attribute = attribute
    @reason    = reason
    super(build_message)
  end

  private

  def build_message
    if @attribute && @reason
      "Validation failed for #{@attribute}: #{@reason}"
    elsif @attribute
      "Validation failed for #{@attribute}"
    else
      'Validation error'
    end
  end
end