congress 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: dc99e0d62cf703391f40a4ed7616465dec13ce5c
4
+ data.tar.gz: 20dac4fda3dc21e5e9cf1dc4689d22c9aee6e525
5
+ SHA512:
6
+ metadata.gz: 42cdb0f6d8350b143efb903cd6e499ce3641736d9df0ab5e068f37d077d3854e76bea8f728f86853fb9515162dfc6f311c974c638492870a0e9bae025befe67f
7
+ data.tar.gz: 5475793e4c807877e443a64fb719582f6c4e507009414276bde67e79a050fc3b8387a337d3ad8ea72f42eba3670faa0bf95399c515ecf1c1272ac61184752b63
checksums.yaml.gz.sig ADDED
Binary file
data/.gitignore CHANGED
@@ -1,41 +1,11 @@
1
- !.gitignore
2
1
  *.gem
3
- *.rbc
4
- *.sw[a-p]
5
- *.tmproj
6
- *.tmproject
7
- *.un~
8
2
  *~
9
- .DS_Store
10
- .Spotlight-V100
11
- .Trashes
12
- ._*
13
3
  .bundle
14
- .config
15
- .directory
16
- .elc
17
- .redcar
4
+ .rvmrc
18
5
  .yardoc
19
- /.emacs.desktop
20
- /.emacs.desktop.lock
21
- Desktop.ini
22
6
  Gemfile.lock
23
- Icon?
24
- InstalledFiles
25
- Session.vim
26
- Thumbs.db
27
- \#*\#
28
- _yardoc
29
- auto-save-list
30
- coverage
31
- doc/
32
- lib/bundler/man
33
- pkg
7
+ coverage/*
8
+ doc/*
9
+ log/*
10
+ measurement/*
34
11
  pkg/*
35
- rdoc
36
- spec/reports
37
- test/tmp
38
- test/version_tmp
39
- tmp
40
- tmtags
41
- tramp
data/.rspec CHANGED
@@ -1,3 +1,2 @@
1
1
  --color
2
- --format=nested
3
- --backtrace
2
+ --order random
data/.rubocop.yml ADDED
@@ -0,0 +1,81 @@
1
+ AllCops:
2
+ Includes:
3
+ - 'Gemfile'
4
+ - 'Rakefile'
5
+ - 'congress.gemspec'
6
+
7
+ # Avoid long parameter lists
8
+ ParameterLists:
9
+ Max: 4
10
+ CountKeywordArgs: true
11
+
12
+ MethodLength:
13
+ CountComments: false
14
+ Max: 15
15
+
16
+ # Avoid more than `Max` levels of nesting.
17
+ BlockNesting:
18
+ Max: 3
19
+
20
+ # Align with the style guide.
21
+ CollectionMethods:
22
+ PreferredMethods:
23
+ collect: 'map'
24
+ inject: 'reduce'
25
+ find: 'detect'
26
+ find_all: 'select'
27
+
28
+ # Do not force public/protected/private keyword to be indented at the same
29
+ # level as the def keyword. My personal preference is to outdent these keywords
30
+ # because I think when scanning code it makes it easier to identify the
31
+ # sections of code and visually separate them. When the keyword is at the same
32
+ # level I think it sort of blends in with the def keywords and makes it harder
33
+ # to scan the code and see where the sections are.
34
+ AccessModifierIndentation:
35
+ Enabled: false
36
+
37
+ # Limit line length
38
+ LineLength:
39
+ Enabled: false
40
+
41
+ # Disable documentation checking until a class needs to be documented once
42
+ Documentation:
43
+ Enabled: false
44
+
45
+ # Enforce Ruby 1.8-compatible hash syntax
46
+ HashSyntax:
47
+ EnforcedStyle: hash_rockets
48
+
49
+ # No spaces inside hash literals
50
+ SpaceInsideHashLiteralBraces:
51
+ EnforcedStyle: no_space
52
+
53
+ # Allow dots at the end of lines
54
+ DotPosition:
55
+ Enabled: false
56
+
57
+ # Don't require magic comment at the top of every file
58
+ Encoding:
59
+ Enabled: false
60
+
61
+ # Enforce outdenting of access modifiers (i.e. public, private, protected)
62
+ AccessModifierIndentation:
63
+ EnforcedStyle: outdent
64
+
65
+ EmptyLinesAroundAccessModifier:
66
+ Enabled: true
67
+
68
+ # Align ends correctly
69
+ EndAlignment:
70
+ AlignWith: variable
71
+
72
+ # Indentation of when/else
73
+ CaseIndentation:
74
+ IndentWhenRelativeTo: end
75
+ IndentOneStep: false
76
+
77
+ Lambda:
78
+ Enabled: false
79
+
80
+ NumericLiterals:
81
+ Enabled: false
data/.travis.yml CHANGED
@@ -1,10 +1,28 @@
1
+ before_install:
2
+ - gem update bundler
3
+ - bundle --version
4
+ - gem update --system 2.1.11
5
+ - gem --version
6
+ bundler_args: --without development
1
7
  language: ruby
2
8
  rvm:
3
- - jruby-18mode
4
- - jruby-19mode
5
- - rbx-18mode
6
- - rbx-19mode
7
9
  - 1.8.7
8
10
  - 1.9.2
9
11
  - 1.9.3
10
12
  - 2.0.0
13
+ - 2.1.0
14
+ - rbx
15
+ - ruby-head
16
+ matrix:
17
+ include:
18
+ - rvm: jruby-18mode
19
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug"
20
+ - rvm: jruby-19mode
21
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug"
22
+ - rvm: jruby-head
23
+ env: JRUBY_OPTS="$JRUBY_OPTS --debug"
24
+ allow_failures:
25
+ - rvm: jruby-head
26
+ - rvm: rbx
27
+ - rvm: ruby-head
28
+ fast_finish: true
data/CONTRIBUTING.md ADDED
@@ -0,0 +1,49 @@
1
+ ## Contributing
2
+ In the spirit of [free software][free-sw], **everyone** is encouraged to help
3
+ improve this project. Here are some ways *you* can contribute:
4
+
5
+ [free-sw]: http://www.fsf.org/licensing/essays/free-sw.html
6
+
7
+ * Use alpha, beta, and pre-release versions.
8
+ * Report bugs.
9
+ * Suggest new features.
10
+ * Write or edit documentation.
11
+ * Write specifications.
12
+ * Write code (**no patch is too small**: fix typos, add comments, clean up
13
+ inconsistent whitespace).
14
+ * Refactor code.
15
+ * Fix [issues][].
16
+ * Review patches.
17
+ * Financially pledge using [gittip][].
18
+
19
+ [issues]: https://github.com/sferik/congress/issues
20
+ [gittip]: https://www.gittip.com/sferik/
21
+
22
+ ## Submitting an Issue
23
+ We use the [GitHub issue tracker][issues] to track bugs and features. Before
24
+ submitting a bug report or feature request, check to make sure it hasn't
25
+ already been submitted. When submitting a bug report, please include a [Gist][]
26
+ that includes a stack trace and any details that may be necessary to reproduce
27
+ the bug, including your gem version, Ruby version, and operating system.
28
+ Ideally, a bug report should include a pull request with failing specs.
29
+
30
+ [gist]: https://gist.github.com/
31
+
32
+ ## Submitting a Pull Request
33
+ 1. [Fork the repository.][fork]
34
+ 2. [Create a topic branch.][branch]
35
+ 3. Add specs for your unimplemented feature or bug fix.
36
+ 4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
37
+ 5. Implement your feature or bug fix.
38
+ 6. Run `bundle exec rake`. If your specs fail, return to step 5.
39
+ 7. Run `open coverage/index.html`. If your changes are not completely covered
40
+ by your tests, return to step 3.
41
+ 8. Add documentation for your feature or bug fix.
42
+ 9. Run `bundle exec rake verify_measurements`. If your changes are not 100%
43
+ documented, go back to step 8.
44
+ 10. Commit and push your changes.
45
+ 11. [Submit a pull request.][pr]
46
+
47
+ [fork]: http://help.github.com/fork-a-repo/
48
+ [branch]: http://learn.github.com/p/branching.html
49
+ [pr]: http://help.github.com/send-pull-requests/
data/Gemfile CHANGED
@@ -1,21 +1,35 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gem 'jruby-openssl', :platforms => :jruby
3
4
  gem 'rake'
4
-
5
- platforms :jruby do
6
- gem 'jruby-openssl', '~> 0.7'
7
- end
5
+ gem 'yard'
6
+ gem 'geocoder'
8
7
 
9
8
  group :development do
10
9
  gem 'kramdown'
11
- gem 'yard'
10
+ gem 'pry'
11
+ gem 'pry-rescue'
12
+ platforms :ruby_19, :ruby_20 do
13
+ gem 'pry-debugger'
14
+ gem 'pry-stack_explorer'
15
+ end
12
16
  end
13
17
 
14
18
  group :test do
19
+ gem 'backports'
15
20
  gem 'coveralls', :require => false
16
- gem 'rspec'
21
+ gem 'mime-types', '~> 1.25', :platforms => [:jruby, :ruby_18]
22
+ gem 'rspec', '>= 2.14'
23
+ gem 'rubocop', '>= 0.16', :platforms => [:ruby_19, :ruby_20, :ruby_21]
17
24
  gem 'simplecov', :require => false
18
25
  gem 'webmock'
26
+ gem 'yardstick'
27
+ end
28
+
29
+ platforms :rbx do
30
+ gem 'racc'
31
+ gem 'rubinius-coverage', '~> 2.0'
32
+ gem 'rubysl', '~> 2.0'
19
33
  end
20
34
 
21
35
  gemspec
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2013, Code for America
1
+ Copyright (c) 2011-2014, Code for America
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
data/README.md CHANGED
@@ -17,16 +17,6 @@ Congress, provided by the Sunlight Foundation.
17
17
  ## Installation
18
18
  gem install congress
19
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
-
30
20
  ## Documentation
31
21
  [http://rdoc.info/gems/congress][documentation]
32
22
  [documentation]: http://rdoc.info/gems/congress
@@ -98,55 +88,7 @@ Congress.hearings
98
88
  Congress.upcoming_bills
99
89
  ```
100
90
 
101
- ## Contributing
102
- In the spirit of [free software][free-sw], **everyone** is encouraged to help improve
103
- this project.
104
-
105
- [free-sw]: http://www.fsf.org/licensing/essays/free-sw.html
106
-
107
- Here are some ways *you* can contribute:
108
-
109
- * by using alpha, beta, and prerelease versions
110
- * by reporting bugs
111
- * by suggesting new features
112
- * by writing or editing documentation
113
- * by writing specifications
114
- * by writing code (**no patch is too small**: fix typos, add comments, clean up
115
- inconsistent whitespace)
116
- * by refactoring code
117
- * by fixing [issues][]
118
- * by reviewing patches
119
-
120
- [issues]: https://github.com/codeforamerica/congress/issues
121
-
122
- ## Submitting an Issue
123
- We use the [GitHub issue tracker][issues] to track bugs and features. Before
124
- submitting a bug report or feature request, check to make sure it hasn't
125
- already been submitted. When submitting a bug report, please include a [Gist][]
126
- that includes a stack trace and any details that may be necessary to reproduce
127
- the bug, including your gem version, Ruby version, and operating system.
128
- Ideally, a bug report should include a pull request with failing specs.
129
-
130
- ## Submitting a Pull Request
131
- 1. [Fork the repository.][fork]
132
- 2. [Create a topic branch.][branch]
133
- 3. Add specs for your unimplemented feature or bug fix.
134
- 4. Run `bundle exec rake spec`. If your specs pass, return to step 3.
135
- 5. Implement your feature or bug fix.
136
- 6. Run `bundle exec rake spec`. If your specs fail, return to step 5.
137
- 7. Run `open coverage/index.html`. If your changes are not completely covered
138
- by your tests, return to step 3.
139
- 8. Add documentation for your feature or bug fix.
140
- 9. Run `bundle exec rake yard`. If your changes are not 100% documented, go
141
- back to step 8.
142
- 10. Add, commit, and push your changes.
143
- 11. [Submit a pull request.][pr]
144
-
145
- [fork]: http://help.github.com/fork-a-repo/
146
- [branch]: http://learn.github.com/p/branching.html
147
- [pr]: http://help.github.com/send-pull-requests/
148
-
149
- ## Supported Rubies
91
+ ## Supported Ruby Versions
150
92
  This library aims to support and is [tested against][travis] the following Ruby
151
93
  implementations:
152
94
 
@@ -154,6 +96,7 @@ implementations:
154
96
  * Ruby 1.9.2
155
97
  * Ruby 1.9.3
156
98
  * Ruby 2.0.0
99
+ * Ruby 2.1.0
157
100
  * [JRuby][]
158
101
  * [Rubinius][]
159
102
 
@@ -175,6 +118,6 @@ timely fashion. If critical issues for a particular implementation exist at the
175
118
  time of a major release, support for that Ruby version may be dropped.
176
119
 
177
120
  ## Copyright
178
- Copyright (c) 2011-2013, Code for America. See [LICENSE][] for details.
121
+ Copyright (c) 2011-2014, Code for America. See [LICENSE][] for details.
179
122
 
180
123
  [license]: https://github.com/codeforamerica/congress/blob/master/LICENSE.md
data/Rakefile CHANGED
@@ -4,13 +4,33 @@ Bundler::GemHelper.install_tasks
4
4
  require 'rspec/core/rake_task'
5
5
  RSpec::Core::RakeTask.new(:spec)
6
6
 
7
- task :default => :spec
8
7
  task :test => :spec
9
8
 
9
+ begin
10
+ require 'rubocop/rake_task'
11
+ Rubocop::RakeTask.new
12
+ rescue LoadError
13
+ task :rubocop do
14
+ $stderr.puts 'Rubocop is disabled'
15
+ end
16
+ end
17
+
10
18
  require 'yard'
11
19
  namespace :doc do
12
20
  YARD::Rake::YardocTask.new do |task|
13
- task.files = ['lib/**/*.rb']
14
- task.options = ['--markup', 'markdown']
21
+ task.files = %w[lib/**/*.rb]
22
+ task.options = %w[--markup markdown]
15
23
  end
16
24
  end
25
+
26
+ require 'yardstick/rake/measurement'
27
+ Yardstick::Rake::Measurement.new do |measurement|
28
+ measurement.output = 'measurement/report.txt'
29
+ end
30
+
31
+ require 'yardstick/rake/verify'
32
+ Yardstick::Rake::Verify.new do |verify|
33
+ verify.threshold = 60.0
34
+ end
35
+
36
+ task :default => [:spec, :rubocop, :verify_measurements]
data/congress.gemspec CHANGED
@@ -7,8 +7,9 @@ Gem::Specification.new do |spec|
7
7
  spec.add_dependency 'hashie', '~> 2.0'
8
8
  spec.add_dependency 'json', '~> 1.8'
9
9
  spec.add_dependency 'rash', '~> 0.4'
10
+ spec.add_dependency 'geocoder', '~> 1.1.9'
10
11
  spec.add_development_dependency 'bundler', '~> 1.0'
11
- spec.author = "Erik Michaels-Ober"
12
+ spec.author = 'Erik Michaels-Ober'
12
13
  spec.cert_chain = ['certs/sferik.pem']
13
14
  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
15
  spec.email = 'sferik@gmail.com'
@@ -17,7 +18,7 @@ Gem::Specification.new do |spec|
17
18
  spec.licenses = ['MIT']
18
19
  spec.name = 'congress'
19
20
  spec.require_paths = ['lib']
20
- spec.signing_key = File.expand_path("~/.gem/private_key.pem") if $0 =~ /gem\z/
21
+ spec.signing_key = File.expand_path('~/.gem/private_key.pem') if $PROGRAM_NAME =~ /gem\z/
21
22
  spec.summary = %q{Ruby wrapper for the Sunlight Congress API}
22
23
  spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
23
24
  spec.version = Congress::VERSION
@@ -1,10 +1,17 @@
1
1
  require 'congress/connection'
2
2
  require 'congress/request'
3
+ require 'geocoder'
3
4
 
4
5
  module Congress
5
6
  class Client
6
7
  include Connection
7
8
  include Request
9
+ attr_reader :key
10
+
11
+ def initialize(key)
12
+ fail ArgumentError, 'API key required' if key.nil?
13
+ @key = key
14
+ end
8
15
 
9
16
  # Current legislators' names, IDs, biography, and social media.
10
17
  #
@@ -12,32 +19,32 @@ module Congress
12
19
  # @example
13
20
  # Congress.key = YOUR_SUNLIGHT_API_KEY
14
21
  # Congress.legislators
15
- def legislators(options={})
16
- get('/legislators', options.merge(api_key))
22
+ def legislators(options = {})
23
+ get('/legislators', options)
17
24
  end
18
25
 
19
- # Find representatives and senators for a latitude/longitude or zip.
26
+ # Find representatives and senators for a latitude/longitude, zip, or address.
20
27
  #
21
28
  # @return [Hashie::Rash]
22
29
  # @example
23
30
  # Congress.key = YOUR_SUNLIGHT_API_KEY
24
31
  # Congress.legislators_locate(94107)
25
32
  # Congress.legislators_locate(37.775, -122.418)
33
+ # Congress.legislators_locate('2169 Mission Street, San Francisco, CA 94110')
26
34
  def legislators_locate(*args)
27
- options = extract_location(args)
28
- get('/legislators/locate', options.merge(api_key))
35
+ get('/legislators/locate', extract_location(args))
29
36
  end
30
37
 
31
- # Find congressional districts for a latitude/longitude or zip.
38
+ # Find congressional districts for a latitude/longitude, zip, or address.
32
39
  #
33
40
  # @return [Hashie::Rash]
34
41
  # @example
35
42
  # Congress.key = YOUR_SUNLIGHT_API_KEY
36
43
  # Congress.districts_locate(94107)
37
44
  # Congress.districts_locate(37.775, -122.418)
45
+ # Congress.districts_locate('2169 Mission Street, San Francisco, CA 94110')
38
46
  def districts_locate(*args)
39
- options = extract_location(args)
40
- get('/districts/locate', options.merge(api_key))
47
+ get('/districts/locate', extract_location(args))
41
48
  end
42
49
 
43
50
  # Current committees, subcommittees, and their membership.
@@ -46,8 +53,8 @@ module Congress
46
53
  # @example
47
54
  # Congress.key = YOUR_SUNLIGHT_API_KEY
48
55
  # Congress.committees
49
- def committees(options={})
50
- get('/committees', options.merge(api_key))
56
+ def committees(options = {})
57
+ get('/committees', options)
51
58
  end
52
59
 
53
60
  # Legislation in the House and Senate, back to 2009. Updated daily.
@@ -56,8 +63,8 @@ module Congress
56
63
  # @example
57
64
  # Congress.key = YOUR_SUNLIGHT_API_KEY
58
65
  # Congress.bills
59
- def bills(options={})
60
- get('/bills', options.merge(api_key))
66
+ def bills(options = {})
67
+ get('/bills', options)
61
68
  end
62
69
 
63
70
  # ull text search over legislation.
@@ -66,8 +73,8 @@ module Congress
66
73
  # @example
67
74
  # Congress.key = YOUR_SUNLIGHT_API_KEY
68
75
  # Congress.bills_search
69
- def bills_search(options={})
70
- get('/bills/search', options.merge(api_key))
76
+ def bills_search(options = {})
77
+ get('/bills/search', options)
71
78
  end
72
79
 
73
80
  # Roll call votes in Congress, back to 2009. Updated within minutes of votes.
@@ -76,8 +83,8 @@ module Congress
76
83
  # @example
77
84
  # Congress.key = YOUR_SUNLIGHT_API_KEY
78
85
  # Congress.votes
79
- def votes(options={})
80
- get('/votes', options.merge(api_key))
86
+ def votes(options = {})
87
+ get('/votes', options)
81
88
  end
82
89
 
83
90
  # To-the-minute updates from the floor of the House and Senate.
@@ -86,8 +93,8 @@ module Congress
86
93
  # @example
87
94
  # Congress.key = YOUR_SUNLIGHT_API_KEY
88
95
  # Congress.floor_updates
89
- def floor_updates(options={})
90
- get('/floor_updates', options.merge(api_key))
96
+ def floor_updates(options = {})
97
+ get('/floor_updates', options)
91
98
  end
92
99
 
93
100
  # Committee hearings in Congress. Updated as hearings are announced.
@@ -96,8 +103,8 @@ module Congress
96
103
  # @example
97
104
  # Congress.key = YOUR_SUNLIGHT_API_KEY
98
105
  # Congress.hearings
99
- def hearings(options={})
100
- get('/hearings', options.merge(api_key))
106
+ def hearings(options = {})
107
+ get('/hearings', options)
101
108
  end
102
109
 
103
110
  # Bills scheduled for debate in the future, as announced by party leadership.
@@ -106,29 +113,25 @@ module Congress
106
113
  # @example
107
114
  # Congress.key = YOUR_SUNLIGHT_API_KEY
108
115
  # Congress.upcoming_bills
109
- def upcoming_bills(options={})
110
- get('/upcoming_bills', options.merge(api_key))
116
+ def upcoming_bills(options = {})
117
+ get('/upcoming_bills', options)
111
118
  end
112
119
 
113
120
  private
114
121
 
115
- def api_key
116
- {:apikey => Congress.key}
117
- end
118
-
119
122
  def extract_location(args)
120
123
  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
124
+ case [args.size, args.first.class]
125
+ when [1, Fixnum]
126
+ options.merge(:zip => args.pop)
127
+ when [1, String]
128
+ placemark = Geocoder.search(args.pop).first
129
+ options.merge(:longitude => placemark.longitude, :latitude => placemark.latitude)
130
+ when [2, Float]
131
+ options.merge(:longitude => args.pop, :latitude => args.pop)
127
132
  else
128
- raise ArgumentError, "Must pass a latitude/longitude or zip"
133
+ fail ArgumentError, 'Must pass a latitude/longitude, zip or address'
129
134
  end
130
- options
131
135
  end
132
-
133
136
  end
134
137
  end
@@ -2,16 +2,26 @@ require 'faraday_middleware'
2
2
 
3
3
  module Congress
4
4
  module Connection
5
- private
5
+ ENDPOINT = 'https://congress.api.sunlightfoundation.com'.freeze
6
+
7
+ private
6
8
 
7
9
  def connection
8
- Faraday.new(:url => 'http://congress.api.sunlightfoundation.com') do |connection|
9
- connection.use Faraday::Request::UrlEncoded
10
- connection.use Faraday::Response::RaiseError
11
- connection.use Faraday::Response::Rashify
12
- connection.use Faraday::Response::ParseJson
10
+ @connection ||= create_connection
11
+ end
12
+
13
+ def create_connection
14
+ Faraday.new(:url => ENDPOINT) do |connection|
15
+ middlewares.each { |middleware| connection.use(middleware) }
13
16
  connection.adapter(Faraday.default_adapter)
14
17
  end
15
18
  end
19
+
20
+ def middlewares
21
+ [Faraday::Request::UrlEncoded,
22
+ Faraday::Response::RaiseError,
23
+ Faraday::Response::Rashify,
24
+ Faraday::Response::ParseJson]
25
+ end
16
26
  end
17
27
  end
@@ -1,13 +1,14 @@
1
1
  module Congress
2
2
  module Request
3
- def get(path, options={})
3
+ def get(path, options = {})
4
4
  request(:get, path, options)
5
5
  end
6
6
 
7
- private
7
+ private
8
8
 
9
9
  def request(method, path, options)
10
10
  response = connection.send(method) do |request|
11
+ request.headers['X-APIKEY'] = key
11
12
  request.url(path, options)
12
13
  end
13
14
  response.body
@@ -1,3 +1,3 @@
1
1
  module Congress
2
- VERSION = "0.1.1"
2
+ VERSION = '0.2.0'
3
3
  end