Class: ElectionBuddy::Validation::LineError

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

Overview

Represents a single line validation error

Examples:

line_error = LineError.new({ "voter_information_line_id" => 123, "errors" => { "email" => ["is invalid"] } })
line_error.voter_information_line_id #=> 123
line_error.error_messages #=> ["email: is invalid"]

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(line_error) ⇒ LineError

Returns a new instance of LineError.

Parameters:

  • line_error (Hash)

    The error hash containing line ID and errors



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

def initialize(line_error)
  @voter_information_line_id = line_error["voter_information_line_id"]
  @errors = line_error["errors"]
end

Instance Attribute Details

#errorsHash (readonly)

Returns The errors hash containing categories and messages.

Returns:

  • (Hash)

    The errors hash containing categories and messages



17
18
19
# File 'lib/election_buddy/entities/validation/line_error.rb', line 17

def errors
  @errors
end

#voter_information_line_idInteger (readonly)

Returns The ID of the voter information line.

Returns:

  • (Integer)

    The ID of the voter information line



14
15
16
# File 'lib/election_buddy/entities/validation/line_error.rb', line 14

def voter_information_line_id
  @voter_information_line_id
end

Instance Method Details

#error_messagesArray<String>

Returns formatted error messages for each category

Returns:

  • (Array<String>)

    Array of formatted error messages



28
29
30
31
32
# File 'lib/election_buddy/entities/validation/line_error.rb', line 28

def error_messages
  @errors.map do |(category, messages)|
    "#{category}: #{messages.join(", ")}"
  end
end