baby_tooth 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm ree@healthgrapher
data/Gemfile ADDED
@@ -0,0 +1,15 @@
1
+ source :rubygems
2
+
3
+ group :development do
4
+ gem "shoulda", ">= 0"
5
+ gem "bundler", "~> 1.0.0"
6
+ gem "jeweler", "~> 1.6.4"
7
+ gem "rcov", ">= 0"
8
+ gem "launchy"
9
+ gem "ruby-debug"
10
+ gem "webmock"
11
+ gem "vcr"
12
+ end
13
+
14
+ gem 'oauth2', '~> 0.5.0'
15
+ gem 'faraday-stack'
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Joe Lind
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,19 @@
1
+ = HealthGrapher
2
+
3
+ Description goes here.
4
+
5
+ == Contributing to HealthGrapher
6
+
7
+ * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
8
+ * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
9
+ * Fork the project
10
+ * Start a feature/bugfix branch
11
+ * Commit and push until you are happy with your contribution
12
+ * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
+ * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
14
+
15
+ == Copyright
16
+
17
+ Copyright (c) 2011 Joe Lind. See LICENSE.txt for
18
+ further details.
19
+
data/Rakefile ADDED
@@ -0,0 +1,53 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "baby_tooth"
18
+ gem.homepage = "http://github.com/terriblelabs/BabyTooth"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{A Ruby wrapper for the Health Graph API}
21
+ gem.description = %Q{A Ruby wrapper for the Health Graph API}
22
+ gem.email = "joelind@gmail.com"
23
+ gem.authors = ["Joe Lind"]
24
+ # dependencies defined in Gemfile
25
+ end
26
+ Jeweler::RubygemsDotOrgTasks.new
27
+
28
+ require 'rake/testtask'
29
+ Rake::TestTask.new(:test) do |test|
30
+ test.libs << 'lib' << 'test'
31
+ test.pattern = 'test/**/test_*.rb'
32
+ test.verbose = true
33
+ end
34
+
35
+ require 'rcov/rcovtask'
36
+ Rcov::RcovTask.new do |test|
37
+ test.libs << 'test'
38
+ test.pattern = 'test/**/test_*.rb'
39
+ test.verbose = true
40
+ test.rcov_opts << '--exclude "gems/*"'
41
+ end
42
+
43
+ task :default => :test
44
+
45
+ require 'rake/rdoctask'
46
+ Rake::RDocTask.new do |rdoc|
47
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
+
49
+ rdoc.rdoc_dir = 'rdoc'
50
+ rdoc.title = "BabyTooth #{version}"
51
+ rdoc.rdoc_files.include('README*')
52
+ rdoc.rdoc_files.include('lib/**/*.rb')
53
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,78 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "baby_tooth"
8
+ s.version = "0.0.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Joe Lind"]
12
+ s.date = "2011-09-11"
13
+ s.description = "A Ruby wrapper for the Health Graph API"
14
+ s.email = "joelind@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rvmrc",
22
+ "Gemfile",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "baby_tooth.gemspec",
28
+ "lib/baby_tooth.rb",
29
+ "test/fixtures/vcr_cassettes/oauth/token_success.yml",
30
+ "test/helper.rb",
31
+ "test/test_baby_tooth.rb"
32
+ ]
33
+ s.homepage = "http://github.com/terriblelabs/BabyTooth"
34
+ s.licenses = ["MIT"]
35
+ s.require_paths = ["lib"]
36
+ s.rubygems_version = "1.8.10"
37
+ s.summary = "A Ruby wrapper for the Health Graph API"
38
+
39
+ if s.respond_to? :specification_version then
40
+ s.specification_version = 3
41
+
42
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
43
+ s.add_runtime_dependency(%q<oauth2>, ["~> 0.5.0"])
44
+ s.add_runtime_dependency(%q<faraday-stack>, [">= 0"])
45
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
46
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
47
+ s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
48
+ s.add_development_dependency(%q<rcov>, [">= 0"])
49
+ s.add_development_dependency(%q<launchy>, [">= 0"])
50
+ s.add_development_dependency(%q<ruby-debug>, [">= 0"])
51
+ s.add_development_dependency(%q<webmock>, [">= 0"])
52
+ s.add_development_dependency(%q<vcr>, [">= 0"])
53
+ else
54
+ s.add_dependency(%q<oauth2>, ["~> 0.5.0"])
55
+ s.add_dependency(%q<faraday-stack>, [">= 0"])
56
+ s.add_dependency(%q<shoulda>, [">= 0"])
57
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
59
+ s.add_dependency(%q<rcov>, [">= 0"])
60
+ s.add_dependency(%q<launchy>, [">= 0"])
61
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
62
+ s.add_dependency(%q<webmock>, [">= 0"])
63
+ s.add_dependency(%q<vcr>, [">= 0"])
64
+ end
65
+ else
66
+ s.add_dependency(%q<oauth2>, ["~> 0.5.0"])
67
+ s.add_dependency(%q<faraday-stack>, [">= 0"])
68
+ s.add_dependency(%q<shoulda>, [">= 0"])
69
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
70
+ s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
71
+ s.add_dependency(%q<rcov>, [">= 0"])
72
+ s.add_dependency(%q<launchy>, [">= 0"])
73
+ s.add_dependency(%q<ruby-debug>, [">= 0"])
74
+ s.add_dependency(%q<webmock>, [">= 0"])
75
+ s.add_dependency(%q<vcr>, [">= 0"])
76
+ end
77
+ end
78
+
data/lib/baby_tooth.rb ADDED
@@ -0,0 +1,75 @@
1
+ require 'oauth2'
2
+ require 'faraday_stack'
3
+
4
+ module BabyTooth
5
+ class << self
6
+ attr_accessor :configuration
7
+
8
+ def authorize_url
9
+ oauth_client.auth_code.authorize_url :redirect_uri => configuration.redirect_uri
10
+ end
11
+
12
+ def configure
13
+ self.configuration ||= Configuration.new
14
+ yield self.configuration
15
+ end
16
+
17
+ def get_token(authorization_code)
18
+ oauth_client.auth_code.get_token(authorization_code,
19
+ :redirect_uri => configuration.redirect_uri).token
20
+ end
21
+
22
+ def oauth_client
23
+ ::OAuth2::Client.new configuration.client_id, configuration.client_secret,
24
+ :authorize_url => configuration.authorization_url,
25
+ :token_url => configuration.access_token_url
26
+ end
27
+ end
28
+
29
+ class Client
30
+ attr_accessor :access_token, :path
31
+ attr_reader :body
32
+
33
+ delegate :[], :to => :body
34
+
35
+ def initialize(access_token, path)
36
+ self.access_token = access_token
37
+ self.path = path
38
+ retrieve!
39
+ end
40
+
41
+ def resource_class_name
42
+ self.class.name.split('::').last
43
+ end
44
+
45
+ protected
46
+
47
+ def retrieve!
48
+ @body = connection.get(path) do |request|
49
+ request.headers['Authorization'] = "Bearer #{access_token}"
50
+ request.headers['Accept'] = "application/vnd.com.runkeeper.#{resource_class_name}+json"
51
+ end.body
52
+ end
53
+
54
+ def connection
55
+ FaradayStack.build ::BabyTooth.configuration.site
56
+ end
57
+ end
58
+
59
+ class User < Client
60
+ def initialize(access_token)
61
+ super access_token, '/user'
62
+
63
+ @profile = Profile.new(access_token, self['profile'])
64
+ end
65
+ end
66
+
67
+ class Profile < Client
68
+ end
69
+
70
+ private
71
+
72
+ class Configuration
73
+ attr_accessor :client_id, :client_secret, :access_token_url, :authorization_url, :redirect_uri, :site
74
+ end
75
+ end
@@ -0,0 +1,55 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :post
5
+ uri: http://runkeeper.com:80/apps/token
6
+ body: code=CODE&redirect_uri=http%3A%2F%2Fsteps.dev%2Fauthorization&client_secret=SECRET&client_id=ID&grant_type=authorization_code
7
+ headers:
8
+ content-type:
9
+ - application/x-www-form-urlencoded
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 302
13
+ message: Moved Temporarily
14
+ headers:
15
+ location:
16
+ - https://runkeeper.com/apps/token
17
+ content-language:
18
+ - en-US
19
+ server:
20
+ - Apache-Coyote/1.1
21
+ date:
22
+ - Wed, 07 Sep 2011 13:08:02 GMT
23
+ content-length:
24
+ - "0"
25
+ body:
26
+ http_version: "1.1"
27
+ - !ruby/struct:VCR::HTTPInteraction
28
+ request: !ruby/struct:VCR::Request
29
+ method: :post
30
+ uri: https://runkeeper.com:443/apps/token
31
+ body: code=CODE&redirect_uri=http%3A%2F%2Fsteps.dev%2Fauthorization&client_secret=SECRET&client_id=ID&grant_type=authorization_code
32
+ headers:
33
+ content-type:
34
+ - application/x-www-form-urlencoded
35
+ response: !ruby/struct:VCR::Response
36
+ status: !ruby/struct:VCR::ResponseStatus
37
+ code: 200
38
+ message: OK
39
+ headers:
40
+ connection:
41
+ - keep-alive
42
+ content-type:
43
+ - application/json;charset=ISO-8859-1
44
+ content-language:
45
+ - en-US
46
+ server:
47
+ - nginx/0.8.54
48
+ date:
49
+ - Wed, 07 Sep 2011 13:05:31 GMT
50
+ content-length:
51
+ - "73"
52
+ cache-control:
53
+ - no-store
54
+ body: "{\"token_type\":\"Bearer\",\"access_token\":\"ACCESS_TOKEN\"}"
55
+ http_version: "1.1"
data/test/helper.rb ADDED
@@ -0,0 +1,30 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+
16
+ require 'vcr'
17
+ require 'webmock'
18
+
19
+ WebMock.disable_net_connect!
20
+
21
+ VCR.config do |config|
22
+ config.cassette_library_dir = 'test/fixtures/vcr_cassettes'
23
+ config.stub_with :webmock
24
+ config.default_cassette_options = { :record => :none }
25
+ end
26
+
27
+ require 'baby_tooth'
28
+
29
+ class Test::Unit::TestCase
30
+ end
@@ -0,0 +1,81 @@
1
+ require 'helper'
2
+
3
+ class TestBabyTooth < Test::Unit::TestCase
4
+ context "configure" do
5
+ should "accept client_id" do
6
+ BabyTooth.configure do |config|
7
+ config.client_id = "CLIENT_ID"
8
+ end
9
+
10
+ assert_equal "CLIENT_ID", BabyTooth.configuration.client_id
11
+ end
12
+
13
+ should "accept client_secret" do
14
+ BabyTooth.configure do |config|
15
+ config.client_secret = "CLIENT_SECRET"
16
+ end
17
+
18
+ assert_equal "CLIENT_SECRET", BabyTooth.configuration.client_secret
19
+ end
20
+
21
+ should "accept authorization_url" do
22
+ BabyTooth.configure do |config|
23
+ config.authorization_url = "http://runkeeper.com/apps/authorize"
24
+ end
25
+
26
+ assert_equal "http://runkeeper.com/apps/authorize", BabyTooth.configuration.authorization_url
27
+ end
28
+
29
+ should "accept access_token_url" do
30
+ BabyTooth.configure do |config|
31
+ config.access_token_url = "http://runkeeper.com/apps/token"
32
+ end
33
+
34
+ assert_equal "http://runkeeper.com/apps/token", BabyTooth.configuration.access_token_url
35
+ end
36
+
37
+ should "accept redirect_uri" do
38
+ BabyTooth.configure do |config|
39
+ config.redirect_uri = "http://my.app/authorization"
40
+ end
41
+
42
+ assert_equal "http://my.app/authorization", BabyTooth.configuration.redirect_uri
43
+ end
44
+ end
45
+
46
+ context "authorize_url" do
47
+ should "return a URL with the proper parameters" do
48
+ BabyTooth.configure do |config|
49
+ config.access_token_url = "http://runkeeper.com/apps/token"
50
+ config.authorization_url = "http://runkeeper.com/apps/authorize"
51
+ config.client_secret = "SECRET"
52
+ config.client_id = "CLIENT_ID"
53
+ config.redirect_uri = "http://my.app/authorization"
54
+ end
55
+
56
+ assert_equal "http://runkeeper.com/apps/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=http%3A%2F%2Fmy.app%2Fauthorization",
57
+ BabyTooth.authorize_url
58
+ end
59
+ end
60
+
61
+ context "get_token" do
62
+ setup do
63
+ VCR.insert_cassette 'oauth/token success', :record => :none
64
+ BabyTooth.configure do |config|
65
+ config.access_token_url = "http://runkeeper.com/apps/token"
66
+ config.authorization_url = "http://runkeeper.com/apps/authorize"
67
+ config.client_secret = "SECRET"
68
+ config.client_id = "ID"
69
+ config.redirect_uri = "http://steps.dev/authorization"
70
+ end
71
+ end
72
+
73
+ teardown do
74
+ VCR.eject_cassette
75
+ end
76
+
77
+ should "return an access token string" do
78
+ assert_equal "ACCESS_TOKEN", BabyTooth.get_token("TOKEN")
79
+ end
80
+ end
81
+ end
metadata ADDED
@@ -0,0 +1,222 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: baby_tooth
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 0
10
+ version: 0.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Joe Lind
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-09-11 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ hash: 11
27
+ segments:
28
+ - 0
29
+ - 5
30
+ - 0
31
+ version: 0.5.0
32
+ name: oauth2
33
+ prerelease: false
34
+ type: :runtime
35
+ requirement: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ hash: 3
43
+ segments:
44
+ - 0
45
+ version: "0"
46
+ name: faraday-stack
47
+ prerelease: false
48
+ type: :runtime
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ name: shoulda
61
+ prerelease: false
62
+ type: :development
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ hash: 23
71
+ segments:
72
+ - 1
73
+ - 0
74
+ - 0
75
+ version: 1.0.0
76
+ name: bundler
77
+ prerelease: false
78
+ type: :development
79
+ requirement: *id004
80
+ - !ruby/object:Gem::Dependency
81
+ version_requirements: &id005 !ruby/object:Gem::Requirement
82
+ none: false
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ hash: 7
87
+ segments:
88
+ - 1
89
+ - 6
90
+ - 4
91
+ version: 1.6.4
92
+ name: jeweler
93
+ prerelease: false
94
+ type: :development
95
+ requirement: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ version_requirements: &id006 !ruby/object:Gem::Requirement
98
+ none: false
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ hash: 3
103
+ segments:
104
+ - 0
105
+ version: "0"
106
+ name: rcov
107
+ prerelease: false
108
+ type: :development
109
+ requirement: *id006
110
+ - !ruby/object:Gem::Dependency
111
+ version_requirements: &id007 !ruby/object:Gem::Requirement
112
+ none: false
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ hash: 3
117
+ segments:
118
+ - 0
119
+ version: "0"
120
+ name: launchy
121
+ prerelease: false
122
+ type: :development
123
+ requirement: *id007
124
+ - !ruby/object:Gem::Dependency
125
+ version_requirements: &id008 !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ hash: 3
131
+ segments:
132
+ - 0
133
+ version: "0"
134
+ name: ruby-debug
135
+ prerelease: false
136
+ type: :development
137
+ requirement: *id008
138
+ - !ruby/object:Gem::Dependency
139
+ version_requirements: &id009 !ruby/object:Gem::Requirement
140
+ none: false
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ hash: 3
145
+ segments:
146
+ - 0
147
+ version: "0"
148
+ name: webmock
149
+ prerelease: false
150
+ type: :development
151
+ requirement: *id009
152
+ - !ruby/object:Gem::Dependency
153
+ version_requirements: &id010 !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ hash: 3
159
+ segments:
160
+ - 0
161
+ version: "0"
162
+ name: vcr
163
+ prerelease: false
164
+ type: :development
165
+ requirement: *id010
166
+ description: A Ruby wrapper for the Health Graph API
167
+ email: joelind@gmail.com
168
+ executables: []
169
+
170
+ extensions: []
171
+
172
+ extra_rdoc_files:
173
+ - LICENSE.txt
174
+ - README.rdoc
175
+ files:
176
+ - .document
177
+ - .rvmrc
178
+ - Gemfile
179
+ - LICENSE.txt
180
+ - README.rdoc
181
+ - Rakefile
182
+ - VERSION
183
+ - baby_tooth.gemspec
184
+ - lib/baby_tooth.rb
185
+ - test/fixtures/vcr_cassettes/oauth/token_success.yml
186
+ - test/helper.rb
187
+ - test/test_baby_tooth.rb
188
+ homepage: http://github.com/terriblelabs/BabyTooth
189
+ licenses:
190
+ - MIT
191
+ post_install_message:
192
+ rdoc_options: []
193
+
194
+ require_paths:
195
+ - lib
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ none: false
198
+ requirements:
199
+ - - ">="
200
+ - !ruby/object:Gem::Version
201
+ hash: 3
202
+ segments:
203
+ - 0
204
+ version: "0"
205
+ required_rubygems_version: !ruby/object:Gem::Requirement
206
+ none: false
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ hash: 3
211
+ segments:
212
+ - 0
213
+ version: "0"
214
+ requirements: []
215
+
216
+ rubyforge_project:
217
+ rubygems_version: 1.8.10
218
+ signing_key:
219
+ specification_version: 3
220
+ summary: A Ruby wrapper for the Health Graph API
221
+ test_files: []
222
+