civic_aide 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/lib/civic_aide/client.rb +1 -1
- data/lib/civic_aide/hash.rb +0 -4
- data/lib/civic_aide/version.rb +1 -1
- data/spec/civic_aide/civic_aide_spec.rb +25 -0
- data/spec/civic_aide/client_spec.rb +44 -1
- data/spec/civic_aide/hash_spec.rb +0 -10
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56f970f6dbdf0bc676809891902697c3324486bd
|
4
|
+
data.tar.gz: d2a0e07abf8aa8f9b4d2daebcb7f676593b66963
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2555271f3b409f60053278b35beb6ec27af35ee21893862d32eadda81302e13fa6b503ea21982ff8c79ac165cc63fa213b807143c858f67d2ff5d47281ab03ed
|
7
|
+
data.tar.gz: 226a43e8c8d7e65d2b38f19102620e597f7e98fd7b705aac2abbb6441884a8d2331e436527c4b43a4d6befc31f8ec188ab6d25171ec901624cca589d72c381c7
|
data/README.md
CHANGED
@@ -42,11 +42,11 @@ google_api_key = `ABCaSyD5aMsdmaXxHc7aiUyYuVXtCICV-y_PWnf5w`
|
|
42
42
|
client = CivicAide::Client.new(google_api_key)
|
43
43
|
```
|
44
44
|
|
45
|
-
Alternatively, the API key can be set with global configuration.
|
45
|
+
Alternatively, the API key can be set with global configuration and the resources can be accessed directly.
|
46
46
|
|
47
47
|
```ruby
|
48
48
|
CivicAide.api_key = "ABCaSyD5aMsdmaXxHc7aiUyYuVXtCICV-y_PWnf5w"
|
49
|
-
|
49
|
+
CivicAide.elections.all
|
50
50
|
```
|
51
51
|
|
52
52
|
## Resources
|
data/lib/civic_aide/client.rb
CHANGED
@@ -50,7 +50,7 @@ module CivicAide
|
|
50
50
|
|
51
51
|
def format_response(body)
|
52
52
|
body = JSON.parse(body)
|
53
|
-
body.change_zip! # to prevent Array#zip clashing when
|
53
|
+
body.change_zip! # to prevent Array#zip clashing when rubyifying the keys
|
54
54
|
body.rubyify_keys!
|
55
55
|
Hashie::Mash.new(body)
|
56
56
|
end
|
data/lib/civic_aide/hash.rb
CHANGED
data/lib/civic_aide/version.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CivicAide do
|
4
|
+
|
5
|
+
before do
|
6
|
+
CivicAide.api_key = "samplekey"
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'should include Forwardable' do
|
10
|
+
CivicAide.extend(Forwardable)
|
11
|
+
end
|
12
|
+
|
13
|
+
describe ".representatives" do
|
14
|
+
it "should include representatives" do
|
15
|
+
expect(CivicAide).to respond_to(:representatives)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe ".elections" do
|
20
|
+
it "should include elections" do
|
21
|
+
expect(CivicAide).to respond_to(:elections)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -8,6 +8,7 @@ describe CivicAide::Client do
|
|
8
8
|
|
9
9
|
describe '.new' do
|
10
10
|
it 'raises an error with no API key' do
|
11
|
+
CivicAide.api_key = nil
|
11
12
|
expect{ CivicAide::Client.new }.to raise_error(APIKeyNotSet)
|
12
13
|
end
|
13
14
|
|
@@ -43,7 +44,7 @@ describe CivicAide::Client do
|
|
43
44
|
|
44
45
|
describe '#default_query' do
|
45
46
|
it 'should have the api key' do
|
46
|
-
@client.send(:default_query).
|
47
|
+
expect(@client.send(:default_query)).to eq({:key => @client.api_key, :prettyPrint => false})
|
47
48
|
end
|
48
49
|
end
|
49
50
|
|
@@ -59,4 +60,46 @@ describe CivicAide::Client do
|
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
63
|
+
describe "#classify_error" do
|
64
|
+
it "should raise an error with NoAddressParameter" do
|
65
|
+
expect{ @client.send(:check_response_status, "noAddressParameter") }.to raise_error("NoAddressParameter")
|
66
|
+
end
|
67
|
+
|
68
|
+
it "should raise an error with ElectionIdMissing" do
|
69
|
+
expect{ @client.send(:check_response_status, "electionIdMissing") }.to raise_error("ElectionIdMissing")
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should raise an error with NoStreetSegmentFound" do
|
73
|
+
expect{ @client.send(:check_response_status, "noStreetSegmentFound") }.to raise_error("NoStreetSegmentFound")
|
74
|
+
end
|
75
|
+
|
76
|
+
it "should raise an error with AddressUnparseable" do
|
77
|
+
expect{ @client.send(:check_response_status, "addressUnparseable") }.to raise_error("AddressUnparseable")
|
78
|
+
end
|
79
|
+
|
80
|
+
it "should raise an error with NoAddressParameter" do
|
81
|
+
expect{ @client.send(:check_response_status, "noAddressParameter") }.to raise_error("NoAddressParameter")
|
82
|
+
end
|
83
|
+
|
84
|
+
it "should raise an error with MultipleStreetSegmentsFound" do
|
85
|
+
expect{ @client.send(:check_response_status, "multipleStreetSegmentsFound") }.to raise_error("MultipleStreetSegmentsFound")
|
86
|
+
end
|
87
|
+
|
88
|
+
it "should raise an error with ElectionOver" do
|
89
|
+
expect{ @client.send(:check_response_status, "electionOver") }.to raise_error("ElectionOver")
|
90
|
+
end
|
91
|
+
|
92
|
+
it "should raise an error with ElectionUnknown" do
|
93
|
+
expect{ @client.send(:check_response_status, "electionUnknown") }.to raise_error("ElectionUnknown")
|
94
|
+
end
|
95
|
+
|
96
|
+
it "should raise an error with InternalLookupFailure" do
|
97
|
+
expect{ @client.send(:check_response_status, "internalLookupFailure") }.to raise_error("InternalLookupFailure")
|
98
|
+
end
|
99
|
+
|
100
|
+
it "should not raise an error" do
|
101
|
+
expect{ @client.send(:check_response_status, "success") }.to_not raise_error
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
62
105
|
end
|
@@ -22,16 +22,6 @@ describe Hash do
|
|
22
22
|
|
23
23
|
end
|
24
24
|
|
25
|
-
context ".except" do
|
26
|
-
|
27
|
-
it "should remove the correct item" do
|
28
|
-
deleted = {:one => "hello", :two => "hello"}
|
29
|
-
deleted = deleted.except(:two)
|
30
|
-
expect(deleted).to eq({:one => "hello"})
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
|
35
25
|
context ".except!" do
|
36
26
|
|
37
27
|
it "should remove the correct item" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: civic_aide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Pearson
|
@@ -131,6 +131,7 @@ files:
|
|
131
131
|
- lib/civic_aide/representatives.rb
|
132
132
|
- lib/civic_aide/string.rb
|
133
133
|
- lib/civic_aide/version.rb
|
134
|
+
- spec/civic_aide/civic_aide_spec.rb
|
134
135
|
- spec/civic_aide/client_spec.rb
|
135
136
|
- spec/civic_aide/elections_spec.rb
|
136
137
|
- spec/civic_aide/errors_spec.rb
|
@@ -166,6 +167,7 @@ signing_key:
|
|
166
167
|
specification_version: 4
|
167
168
|
summary: A Ruby wrapper for the Google Civic Information API
|
168
169
|
test_files:
|
170
|
+
- spec/civic_aide/civic_aide_spec.rb
|
169
171
|
- spec/civic_aide/client_spec.rb
|
170
172
|
- spec/civic_aide/elections_spec.rb
|
171
173
|
- spec/civic_aide/errors_spec.rb
|