Exception: BrainzLab::ValidationError

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

Overview

Raised when request parameters or data fail validation.

Examples:

Invalid parameter

raise BrainzLab::ValidationError.new(
  "Invalid email format",
  hint: "Provide a valid email address (e.g., user@example.com)",
  code: "invalid_email",
  context: { field: "email", value: "invalid" }
)

Constant Summary

Constants inherited from Error

Error::DOCS_BASE_URL

Instance Attribute Summary collapse

Attributes inherited from Error

#code, #context, #docs_url, #hint

Instance Method Summary collapse

Methods inherited from Error

#as_json, #detailed_message, #inspect, #to_h, #to_s

Constructor Details

#initialize(message = nil, hint: nil, docs_url: nil, code: nil, context: nil, field: nil, errors: nil) ⇒ ValidationError

Returns a new instance of ValidationError.



220
221
222
223
224
225
226
227
228
229
230
231
232
# File 'lib/brainzlab/errors.rb', line 220

def initialize(message = nil, hint: nil, docs_url: nil, code: nil, context: nil, field: nil, errors: nil)
  @field = field
  @errors = errors

  docs_url ||= "#{DOCS_BASE_URL}/sdk/ruby/api-reference"
  code ||= 'validation_error'

  context ||= {}
  context[:field] = field if field
  context[:errors] = errors if errors

  super(message, hint: hint, docs_url: docs_url, code: code, context: context.empty? ? nil : context)
end

Instance Attribute Details

#errorsArray<Hash>? (readonly)

Returns List of validation errors for multiple fields.

Returns:

  • (Array<Hash>, nil)

    List of validation errors for multiple fields



218
219
220
# File 'lib/brainzlab/errors.rb', line 218

def errors
  @errors
end

#fieldString? (readonly)

Returns The field that failed validation.

Returns:

  • (String, nil)

    The field that failed validation



215
216
217
# File 'lib/brainzlab/errors.rb', line 215

def field
  @field
end