pyr 0.3.3 → 0.3.4
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 +7 -7
- data/lib/pyr.rb +26 -7
- data/lib/pyr/version.rb +1 -2
- data/pyr.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38e39c4009939ac2aeebaa972f147bf2d8cc9a75
|
4
|
+
data.tar.gz: 22fcfbe77d163fba7efdc6a9079ef9b7d0dda0f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f93053da22ae238b21e805c366fd10eb672da945600bbac528ae92b7eb1a53e617027ea6c3cdddd321690260a3c22a3458828353cc84d73a0b1e7ff6021c91e
|
7
|
+
data.tar.gz: 78a38d8a378ca65c0291fd61832a7cdb5262c8db8a9c789a8c5e05de67e0d614f29642afee444ac1b093d6b02c7609eae9f96b2cfe738abfe8777400ec761600
|
data/README.md
CHANGED
@@ -51,7 +51,7 @@ response.body
|
|
51
51
|
=> { ... }
|
52
52
|
|
53
53
|
reps = response.objects
|
54
|
-
=> #<PYR::RepRelation [#<PYR::Rep
|
54
|
+
=> #<PYR::RepRelation [#<PYR::Rep ...>]>
|
55
55
|
|
56
56
|
reps.first.official_full
|
57
57
|
=> "Bernard Sanders"
|
@@ -84,10 +84,10 @@ reps.democratic.senators.count
|
|
84
84
|
=> 46
|
85
85
|
|
86
86
|
reps.where official_full: 'Bernard Sanders'
|
87
|
-
=> #<PYR::RepRelation [#<PYR::Rep
|
87
|
+
=> #<PYR::RepRelation [#<PYR::Rep self: "https://phone-your-rep.herokuapp.com/api/beta/reps/S000033", state: #<PYR::State:0x007fdb11d42580>, district: nil, active: true, bioguide_id: "S000033", official_full: "Bernard Sanders", role: "United States Senator", party: "Independent", senate_class: "01", last: "Sanders", first: "Bernard", middle: nil, nickname: "Bernie", suffix: nil, contact_form: "http://www.sanders.senate.gov/contact/", url: "https://www.sanders.senate.gov", photo: "https://phoneyourrep.github.io/images/congress/450x550/S000033.jpg", twitter: "SenSanders", facebook: "senatorsanders", youtube: "senatorsanders", instagram: nil, googleplus: nil, twitter_id: "29442313", facebook_id: nil, youtube_id: "UCD_DaKNac0Ta-2PeHuoQ1uA", instagram_id: nil, office_locations_count: 3>]>
|
88
88
|
|
89
89
|
reps.independent.where { |r| r.state.name == 'Vermont' }.first
|
90
|
-
=> #<PYR::Rep
|
90
|
+
=> #<PYR::Rep self: "https://phone-your-rep.herokuapp.com/api/beta/reps/S000033", state: #<PYR::State:0x007fdb11d42580>, district: nil, active: true, bioguide_id: "S000033", official_full: "Bernard Sanders", role: "United States Senator", party: "Independent", senate_class: "01", last: "Sanders", first: "Bernard", middle: nil, nickname: "Bernie", suffix: nil, contact_form: "http://www.sanders.senate.gov/contact/", url: "https://www.sanders.senate.gov", photo: "https://phoneyourrep.github.io/images/congress/450x550/S000033.jpg", twitter: "SenSanders", facebook: "senatorsanders", youtube: "senatorsanders", instagram: nil, googleplus: nil, twitter_id: "29442313", facebook_id: nil, youtube_id: "UCD_DaKNac0Ta-2PeHuoQ1uA", instagram_id: nil, office_locations_count: 3>
|
91
91
|
```
|
92
92
|
|
93
93
|
### Querying by ID
|
@@ -99,14 +99,14 @@ bernie = PYR.call(:reps, 'S000033').objects.first
|
|
99
99
|
### Querying by Object
|
100
100
|
```ruby
|
101
101
|
office = PYR.reps('S000033').objects.first.office_locations.district.first
|
102
|
-
=> #<PYR::OfficeLocation
|
102
|
+
=> #<PYR::OfficeLocation city: "Burlington", rep: "https://phone-your-rep.herokuapp.com/api/beta/reps/S000033", active: true, office_id: "S000033-burlington", bioguide_id: "S000033", office_type: "district", distance: nil, building: "", address: "1 Church St.", suite: "3rd Floor", city: "Burlington", state: "VT", zip: "05401", phone: "802-862-0697", fax: "802-860-6370", hours: "", latitude: 44.4802081, longitude: -73.2130702, v_card_link: "https://phone-your-rep.herokuapp.com/v_cards/S000033-burlington", downloads: 14, qr_code_link: "https://s3.amazonaws.com/phone-your-rep-images/S000033_burlington.png">
|
103
103
|
|
104
104
|
# Pass in the object itself as the param to PYR.call
|
105
|
-
office
|
105
|
+
office == PYR.call(office).objects.first
|
106
106
|
=> true
|
107
107
|
|
108
108
|
# Or use #call on the object itself
|
109
|
-
office
|
109
|
+
office == office.call.objects.first
|
110
110
|
=> true
|
111
111
|
```
|
112
112
|
|
@@ -119,7 +119,7 @@ uri = rep.district.self
|
|
119
119
|
|
120
120
|
district = PYR.call(uri).objects.first
|
121
121
|
|
122
|
-
=> #<PYR::District
|
122
|
+
=> #<PYR::District self: "https://phone-your-rep.herokuapp.com/api/beta/districts/5000", full_code: "5000", code: "00", state_code: "50">
|
123
123
|
```
|
124
124
|
|
125
125
|
## Development
|
data/lib/pyr.rb
CHANGED
@@ -69,8 +69,10 @@ require 'pyr/version'
|
|
69
69
|
#
|
70
70
|
# PYR.reps('S000033').objects.first.official_full # => "Bernard Sanders"
|
71
71
|
#
|
72
|
-
# Any of the following resources can be passed as the first argument to
|
73
|
-
# or called as a class method directly to the PYR module,
|
72
|
+
# Any of the following resources can be passed as the first argument to
|
73
|
+
# `PYR.call`, or called as a class method directly to the PYR module,
|
74
|
+
# as in the above example.
|
75
|
+
#
|
74
76
|
# Both options yield a resource to the block for setting params.
|
75
77
|
# :reps, :office_locations, :states, :districts, :zctas
|
76
78
|
#
|
@@ -115,12 +117,14 @@ module PYR
|
|
115
117
|
#
|
116
118
|
# Arguments can be:
|
117
119
|
#
|
118
|
-
# a particular PYR::ResponseObject itself to query that object's 'self' url;
|
120
|
+
# * a particular PYR::ResponseObject itself to query that object's 'self' url;
|
121
|
+
#
|
122
|
+
# * a valid Phone Your Rep URI beginning with the API_BASE_URI string value;
|
119
123
|
#
|
120
|
-
#
|
124
|
+
# * or, perhaps most commonly, a resource name (String or Symbol) with
|
125
|
+
# optional ID(String).
|
121
126
|
#
|
122
|
-
#
|
123
|
-
# optional ID(String).
|
127
|
+
# @return [Response]
|
124
128
|
def self.call(resource, id = nil, &config_block)
|
125
129
|
if resource.is_a?(ResponseObject)
|
126
130
|
request_object = { response_object: resource }
|
@@ -136,35 +140,50 @@ module PYR
|
|
136
140
|
|
137
141
|
# Call the :reps resource.
|
138
142
|
#
|
143
|
+
# @example
|
139
144
|
# PYR.reps { |r| r.address = '123 Main St, USA 12345' }
|
145
|
+
#
|
146
|
+
# @return [PYR::Response]
|
140
147
|
def self.reps(id = nil, &config_block)
|
141
148
|
call(:reps, id, &config_block)
|
142
149
|
end
|
143
150
|
|
144
151
|
# Call the :office_locations resource.
|
145
152
|
#
|
153
|
+
# @example
|
146
154
|
# PYR.office_locations { |r| r.address = '123 Main St, USA 12345' }
|
147
|
-
|
155
|
+
#
|
156
|
+
# @return [PYR::Response]
|
157
|
+
def self.office_locations(id = nil, &config_block)
|
148
158
|
call(:office_locations, id, &config_block)
|
149
159
|
end
|
150
160
|
|
151
161
|
# Call the :zctas resource.
|
152
162
|
#
|
163
|
+
# @example
|
153
164
|
# PYR.zctas('90026') { |r| r.reps = true }
|
165
|
+
#
|
166
|
+
# @return [PYR::Response]
|
154
167
|
def self.zctas(id = nil, &config_block)
|
155
168
|
call(:zctas, id, &config_block)
|
156
169
|
end
|
157
170
|
|
158
171
|
# Call the :states resource.
|
159
172
|
#
|
173
|
+
# @example
|
160
174
|
# PYR.states '50'
|
175
|
+
#
|
176
|
+
# @return [PYR::Response]
|
161
177
|
def self.states(id = nil, &config_block)
|
162
178
|
call(:states, id, &config_block)
|
163
179
|
end
|
164
180
|
|
165
181
|
# Call the :districts resource.
|
166
182
|
#
|
183
|
+
# @example
|
167
184
|
# PYR.districts '5000'
|
185
|
+
#
|
186
|
+
# @return [PYR::Response]
|
168
187
|
def self.districts(id = nil, &config_block)
|
169
188
|
call(:districts, id, &config_block)
|
170
189
|
end
|
data/lib/pyr/version.rb
CHANGED
data/pyr.gemspec
CHANGED
@@ -37,6 +37,6 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.required_ruby_version = '>= 2.3.0'
|
38
38
|
spec.add_dependency 'faraday', '~> 0.12.0'
|
39
39
|
spec.add_dependency 'faraday_middleware', '~> 0.11.0'
|
40
|
-
spec.add_dependency 'lazy_record', '~> 0.
|
40
|
+
spec.add_dependency 'lazy_record', '~> 0.6.0'
|
41
41
|
spec.add_development_dependency 'bundler', '~> 1.14'
|
42
42
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pyr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- M. Simon Borg
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.6.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.6.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|