The project is in a healthy, maintained state
This gem provides a Ruby SDK for easy interaction with the ElectionBuddy API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 2.12
 Project Readme

ElectionBuddy Ruby

A Ruby client for interacting with the ElectionBuddy API. You can find the API documentation here.

Installation

Install the gem and add it to the application's Gemfile by executing:

bundle add electionbuddy-ruby

If bundler is not being used to manage dependencies, install the gem by executing:

gem install electionbuddy-ruby

Alternatively, add the gem to the Gemfile:

gem 'electionbuddy-ruby'

Usage

Ensure you have an API key from Electionbuddy. You can configure the API key globally or initialize the client directly with the API key.

Global Configuration

Example in a Rails application

Create an initializer file in config/initializers/electionbuddy.rb and add the following code:

ElectionBuddy.configure do |config|
  config.api_key = Rails.application.credentials.electionbuddy[:api_key]
end

Client Initialization

You can now initialize the client without passing the API key if it has been configured globally:

client = ElectionBuddy::Client.new

Alternatively, you can still pass the API key directly during initialization. If the API key is passed during initialization, it will take precedence over the global configuration.

client = ElectionBuddy::Client.new(api_key: 'your-api-key')

Voter List Validation

To validate a voter list, use the voter_list.validate(vote_id) method:

validation = client.voter_list.validate(1)

if validation.done?
  puts "Validation completed successfully! Identifier: #{validation.identifier}"
  # "Validation completed successfully! Identifier: ae0a1724-9791-4bb2-8331-6d4e55a9b7c8"
else
  puts "Validation failed: #{validation.error}"
  # "Validation failed: Vote: not found"
end

Possible Errors

The following errors may be raised by the API:

  • 400: Malformed request.
  • 401: Invalid authentication credentials.
  • 403: Unauthorized.
  • 404: Resource not found.
  • 429: Your request exceeded the API rate limit.
  • 500: We were unable to perform the request due to server-side problems.

Each error will raise an Error exception with a message detailing the status code and the error message returned by the API.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and the created tag, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/electionbuddy/electionbuddy-ruby.

License

The gem is available as open source under the terms of the MIT License.