congress 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/Gemfile +3 -3
- data/README.md +69 -21
- data/Rakefile +1 -1
- data/certs/sferik.pem +20 -0
- data/congress.gemspec +20 -16
- data/lib/congress/client.rb +27 -29
- data/lib/congress/version.rb +1 -1
- data/spec/congress/client_spec.rb +6 -6
- data/spec/helper.rb +11 -4
- metadata +58 -7
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
Binary file
|
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source '
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
gem 'rake'
|
4
4
|
|
@@ -7,14 +7,14 @@ platforms :jruby do
|
|
7
7
|
end
|
8
8
|
|
9
9
|
group :development do
|
10
|
-
gem 'json', :platforms => :ruby_18
|
11
10
|
gem 'kramdown'
|
12
|
-
gem 'simplecov'
|
13
11
|
gem 'yard'
|
14
12
|
end
|
15
13
|
|
16
14
|
group :test do
|
15
|
+
gem 'coveralls', :require => false
|
17
16
|
gem 'rspec'
|
17
|
+
gem 'simplecov', :require => false
|
18
18
|
gem 'webmock'
|
19
19
|
end
|
20
20
|
|
data/README.md
CHANGED
@@ -1,53 +1,101 @@
|
|
1
|
-
# Ruby wrapper for the
|
1
|
+
# Ruby wrapper for the Sunlight Congress API
|
2
2
|
|
3
3
|
[][gem]
|
4
4
|
[][travis]
|
5
5
|
[][gemnasium]
|
6
6
|
[][codeclimate]
|
7
|
+
[][coveralls]
|
7
8
|
[gem]: https://rubygems.org/gems/congress
|
8
9
|
[travis]: http://travis-ci.org/codeforamerica/congress
|
9
10
|
[gemnasium]: https://gemnasium.com/codeforamerica/congress
|
10
11
|
[codeclimate]: https://codeclimate.com/github/codeforamerica/congress
|
12
|
+
[coveralls]: https://coveralls.io/r/codeforamerica/congress
|
11
13
|
|
12
|
-
The
|
13
|
-
Congress,
|
14
|
+
The Sunlight Congress API is a live JSON API for the people and work of
|
15
|
+
Congress, provided by the Sunlight Foundation.
|
14
16
|
|
15
17
|
## Installation
|
16
18
|
gem install congress
|
17
19
|
|
20
|
+
To ensure the code you're installing hasn't been tampered with, it's
|
21
|
+
recommended that you verify the signature. To do this, you need to add my
|
22
|
+
public key as a trusted certificate (you only need to do this once):
|
23
|
+
|
24
|
+
gem cert --add <(curl -Ls https://raw.github.com/codeforamerica/congress/master/certs/sferik.pem)
|
25
|
+
|
26
|
+
Then, install the gem with the high security trust policy:
|
27
|
+
|
28
|
+
gem install congress -P HighSecurity
|
29
|
+
|
18
30
|
## Documentation
|
19
31
|
[http://rdoc.info/gems/congress][documentation]
|
20
32
|
[documentation]: http://rdoc.info/gems/congress
|
21
33
|
|
34
|
+
## Authentication
|
35
|
+
|
36
|
+
All requests to the Congress API require a Sunlight API key. An API key is
|
37
|
+
[free to register][register] and has no usage limits.
|
38
|
+
|
39
|
+
[register]: http://services.sunlightlabs.com/accounts/register/
|
40
|
+
|
22
41
|
## Usage Examples
|
42
|
+
|
43
|
+
###### Setup
|
23
44
|
```ruby
|
24
|
-
require 'rubygems'
|
25
45
|
require 'congress'
|
46
|
+
Congress.key = YOUR_SUNLIGHT_API_KEY
|
47
|
+
```
|
48
|
+
|
49
|
+
###### Fetch current legislators' names, IDs, biography, and social media
|
50
|
+
```ruby
|
51
|
+
Congress.legislators
|
52
|
+
```
|
53
|
+
|
54
|
+
###### Fetch representatives and senators for a latitude/longitude or zip code
|
55
|
+
```ruby
|
56
|
+
Congress.legislators_locate(37.775, -122.418)
|
57
|
+
Congress.legislators_locate(94107)
|
58
|
+
```
|
26
59
|
|
27
|
-
|
28
|
-
|
29
|
-
Congress.
|
60
|
+
###### Fetch congressional districts for a latitude/longitude or zip code
|
61
|
+
```ruby
|
62
|
+
Congress.districts_locate(37.775, -122.418)
|
63
|
+
Congress.districts_locate(94107)
|
64
|
+
```
|
30
65
|
|
31
|
-
|
32
|
-
|
66
|
+
###### Fetch current committees, subcommittees, and their membership
|
67
|
+
```ruby
|
68
|
+
Congress.committees
|
69
|
+
```
|
33
70
|
|
34
|
-
|
35
|
-
|
71
|
+
###### Fetch legislation in the House and Senate
|
72
|
+
```ruby
|
73
|
+
Congress.bills
|
74
|
+
```
|
36
75
|
|
37
|
-
|
38
|
-
|
76
|
+
###### Fetch legislation related to health care
|
77
|
+
```ruby
|
78
|
+
Congress.bills_search(:query => "health care")
|
79
|
+
```
|
39
80
|
|
40
|
-
|
41
|
-
|
81
|
+
###### Fetch roll call votes in Congress
|
82
|
+
```ruby
|
83
|
+
Congress.votes
|
84
|
+
```
|
42
85
|
|
43
|
-
|
44
|
-
|
86
|
+
###### Fetch to-the-minute updates from the floor of the House and Senate
|
87
|
+
```ruby
|
88
|
+
Congress.floor_updates
|
89
|
+
```
|
45
90
|
|
46
|
-
|
47
|
-
|
91
|
+
###### Fetch committee hearings in Congress
|
92
|
+
```ruby
|
93
|
+
Congress.hearings
|
94
|
+
```
|
48
95
|
|
49
|
-
|
50
|
-
|
96
|
+
###### Fetch bills scheduled for debate in the future, as announced by party leadership
|
97
|
+
```ruby
|
98
|
+
Congress.upcoming_bills
|
51
99
|
```
|
52
100
|
|
53
101
|
## Contributing
|
data/Rakefile
CHANGED
data/certs/sferik.pem
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZzZmVy
|
3
|
+
aWsxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixkARkWA2NvbTAe
|
4
|
+
Fw0xMzAyMDMxMDAyMjdaFw0xNDAyMDMxMDAyMjdaMD0xDzANBgNVBAMMBnNmZXJp
|
5
|
+
azEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYKCZImiZPyLGQBGRYDY29tMIIB
|
6
|
+
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl0x5dx8uKxi7TkrIuyBUTJVB
|
7
|
+
v1o93nUB9j/y4M96gV2rYwAci1JPBseNd6Fybzjo3YGuHl7EQHuSHNaf1p2lxew/
|
8
|
+
y60JXIJBBgPcDK/KCP4NUHofm0jfoYD+H5uNJfHCNq7/ZsTxOtE3Ra92s0BCMTpm
|
9
|
+
wBMMlWR5MtdEhIYuBO4XhnejYgH0L/7BL2lymntVnsr/agdQoojQCN1IQmsRJvrR
|
10
|
+
duZRO3tZvoIo1pBc4JEehDuqCeyBgPLOqMoKtQlold1TQs1kWUBK7KWMFEhKC/Kg
|
11
|
+
zyzKRHQo9yDYwOvYngoBLY+T/lwCT4dyssdhzRbfnxAhaKu4SAssIwaC01yVowID
|
12
|
+
AQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBS0ruDfRak5ci1OpDNX/ZdDEkIs
|
13
|
+
iTALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQADggEBAHHSMs/MP0sOaLkEv4Jo
|
14
|
+
zvkm3qn5A6t0vaHx774cmejyMU+5wySxRezspL7ULh9NeuK2OhU+Oe3TpqrAg5TK
|
15
|
+
R8GQILnVu2FemGA6sAkPDlcPtgA6ieI19PZOF6HVLmc/ID/dP/NgZWWzEeqQKmcK
|
16
|
+
2+HM+SEEDhZkScYekw4ZOe164ZtZG816oAv5x0pGitSIkumUp7V8iEZ/6ehr7Y9e
|
17
|
+
XOg4eeun5L/JjmjARoW2kNdvkRD3c2EeSLqWvQRsBlypHfhs6JJuLlyZPGhU3R/v
|
18
|
+
Sf3lVKpBCWgRpGTvy45XVpB+59y33PJmEuQ1PTEOYvQyao9UKMAAaAN/7qWQtjl0
|
19
|
+
hlw=
|
20
|
+
-----END CERTIFICATE-----
|
data/congress.gemspec
CHANGED
@@ -1,20 +1,24 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require File.expand_path('../lib/congress/version', __FILE__)
|
3
3
|
|
4
|
-
Gem::Specification.new do |
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.add_dependency 'faraday', '~> 0.8.7'
|
6
|
+
spec.add_dependency 'faraday_middleware', '~> 0.9.0'
|
7
|
+
spec.add_dependency 'hashie', '~> 2.0'
|
8
|
+
spec.add_dependency 'json', '~> 1.8'
|
9
|
+
spec.add_dependency 'rash', '~> 0.4'
|
10
|
+
spec.add_development_dependency 'bundler', '~> 1.0'
|
11
|
+
spec.author = "Erik Michaels-Ober"
|
12
|
+
spec.cert_chain = ['certs/sferik.pem']
|
13
|
+
spec.description = %q{Ruby wrapper for the Sunlight Congress API, a live JSON API for the people and work of Congress, provided by the Sunlight Foundation.}
|
14
|
+
spec.email = 'sferik@gmail.com'
|
15
|
+
spec.files = `git ls-files`.split("\n")
|
16
|
+
spec.homepage = 'https://github.com/codeforamerica/congress'
|
17
|
+
spec.licenses = ['MIT']
|
18
|
+
spec.name = 'congress'
|
19
|
+
spec.require_paths = ['lib']
|
20
|
+
spec.signing_key = File.expand_path("~/.gem/private_key.pem") if $0 =~ /gem\z/
|
21
|
+
spec.summary = %q{Ruby wrapper for the Sunlight Congress API}
|
22
|
+
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
23
|
+
spec.version = Congress::VERSION
|
20
24
|
end
|
data/lib/congress/client.rb
CHANGED
@@ -10,7 +10,7 @@ module Congress
|
|
10
10
|
#
|
11
11
|
# @return [Hashie::Rash]
|
12
12
|
# @example
|
13
|
-
# Congress.key =
|
13
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
14
14
|
# Congress.legislators
|
15
15
|
def legislators(options={})
|
16
16
|
get('/legislators', options.merge(api_key))
|
@@ -20,19 +20,11 @@ module Congress
|
|
20
20
|
#
|
21
21
|
# @return [Hashie::Rash]
|
22
22
|
# @example
|
23
|
-
# Congress.key =
|
23
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
24
24
|
# Congress.legislators_locate(94107)
|
25
25
|
# Congress.legislators_locate(37.775, -122.418)
|
26
26
|
def legislators_locate(*args)
|
27
|
-
options = args
|
28
|
-
if args.size == 1
|
29
|
-
options[:zip] = args.pop
|
30
|
-
elsif args.size == 2
|
31
|
-
options[:longitude] = args.pop
|
32
|
-
options[:latitude] = args.pop
|
33
|
-
else
|
34
|
-
raise ArgumentError, "Must pass a latitude/longitude or zip"
|
35
|
-
end
|
27
|
+
options = extract_location(args)
|
36
28
|
get('/legislators/locate', options.merge(api_key))
|
37
29
|
end
|
38
30
|
|
@@ -40,19 +32,11 @@ module Congress
|
|
40
32
|
#
|
41
33
|
# @return [Hashie::Rash]
|
42
34
|
# @example
|
43
|
-
# Congress.key =
|
35
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
44
36
|
# Congress.districts_locate(94107)
|
45
37
|
# Congress.districts_locate(37.775, -122.418)
|
46
38
|
def districts_locate(*args)
|
47
|
-
options = args
|
48
|
-
if args.size == 1
|
49
|
-
options[:zip] = args.pop
|
50
|
-
elsif args.size == 2
|
51
|
-
options[:longitude] = args.pop
|
52
|
-
options[:latitude] = args.pop
|
53
|
-
else
|
54
|
-
raise ArgumentError, "Must pass a latitude/longitude or zip"
|
55
|
-
end
|
39
|
+
options = extract_location(args)
|
56
40
|
get('/districts/locate', options.merge(api_key))
|
57
41
|
end
|
58
42
|
|
@@ -60,7 +44,7 @@ module Congress
|
|
60
44
|
#
|
61
45
|
# @return [Hashie::Rash]
|
62
46
|
# @example
|
63
|
-
# Congress.key =
|
47
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
64
48
|
# Congress.committees
|
65
49
|
def committees(options={})
|
66
50
|
get('/committees', options.merge(api_key))
|
@@ -70,7 +54,7 @@ module Congress
|
|
70
54
|
#
|
71
55
|
# @return [Hashie::Rash]
|
72
56
|
# @example
|
73
|
-
# Congress.key =
|
57
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
74
58
|
# Congress.bills
|
75
59
|
def bills(options={})
|
76
60
|
get('/bills', options.merge(api_key))
|
@@ -80,7 +64,7 @@ module Congress
|
|
80
64
|
#
|
81
65
|
# @return [Hashie::Rash]
|
82
66
|
# @example
|
83
|
-
# Congress.key =
|
67
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
84
68
|
# Congress.bills_search
|
85
69
|
def bills_search(options={})
|
86
70
|
get('/bills/search', options.merge(api_key))
|
@@ -90,7 +74,7 @@ module Congress
|
|
90
74
|
#
|
91
75
|
# @return [Hashie::Rash]
|
92
76
|
# @example
|
93
|
-
# Congress.key =
|
77
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
94
78
|
# Congress.votes
|
95
79
|
def votes(options={})
|
96
80
|
get('/votes', options.merge(api_key))
|
@@ -100,7 +84,7 @@ module Congress
|
|
100
84
|
#
|
101
85
|
# @return [Hashie::Rash]
|
102
86
|
# @example
|
103
|
-
# Congress.key =
|
87
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
104
88
|
# Congress.floor_updates
|
105
89
|
def floor_updates(options={})
|
106
90
|
get('/floor_updates', options.merge(api_key))
|
@@ -110,7 +94,7 @@ module Congress
|
|
110
94
|
#
|
111
95
|
# @return [Hashie::Rash]
|
112
96
|
# @example
|
113
|
-
# Congress.key =
|
97
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
114
98
|
# Congress.hearings
|
115
99
|
def hearings(options={})
|
116
100
|
get('/hearings', options.merge(api_key))
|
@@ -120,17 +104,31 @@ module Congress
|
|
120
104
|
#
|
121
105
|
# @return [Hashie::Rash]
|
122
106
|
# @example
|
123
|
-
# Congress.key =
|
107
|
+
# Congress.key = YOUR_SUNLIGHT_API_KEY
|
124
108
|
# Congress.upcoming_bills
|
125
109
|
def upcoming_bills(options={})
|
126
110
|
get('/upcoming_bills', options.merge(api_key))
|
127
111
|
end
|
128
112
|
|
129
|
-
|
113
|
+
private
|
130
114
|
|
131
115
|
def api_key
|
132
116
|
{:apikey => Congress.key}
|
133
117
|
end
|
134
118
|
|
119
|
+
def extract_location(args)
|
120
|
+
options = args.last.is_a?(::Hash) ? args.pop : {}
|
121
|
+
case args.size
|
122
|
+
when 1
|
123
|
+
options[:zip] = args.pop
|
124
|
+
when 2
|
125
|
+
options[:longitude] = args.pop
|
126
|
+
options[:latitude] = args.pop
|
127
|
+
else
|
128
|
+
raise ArgumentError, "Must pass a latitude/longitude or zip"
|
129
|
+
end
|
130
|
+
options
|
131
|
+
end
|
132
|
+
|
135
133
|
end
|
136
134
|
end
|
data/lib/congress/version.rb
CHANGED
@@ -28,7 +28,7 @@ describe Congress::Client do
|
|
28
28
|
stub_get('/legislators/locate?apikey=abc123&zip=94107').
|
29
29
|
to_return(:status => 200, :body => fixture('legislators_locate.json'))
|
30
30
|
end
|
31
|
-
it "fetches representatives and senators for a
|
31
|
+
it "fetches representatives and senators for a zip code" do
|
32
32
|
legislators_locate = @client.legislators_locate(94107)
|
33
33
|
a_get('/legislators/locate?apikey=abc123&zip=94107').
|
34
34
|
should have_been_made
|
@@ -41,7 +41,7 @@ describe Congress::Client do
|
|
41
41
|
stub_get('/legislators/locate?apikey=abc123&latitude=37.775&longitude=-122.418').
|
42
42
|
to_return(:status => 200, :body => fixture('legislators_locate.json'))
|
43
43
|
end
|
44
|
-
it "fetches representatives and senators for a latitude/longitude
|
44
|
+
it "fetches representatives and senators for a latitude/longitude pir" do
|
45
45
|
legislators_locate = @client.legislators_locate(37.775, -122.418)
|
46
46
|
a_get('/legislators/locate?apikey=abc123&latitude=37.775&longitude=-122.418').
|
47
47
|
should have_been_made
|
@@ -64,7 +64,7 @@ describe Congress::Client do
|
|
64
64
|
stub_get('/districts/locate?apikey=abc123&zip=94107').
|
65
65
|
to_return(:status => 200, :body => fixture('districts_locate.json'))
|
66
66
|
end
|
67
|
-
it "fetches congressional districts for a
|
67
|
+
it "fetches congressional districts for a zip code" do
|
68
68
|
districts_locate = @client.districts_locate(94107)
|
69
69
|
a_get('/districts/locate?apikey=abc123&zip=94107').
|
70
70
|
should have_been_made
|
@@ -77,7 +77,7 @@ describe Congress::Client do
|
|
77
77
|
stub_get('/districts/locate?apikey=abc123&latitude=37.775&longitude=-122.418').
|
78
78
|
to_return(:status => 200, :body => fixture('districts_locate.json'))
|
79
79
|
end
|
80
|
-
it "fetches congressional districts for a latitude/longitude
|
80
|
+
it "fetches congressional districts for a latitude/longitude pair" do
|
81
81
|
districts_locate = @client.districts_locate(37.775, -122.418)
|
82
82
|
a_get('/districts/locate?apikey=abc123&latitude=37.775&longitude=-122.418').
|
83
83
|
should have_been_made
|
@@ -99,7 +99,7 @@ describe Congress::Client do
|
|
99
99
|
stub_get('/committees?apikey=abc123').
|
100
100
|
to_return(:status => 200, :body => fixture('committees.json'))
|
101
101
|
end
|
102
|
-
it "fetches
|
102
|
+
it "fetches current committees, subcommittees, and their membership" do
|
103
103
|
committees = @client.committees
|
104
104
|
a_get('/committees?apikey=abc123').
|
105
105
|
should have_been_made
|
@@ -183,7 +183,7 @@ describe Congress::Client do
|
|
183
183
|
stub_get('/upcoming_bills?apikey=abc123').
|
184
184
|
to_return(:status => 200, :body => fixture('upcoming_bills.json'))
|
185
185
|
end
|
186
|
-
it "fetches
|
186
|
+
it "fetches bills scheduled for debate in the future, as announced by party leadership" do
|
187
187
|
upcoming_bills = @client.upcoming_bills
|
188
188
|
a_get('/upcoming_bills?apikey=abc123').
|
189
189
|
should have_been_made
|
data/spec/helper.rb
CHANGED
@@ -1,11 +1,18 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
require 'simplecov'
|
2
|
+
require 'coveralls'
|
3
|
+
|
4
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
5
|
+
SimpleCov::Formatter::HTMLFormatter,
|
6
|
+
Coveralls::SimpleCov::Formatter
|
7
|
+
]
|
8
|
+
SimpleCov.start
|
9
|
+
|
5
10
|
require 'congress'
|
6
11
|
require 'rspec'
|
7
12
|
require 'webmock/rspec'
|
8
13
|
|
14
|
+
WebMock.disable_net_connect!(:allow => 'coveralls.io')
|
15
|
+
|
9
16
|
def a_get(path)
|
10
17
|
a_request(:get, 'http://congress.api.sunlightfoundation.com' + path)
|
11
18
|
end
|
metadata
CHANGED
@@ -1,15 +1,42 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: congress
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Erik Michaels-Ober
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
|
-
cert_chain:
|
12
|
-
|
11
|
+
cert_chain:
|
12
|
+
- !binary |-
|
13
|
+
LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURMakNDQWhhZ0F3SUJB
|
14
|
+
Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE5TVE4d0RRWURWUVFEREFaelpt
|
15
|
+
VnkKYVdzeEZUQVRCZ29Ka2lhSmsvSXNaQUVaRmdWbmJXRnBiREVUTUJFR0Nn
|
16
|
+
bVNKb21UOGl4a0FSa1dBMk52YlRBZQpGdzB4TXpBeU1ETXhNREF5TWpkYUZ3
|
17
|
+
MHhOREF5TURNeE1EQXlNamRhTUQweER6QU5CZ05WQkFNTUJuTm1aWEpwCmF6
|
18
|
+
RVZNQk1HQ2dtU0pvbVQ4aXhrQVJrV0JXZHRZV2xzTVJNd0VRWUtDWkltaVpQ
|
19
|
+
eUxHUUJHUllEWTI5dE1JSUIKSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4
|
20
|
+
QU1JSUJDZ0tDQVFFQWwweDVkeDh1S3hpN1Rrckl1eUJVVEpWQgp2MW85M25V
|
21
|
+
QjlqL3k0TTk2Z1Yycll3QWNpMUpQQnNlTmQ2RnliempvM1lHdUhsN0VRSHVT
|
22
|
+
SE5hZjFwMmx4ZXcvCnk2MEpYSUpCQmdQY0RLL0tDUDROVUhvZm0wamZvWUQr
|
23
|
+
SDV1TkpmSENOcTcvWnNUeE90RTNSYTkyczBCQ01UcG0Kd0JNTWxXUjVNdGRF
|
24
|
+
aElZdUJPNFhobmVqWWdIMEwvN0JMMmx5bW50Vm5zci9hZ2RRb29qUUNOMUlR
|
25
|
+
bXNSSnZyUgpkdVpSTzN0WnZvSW8xcEJjNEpFZWhEdXFDZXlCZ1BMT3FNb0t0
|
26
|
+
UWxvbGQxVFFzMWtXVUJLN0tXTUZFaEtDL0tnCnp5ektSSFFvOXlEWXdPdllu
|
27
|
+
Z29CTFkrVC9sd0NUNGR5c3NkaHpSYmZueEFoYUt1NFNBc3NJd2FDMDF5Vm93
|
28
|
+
SUQKQVFBQm96a3dOekFKQmdOVkhSTUVBakFBTUIwR0ExVWREZ1FXQkJTMHJ1
|
29
|
+
RGZSYWs1Y2kxT3BETlgvWmRERWtJcwppVEFMQmdOVkhROEVCQU1DQkxBd0RR
|
30
|
+
WUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFISFNNcy9NUDBzT2FMa0V2NEpvCnp2
|
31
|
+
a20zcW41QTZ0MHZhSHg3NzRjbWVqeU1VKzV3eVN4UmV6c3BMN1VMaDlOZXVL
|
32
|
+
Mk9oVStPZTNUcHFyQWc1VEsKUjhHUUlMblZ1MkZlbUdBNnNBa1BEbGNQdGdB
|
33
|
+
NmllSTE5UFpPRjZIVkxtYy9JRC9kUC9OZ1pXV3pFZXFRS21jSwoyK0hNK1NF
|
34
|
+
RURoWmtTY1lla3c0Wk9lMTY0WnRaRzgxNm9BdjV4MHBHaXRTSWt1bVVwN1Y4
|
35
|
+
aUVaLzZlaHI3WTllClhPZzRlZXVuNUwvSmptakFSb1cya05kdmtSRDNjMkVl
|
36
|
+
U0xxV3ZRUnNCbHlwSGZoczZKSnVMbHlaUEdoVTNSL3YKU2YzbFZLcEJDV2dS
|
37
|
+
cEdUdnk0NVhWcEIrNTl5MzNQSm1FdVExUFRFT1l2UXlhbzlVS01BQWFBTi83
|
38
|
+
cVdRdGpsMApobHc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
39
|
+
date: 2013-06-10 00:00:00.000000000 Z
|
13
40
|
dependencies:
|
14
41
|
- !ruby/object:Gem::Dependency
|
15
42
|
name: faraday
|
@@ -59,6 +86,22 @@ dependencies:
|
|
59
86
|
- - ~>
|
60
87
|
- !ruby/object:Gem::Version
|
61
88
|
version: '2.0'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: json
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
none: false
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.8'
|
97
|
+
type: :runtime
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
none: false
|
101
|
+
requirements:
|
102
|
+
- - ~>
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '1.8'
|
62
105
|
- !ruby/object:Gem::Dependency
|
63
106
|
name: rash
|
64
107
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,8 +134,8 @@ dependencies:
|
|
91
134
|
- - ~>
|
92
135
|
- !ruby/object:Gem::Version
|
93
136
|
version: '1.0'
|
94
|
-
description: Ruby wrapper for the
|
95
|
-
|
137
|
+
description: Ruby wrapper for the Sunlight Congress API, a live JSON API for the people
|
138
|
+
and work of Congress, provided by the Sunlight Foundation.
|
96
139
|
email: sferik@gmail.com
|
97
140
|
executables: []
|
98
141
|
extensions: []
|
@@ -107,6 +150,7 @@ files:
|
|
107
150
|
- LICENSE.md
|
108
151
|
- README.md
|
109
152
|
- Rakefile
|
153
|
+
- certs/sferik.pem
|
110
154
|
- congress.gemspec
|
111
155
|
- lib/congress.rb
|
112
156
|
- lib/congress/client.rb
|
@@ -127,7 +171,8 @@ files:
|
|
127
171
|
- spec/fixtures/votes.json
|
128
172
|
- spec/helper.rb
|
129
173
|
homepage: https://github.com/codeforamerica/congress
|
130
|
-
licenses:
|
174
|
+
licenses:
|
175
|
+
- MIT
|
131
176
|
post_install_message:
|
132
177
|
rdoc_options: []
|
133
178
|
require_paths:
|
@@ -138,18 +183,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
183
|
- - ! '>='
|
139
184
|
- !ruby/object:Gem::Version
|
140
185
|
version: '0'
|
186
|
+
segments:
|
187
|
+
- 0
|
188
|
+
hash: 1514215893081385722
|
141
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
190
|
none: false
|
143
191
|
requirements:
|
144
192
|
- - ! '>='
|
145
193
|
- !ruby/object:Gem::Version
|
146
194
|
version: '0'
|
195
|
+
segments:
|
196
|
+
- 0
|
197
|
+
hash: 1514215893081385722
|
147
198
|
requirements: []
|
148
199
|
rubyforge_project:
|
149
200
|
rubygems_version: 1.8.23
|
150
201
|
signing_key:
|
151
202
|
specification_version: 3
|
152
|
-
summary: Ruby wrapper for the
|
203
|
+
summary: Ruby wrapper for the Sunlight Congress API
|
153
204
|
test_files:
|
154
205
|
- spec/congress/client_spec.rb
|
155
206
|
- spec/congress_spec.rb
|
metadata.gz.sig
ADDED
Binary file
|