Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby wrappers for open government APIs around the web
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
generators/govkit
lib
spec
.document
.gitignore
LICENSE
README.md
Rakefile
USAGE
VERSION
govkit.gemspec
init.rb

README.md

Govkit

Govkit is a Ruby gem that provides simple access to open government APIs around the web, including:

Installation

From gemcutter:

gem install govkit

Setup

Add govkit to your environment.rb or Gemfile

Run rails generate govkit (Rails 3.x) or script/generate govkit (Rails 2.x) to copy a config file into config/initializers/govkit.rb. You will need to add your API keys to this config file.

Usage Examples

>> GovKit::OpenStates::State.find_by_abbreviation('CA')
>> GovKit::VoteSmart::Address.find(votesmart_candidate_id)
>> GovKit::OpenCongress::Bill.find(:number => 5479, :type => 'h', :congress => '111')

Objects returned from GovKit will have attributes for each field coming back from the API:

>> x = GovKit::OpenStates::State.find_by_abbreviation('CA')
=> #<GovKit::OpenStates::State:0x00000100f6a5a8 @attributes={"lower_chamber_title"=>"Assemblymember", "lower_chamber_name"=>"Assembly", "upper_chamber_title"=>"Senator", "terms"=>[#<GovKit::OpenStates::State::Term:0x00000100f2a8e0 @attributes={"....
>> x.name
=> "California"

GovKit will raise GovKit::ResourceNotFound if a requested item isn't available.

Testing & Debugging

For debugging purposes, there's a raw_response reader provided for each object, which typically returns an HTTParty::Response object. To see the body of the HTTP response, you might look here:

(continuing the example from above)
>> x.raw_response.response.body
=> "{\n    \"lower_chamber_title\": \"Assemblymember\", \n    \"lower_chamber_name\": \"Assembly\", \n  ....

Bugs? Questions?

Please join the Govkit Google Group, especially if you'd like to talk about a new feature and get announcements.

Report a bug on our Lighthouse page.

Govkit's main repo is on Github: http://github.com/opengovernment/govkit, where your contributions, forks, and feedback are greatly welcomed.

Copyright (c) 2010 Participatory Politics Foundation, released under the MIT license

Something went wrong with that request. Please try again.