Class: ElectionBuddy::VoterListResource

Inherits:
Resource
  • Object
show all
Defined in:
lib/election_buddy/resources/voter_list_resource.rb

Overview

Handles voter list validation operations

Examples:

resource = VoterListResource.new(client)
validation = resource.validate(123)
result = resource.get_validation_result(validation.identifier)

Instance Method Summary collapse

Methods inherited from Resource

#error_messages, #get_request, #handle_response, #initialize, #post_request, #raise_error

Constructor Details

This class inherits a constructor from ElectionBuddy::Resource

Instance Method Details

#get_validation_result(identifier, page: 1, per_page: 10) ⇒ Validation::Result

Retrieves the validation results

Parameters:

  • identifier (String)

    The validation identifier

  • page (Integer, nil) (defaults to: 1)

    The page number for paginated results (optional, default: 1)

  • per_page (Integer, nil) (defaults to: 10)

    The number of items per page (optional, default: 10)

Returns:



40
41
42
43
44
45
# File 'lib/election_buddy/resources/voter_list_resource.rb', line 40

def get_validation_result(identifier, page: 1, per_page: 10)
  params = { "identifier" => identifier, "page" => page, "per_page" => per_page }
  response = get_request("/api/v2/votes/voters/validations", params)

  Validation::Result.new(response)
end

#import(vote_id, voters, append_mode: false) ⇒ Importation

Imports voters for a given vote

Parameters:

  • vote_id (Integer)

    The ID of the vote to import voters for

  • voters (Array<Hash>)

    Array of voter data to import

  • append_mode (Boolean) (defaults to: false)

    Whether to append voters to existing list (default: false)

Returns:



18
19
20
21
22
# File 'lib/election_buddy/resources/voter_list_resource.rb', line 18

def import(vote_id, voters, append_mode: false)
  response = post_request("/api/v2/votes/voters/importations", vote_id: vote_id.to_i, voters: voters, append_mode: append_mode)

  Importation.new(response)
end

#validate(vote_id) ⇒ Validation

Initiates a validation for a given vote

Parameters:

  • vote_id (Integer)

    The ID of the vote to validate

Returns:



28
29
30
31
32
# File 'lib/election_buddy/resources/voter_list_resource.rb', line 28

def validate(vote_id)
  response = post_request("/api/v2/votes/voters/validations", vote_id: vote_id.to_i)

  Validation.new(response)
end