Class: Congress::Client

Inherits:
Object
  • Object
show all
Includes:
Connection, Request
Defined in:
lib/congress/client.rb

Constant Summary

Constants included from Connection

Congress::Connection::ENDPOINT

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Request

#get

Constructor Details

#initialize(key) ⇒ Client



11
12
13
# File 'lib/congress/client.rb', line 11

def initialize(key)
  @key = key
end

Instance Attribute Details

#keyObject (readonly)

Returns the value of attribute key.



9
10
11
# File 'lib/congress/client.rb', line 9

def key
  @key
end

Instance Method Details

#bills(options = {}) ⇒ Hashie::Rash

Legislation in the House and Senate, back to 2009. Updated daily.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.bills


65
66
67
# File 'lib/congress/client.rb', line 65

def bills(options = {})
  get('/bills', options)
end

#bills_search(options = {}) ⇒ Hashie::Rash

Full text search over legislation.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.bills_search


75
76
77
# File 'lib/congress/client.rb', line 75

def bills_search(options = {})
  get('/bills/search', options)
end

#committees(options = {}) ⇒ Hashie::Rash

Current committees, subcommittees, and their membership.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.committees


55
56
57
# File 'lib/congress/client.rb', line 55

def committees(options = {})
  get('/committees', options)
end

#districts_locate(*args) ⇒ Hashie::Rash

Find congressional districts for a latitude/longitude, zip, or address.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.districts_locate(94107)
Congress.districts_locate(37.775, -122.418)
Congress.districts_locate('2169 Mission Street, San Francisco, CA 94110')


45
46
47
# File 'lib/congress/client.rb', line 45

def districts_locate(*args)
  get('/districts/locate', extract_location(args))
end

#floor_updates(options = {}) ⇒ Hashie::Rash

To-the-minute updates from the floor of the House and Senate.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.floor_updates


95
96
97
# File 'lib/congress/client.rb', line 95

def floor_updates(options = {})
  get('/floor_updates', options)
end

#hearings(options = {}) ⇒ Hashie::Rash

Committee hearings in Congress. Updated as hearings are announced.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.hearings


105
106
107
# File 'lib/congress/client.rb', line 105

def hearings(options = {})
  get('/hearings', options)
end

#legislators(options = {}) ⇒ Hashie::Rash

Current legislators' names, IDs, biography, and social media.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.legislators


21
22
23
# File 'lib/congress/client.rb', line 21

def legislators(options = {})
  get('/legislators', options)
end

#legislators_locate(*args) ⇒ Hashie::Rash

Find representatives and senators for a latitude/longitude, zip, or address.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.legislators_locate(94107)
Congress.legislators_locate(37.775, -122.418)
Congress.legislators_locate('2169 Mission Street, San Francisco, CA 94110')


33
34
35
# File 'lib/congress/client.rb', line 33

def legislators_locate(*args)
  get('/legislators/locate', extract_location(args))
end

#upcoming_bills(options = {}) ⇒ Hashie::Rash

Bills scheduled for debate in the future, as announced by party leadership.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.upcoming_bills


115
116
117
# File 'lib/congress/client.rb', line 115

def upcoming_bills(options = {})
  get('/upcoming_bills', options)
end

#votes(options = {}) ⇒ Hashie::Rash

Roll call votes in Congress, back to 2009. Updated within minutes of votes.

Examples:

Congress.key = YOUR_SUNLIGHT_API_KEY
Congress.votes


85
86
87
# File 'lib/congress/client.rb', line 85

def votes(options = {})
  get('/votes', options)
end