Class: ElectionBuddy::Validation::ListErrors

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/election_buddy/entities/validation/list_errors.rb

Overview

Represents a collection of voter list validation errors

Examples:

list_errors = ListErrors.new(response)
list_errors.total #=> 2
list_errors.empty? #=> false

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(response) ⇒ ListErrors

Returns a new instance of ListErrors.

Parameters:

  • response (Hash)

    API response containing validation errors



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

def initialize(response)
  @list_errors = response["voter_list_errors"]
  @total = response["meta"]["total"]
end

Instance Attribute Details

#totalInteger (readonly)

Returns Total number of validation errors.

Returns:

  • (Integer)

    Total number of validation errors



16
17
18
# File 'lib/election_buddy/entities/validation/list_errors.rb', line 16

def total
  @total
end

Instance Method Details

#collectionObject (private)



40
41
42
43
44
# File 'lib/election_buddy/entities/validation/list_errors.rb', line 40

def collection
  @collection ||= @list_errors
                  .map { |category, messages| { category => messages } }
                  .map { |list_error| ListError.new(list_error) }
end

#each(&block) ⇒ Enumerator

Iterates through each list error

Returns:

  • (Enumerator)

    Collection of list errors



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

def each(&block)
  collection.each(&block)
end

#empty?Boolean

Checks if there are any list errors

Returns:

  • (Boolean)

    true if no errors exist, false otherwise



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

def empty?
  collection.empty?
end