Class: ElectionBuddy::Validation

Inherits:
Object
  • Object
show all
Defined in:
lib/election_buddy/entities/validation.rb,
lib/election_buddy/entities/validation/result.rb,
lib/election_buddy/entities/validation/line_error.rb,
lib/election_buddy/entities/validation/list_error.rb,
lib/election_buddy/entities/validation/line_errors.rb,
lib/election_buddy/entities/validation/list_errors.rb

Overview

Represents a validation operation response from the ElectionBuddy API This class handles both successful and failed validation responses

Examples:

validation = Validation.new(response_hash)
validation.done? #=> true/false

Defined Under Namespace

Classes: LineError, LineErrors, ListError, ListErrors, Result, UnavailableTotalErrorsCount, UnavailableValidStatus

Constant Summary collapse

Success =
->(data) { { success?: true, data: data } }
Failure =
->(error) { { success?: false, error: error } }

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ Validation

Returns a new instance of Validation.

Parameters:

  • response (Hash)

    The raw API response containing validation details



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

def initialize(response)
  @response = response
end

Instance Method Details

#done?Boolean

Checks if the validation completed successfully without errors

Returns:

  • (Boolean)

    true if validation completed without errors, false otherwise



27
28
29
# File 'lib/election_buddy/entities/validation.rb', line 27

def done?
  @response["error"].nil?
end

#errorString?

Returns formatted error message if validation failed

Returns:

  • (String, nil)

    Formatted error message or nil if validation was successful



34
35
36
37
38
# File 'lib/election_buddy/entities/validation.rb', line 34

def error
  return nil if done?

  ErrorFormatter.format(@response["error"])
end

#identifierString

Returns the unique identifier for this validation

Returns:

  • (String)

    The validation identifier or "Not available" if not present



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

def identifier
  @response["validation_identifier"] || "Not available"
end