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.