openstates 0.0.1 → 0.1.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 54bc4b599a448cce3390ad41081fa947d9fc1ea7
4
+ data.tar.gz: 2abd48ee2bd954dc8de98abebe8f1bcfd08ae680
5
+ SHA512:
6
+ metadata.gz: e8589886070d20f45029466d77e45de96b09a3020a2aa6d27e16be36ea17d102aaa0ad5987b5fd52106853cc36be155775f6fcbfb9a0bf35511a8dad4fcd38f5
7
+ data.tar.gz: 419adea1911286dc3fc60a1d171eafd0380eeba57f55f9b15061696f1317c174776208f0e4a3f084440ade7bdef16a8dff6aa0e72468a7358e305aaee192f6b8
@@ -0,0 +1 @@
1
+ 2.3.1
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Ruby::Openstates
1
+ # Openstates
2
2
 
3
- Ruby gem to interact with the OpenStates API.
3
+ Ruby gem to interact with the Sunlight Labs OpenStates API.
4
4
 
5
5
  ## Installation
6
6
 
@@ -16,8 +16,136 @@ Or install it yourself as:
16
16
 
17
17
  $ gem install openstates
18
18
 
19
+ ## Configuration
20
+
21
+ You will need to register for an API key with [Sunlight
22
+ Labs](http://services.sunlightlabs.com/api/register/).
23
+
24
+ If you intend to use this gem in a rails project, you should add the
25
+ following in `config/initializers/openstates.rb`
26
+
27
+ ```rb
28
+ OpenStates.configure do |config|
29
+ config.api_key ='yourkeyhere'
30
+ config.logger = Rails.logger
31
+ end
32
+ ```
33
+
34
+ If your project is not rails based, you just need to include the above
35
+ configuration somewhere in your ruby environment with single change.
36
+
37
+ ```rb
38
+ OpenStates.configure do |config|
39
+ config.api_key ='yourkeyhere'
40
+ config.logger = ::Logger.new(STDOUT)
41
+ config.logger.level = ::Logger::DEBUG
42
+ end
43
+ ```
44
+
19
45
  ## Usage
20
46
 
47
+ ### OpenStates::Bill
48
+
49
+ You can search for bills using the `where` class method on
50
+ OpenStates::Bill.
51
+
52
+ ```rb
53
+ bills = OpenStates::Bill.where(state: 'tx', q: 'taxi')
54
+ ```
55
+
56
+ You can also search for a specific bill by it's bill_id.
57
+
58
+ ```rb
59
+ bill = OpenStates::Bill.find("12345")
60
+ ```
61
+
62
+ And lastly, you can get bill details by using the `bill_details` class
63
+ method on OpenStates::Bill.
64
+
65
+ ```rb
66
+ bill = OpenStates::Bill.bill_details('fl', '2013', '12345')
67
+ ```
68
+
69
+ You can find a list of all query parameters for Bills
70
+ [here](http://sunlightlabs.github.io/openstates-api/bills.html).
71
+
72
+ ### OpenStates::Committee
73
+
74
+ You can search for committees using the `where` class method on
75
+ OpenStates::Committee.
76
+
77
+ ```rb
78
+ committees = OpenStates::Committee.where(state: 'ny')
79
+ ```
80
+
81
+ You can also search for a specific committee by it's id.
82
+
83
+ ```rb
84
+ committee = OpenStates::Committee.find("NYC000099")
85
+ ```
86
+
87
+ You can find a list of all query parameters for Committees
88
+ [here](http://sunlightlabs.github.io/openstates-api/committees.html)
89
+
90
+ ### OpenStates::District
91
+
92
+ You can search for districts using the `where` class method on
93
+ OpenStates::District.
94
+
95
+ ```rb
96
+ districts = OpenStates::District.where(state: 'nj')
97
+ ```
98
+
99
+ You can also search for a specific district by it's boundary_id.
100
+
101
+ ```rb
102
+ district = OpenStates::District.find('12345')
103
+ ```
104
+
105
+ You can find a list of all query parameters for Districts
106
+ [here](http://sunlightlabs.github.io/openstates-api/districts.html)
107
+
108
+ ### OpenStates::Event
109
+
110
+ You can search for events using the `where` class method on
111
+ OpenStates::Event.
112
+
113
+ ```rb
114
+ events = OpenStates::Event.where(state: 'ok')
115
+ ```
116
+
117
+ You can also search for a specific event by it's event_id.
118
+
119
+ ```rb
120
+ event = OpenStates::Event.find('1234567')
121
+ ```
122
+
123
+ You can find a list of all query parameters for Events
124
+ [here](http://sunlightlabs.github.io/openstates-api/events.html)
125
+
126
+ ### OpenStates::Legislator
127
+
128
+ You can search for legislators using the `where` class method on
129
+ OpenStates::Legislator.
130
+
131
+ ```rb
132
+ legislators = OpenStates::Legislator.where(state: 'ga')
133
+ ```
134
+
135
+ You can also search for a specific legislator by their leg_id.
136
+
137
+ ```rb
138
+ legislator = OpenStates::Legislator.find('12345')
139
+ ```
140
+
141
+ And lastly, you can search for legislators by geolocation details.
142
+
143
+ ```rb
144
+ legislators = OpenStates::Legislator.by_location(45.13, -85.10)
145
+ ```
146
+
147
+ You can find a list of all query parameters for Legislators
148
+ [here](http://sunlightlabs.github.io/openstates-api/legislators.html)
21
149
 
22
150
  ## Contributing
23
151
 
@@ -1,6 +1,6 @@
1
1
  module OpenStates
2
2
  module Connection
3
- BASE_URL = 'http://openstates.org/api/v1/'
3
+ BASE_URL = 'https://openstates.org/api/v1/'
4
4
  def connection
5
5
  @connection ||= begin
6
6
  conn = Faraday.new(BASE_URL) do |b|
@@ -9,6 +9,7 @@ module OpenStates
9
9
  :chamber,
10
10
  :id,
11
11
  :lat_delta,
12
+ :legislators,
12
13
  :lon_delta,
13
14
  :name,
14
15
  :num_seats,
@@ -1,3 +1,3 @@
1
1
  module OpenStates
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -23,9 +23,7 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec"
26
- spec.add_development_dependency "guard"
27
- spec.add_development_dependency "guard-rspec"
28
26
  spec.add_development_dependency "pry"
29
27
  spec.add_development_dependency "pry-remote"
30
- spec.add_development_dependency "pry-debugger"
28
+ spec.add_development_dependency "pry-byebug"
31
29
  end
metadata CHANGED
@@ -1,174 +1,125 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openstates
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Chris
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-12-01 00:00:00.000000000 Z
11
+ date: 2017-01-06 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday_middleware
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: hashie
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: bundler
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
47
  version: '1.3'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - "~>"
60
53
  - !ruby/object:Gem::Version
61
54
  version: '1.3'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rake
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - ">="
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - ">="
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rspec
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
- - - ! '>='
73
+ - - ">="
84
74
  - !ruby/object:Gem::Version
85
75
  version: '0'
86
76
  type: :development
87
77
  prerelease: false
88
78
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
79
  requirements:
91
- - - ! '>='
92
- - !ruby/object:Gem::Version
93
- version: '0'
94
- - !ruby/object:Gem::Dependency
95
- name: guard
96
- requirement: !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ! '>='
100
- - !ruby/object:Gem::Version
101
- version: '0'
102
- type: :development
103
- prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - ! '>='
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: guard-rspec
112
- requirement: !ruby/object:Gem::Requirement
113
- none: false
114
- requirements:
115
- - - ! '>='
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - ! '>='
80
+ - - ">="
124
81
  - !ruby/object:Gem::Version
125
82
  version: '0'
126
83
  - !ruby/object:Gem::Dependency
127
84
  name: pry
128
85
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
86
  requirements:
131
- - - ! '>='
87
+ - - ">="
132
88
  - !ruby/object:Gem::Version
133
89
  version: '0'
134
90
  type: :development
135
91
  prerelease: false
136
92
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
93
  requirements:
139
- - - ! '>='
94
+ - - ">="
140
95
  - !ruby/object:Gem::Version
141
96
  version: '0'
142
97
  - !ruby/object:Gem::Dependency
143
98
  name: pry-remote
144
99
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
100
  requirements:
147
- - - ! '>='
101
+ - - ">="
148
102
  - !ruby/object:Gem::Version
149
103
  version: '0'
150
104
  type: :development
151
105
  prerelease: false
152
106
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
107
  requirements:
155
- - - ! '>='
108
+ - - ">="
156
109
  - !ruby/object:Gem::Version
157
110
  version: '0'
158
111
  - !ruby/object:Gem::Dependency
159
- name: pry-debugger
112
+ name: pry-byebug
160
113
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
114
  requirements:
163
- - - ! '>='
115
+ - - ">="
164
116
  - !ruby/object:Gem::Version
165
117
  version: '0'
166
118
  type: :development
167
119
  prerelease: false
168
120
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
121
  requirements:
171
- - - ! '>='
122
+ - - ">="
172
123
  - !ruby/object:Gem::Version
173
124
  version: '0'
174
125
  description: Ruby gem to interact with the OpenStates API.
@@ -178,8 +129,9 @@ executables: []
178
129
  extensions: []
179
130
  extra_rdoc_files: []
180
131
  files:
181
- - .gitignore
182
- - .rspec
132
+ - ".gitignore"
133
+ - ".rspec"
134
+ - ".ruby-version"
183
135
  - Gemfile
184
136
  - Guardfile
185
137
  - LICENSE.txt
@@ -210,33 +162,26 @@ files:
210
162
  homepage: https://github.com/WideEyeLabs
211
163
  licenses:
212
164
  - MIT
165
+ metadata: {}
213
166
  post_install_message:
214
167
  rdoc_options: []
215
168
  require_paths:
216
169
  - lib
217
170
  required_ruby_version: !ruby/object:Gem::Requirement
218
- none: false
219
171
  requirements:
220
- - - ! '>='
172
+ - - ">="
221
173
  - !ruby/object:Gem::Version
222
174
  version: '0'
223
- segments:
224
- - 0
225
- hash: -4304350490256027937
226
175
  required_rubygems_version: !ruby/object:Gem::Requirement
227
- none: false
228
176
  requirements:
229
- - - ! '>='
177
+ - - ">="
230
178
  - !ruby/object:Gem::Version
231
179
  version: '0'
232
- segments:
233
- - 0
234
- hash: -4304350490256027937
235
180
  requirements: []
236
181
  rubyforge_project:
237
- rubygems_version: 1.8.25
182
+ rubygems_version: 2.5.1
238
183
  signing_key:
239
- specification_version: 3
184
+ specification_version: 4
240
185
  summary: Ruby gem to interact with the OpenStates API.
241
186
  test_files:
242
187
  - spec/openstates/api_spec.rb