Class: ElectionBuddy::Validation::ListError

Inherits:
Object
  • Object
show all
Defined in:
lib/election_buddy/entities/validation/list_error.rb

Overview

Represents a single voter list validation error

Examples:

error = ListError.new({ "email" => ["is invalid", "is required"] })
error.category #=> "email"
error.messages #=> ["is invalid", "is required"]
error.error_message #=> "email: is invalid, is required"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error) ⇒ ListError

Returns a new instance of ListError.

Parameters:

  • error (Hash)

    The error hash containing category and messages



24
25
26
27
# File 'lib/election_buddy/entities/validation/list_error.rb', line 24

def initialize(error)
  @error = error
  @category, @messages = error.first
end

Instance Attribute Details

#categoryString (readonly)

Returns The category of the error.

Returns:

  • (String)

    The category of the error



18
19
20
# File 'lib/election_buddy/entities/validation/list_error.rb', line 18

def category
  @category
end

#errorHash (readonly)

Returns The raw error data.

Returns:

  • (Hash)

    The raw error data



15
16
17
# File 'lib/election_buddy/entities/validation/list_error.rb', line 15

def error
  @error
end

#messagesArray<String> (readonly)

Returns The error messages.

Returns:

  • (Array<String>)

    The error messages



21
22
23
# File 'lib/election_buddy/entities/validation/list_error.rb', line 21

def messages
  @messages
end

Instance Method Details

#error_messageString

Returns a formatted error message

Returns:

  • (String)

    The formatted error message



32
33
34
# File 'lib/election_buddy/entities/validation/list_error.rb', line 32

def error_message
  "#{category}: #{messages.join(", ")}"
end