baby_tooth 0.0.1 → 0.0.2

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,55 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://api.runkeeper.com:80/user
6
+ body:
7
+ headers:
8
+ accept:
9
+ - application/vnd.com.runkeeper.User+json
10
+ authorization:
11
+ - Bearer TEST_TOKEN
12
+ response: !ruby/struct:VCR::Response
13
+ status: !ruby/struct:VCR::ResponseStatus
14
+ code: 200
15
+ message: OK
16
+ headers:
17
+ content-type:
18
+ - application/vnd.com.runkeeper.user+json;charset=ISO-8859-1
19
+ content-language:
20
+ - en-US
21
+ server:
22
+ - Apache-Coyote/1.1
23
+ date:
24
+ - Sun, 11 Sep 2011 20:59:17 GMT
25
+ content-length:
26
+ - "379"
27
+ body: "{\"strength_training_activities\":\"/strengthTrainingActivities\",\"weight\":\"/weight\",\"settings\":\"/settings\",\"diabetes\":\"/diabetes\",\"team\":\"/team\",\"sleep\":\"/sleep\",\"fitness_activities\":\"/fitnessActivities\",\"userID\":1625209,\"nutrition\":\"/nutrition\",\"general_measurements\":\"/generalMeasurements\",\"background_activities\":\"/backgroundActivities\",\"records\":\"/records\",\"profile\":\"/profile\"}"
28
+ http_version: "1.1"
29
+ - !ruby/struct:VCR::HTTPInteraction
30
+ request: !ruby/struct:VCR::Request
31
+ method: :get
32
+ uri: http://api.runkeeper.com:80/team
33
+ body:
34
+ headers:
35
+ accept:
36
+ - application/vnd.com.runkeeper.TeamFeed+json
37
+ authorization:
38
+ - Bearer TEST_TOKEN
39
+ response: !ruby/struct:VCR::Response
40
+ status: !ruby/struct:VCR::ResponseStatus
41
+ code: 200
42
+ message: OK
43
+ headers:
44
+ content-type:
45
+ - application/vnd.com.runkeeper.teamfeed+json;charset=ISO-8859-1
46
+ content-language:
47
+ - en-US
48
+ server:
49
+ - Apache-Coyote/1.1
50
+ date:
51
+ - Sun, 11 Sep 2011 20:59:17 GMT
52
+ content-length:
53
+ - "1158"
54
+ body: "{\"items\":[{\"name\":\"Ryan Palmer\",\"url\":\"/team/1649313\",\"profile\":\"http://www.runkeeper.com/user/RyanP724\"},{\"name\":\"Cort Johnson\",\"url\":\"/team/1426969\",\"profile\":\"http://www.runkeeper.com/user/cort\"},{\"name\":\"Jake Boxer\",\"url\":\"/team/1900138\",\"profile\":\"http://www.runkeeper.com/user/jboxer\"},{\"name\":\"Nicolas Warren\",\"url\":\"/team/1219339\",\"profile\":\"http://www.runkeeper.com/user/Nicolaswarren\"},{\"name\":\"Nick\",\"url\":\"/team/387603\",\"profile\":\"http://www.runkeeper.com/user/NickHerbold\"},{\"name\":\"Jake Cacciapaglia\",\"url\":\"/team/992916\",\"profile\":\"http://www.runkeeper.com/user/JakeCacci\"},{\"name\":\"Tom Boates\",\"url\":\"/team/50885\",\"profile\":\"http://www.runkeeper.com/user/tomboates\"},{\"name\":\"Sarah Hodges\",\"url\":\"/team/1520437\",\"profile\":\"http://www.runkeeper.com/user/SHodges\"},{\"name\":\"Dwayne Harris\",\"url\":\"/team/1261047\",\"profile\":\"http://www.runkeeper.com/user/djsstrat\"},{\"name\":\"Carlos Rodarte\",\"url\":\"/team/6472900\",\"profile\":\"http://www.runkeeper.com/user/crodarte\"},{\"url\":\"/team/2955498\",\"profile\":\"http://www.runkeeper.com/user/semanticart\"},{\"name\":\"Ryan Neu\",\"url\":\"/team/6421590\",\"profile\":\"http://www.runkeeper.com/user/ryanRneu\"}],\"size\":12}"
55
+ http_version: "1.1"
data/test/helper.rb CHANGED
@@ -21,7 +21,10 @@ WebMock.disable_net_connect!
21
21
  VCR.config do |config|
22
22
  config.cassette_library_dir = 'test/fixtures/vcr_cassettes'
23
23
  config.stub_with :webmock
24
- config.default_cassette_options = { :record => :none }
24
+ config.default_cassette_options = {
25
+ :record => :none,
26
+ :match_requests_on => [:method, :uri, :headers]
27
+ }
25
28
  end
26
29
 
27
30
  require 'baby_tooth'
@@ -1,73 +1,49 @@
1
1
  require 'helper'
2
2
 
3
3
  class TestBabyTooth < Test::Unit::TestCase
4
+ def setup
5
+ BabyTooth.configure do |config|
6
+ config.access_token_url = "http://runkeeper.com/apps/token"
7
+ config.authorization_url = "http://runkeeper.com/apps/authorize"
8
+ config.client_secret = "SECRET"
9
+ config.client_id = "CLIENT_ID"
10
+ config.redirect_uri = "http://my.app/authorization"
11
+ config.site = "http://api.runkeeper.com"
12
+ end
13
+ end
14
+
4
15
  context "configure" do
5
16
  should "accept client_id" do
6
- BabyTooth.configure do |config|
7
- config.client_id = "CLIENT_ID"
8
- end
9
-
10
17
  assert_equal "CLIENT_ID", BabyTooth.configuration.client_id
11
18
  end
12
19
 
13
20
  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
21
+ assert_equal "SECRET", BabyTooth.configuration.client_secret
19
22
  end
20
23
 
21
24
  should "accept authorization_url" do
22
- BabyTooth.configure do |config|
23
- config.authorization_url = "http://runkeeper.com/apps/authorize"
24
- end
25
-
26
25
  assert_equal "http://runkeeper.com/apps/authorize", BabyTooth.configuration.authorization_url
27
26
  end
28
27
 
29
28
  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
29
  assert_equal "http://runkeeper.com/apps/token", BabyTooth.configuration.access_token_url
35
30
  end
36
31
 
37
32
  should "accept redirect_uri" do
38
- BabyTooth.configure do |config|
39
- config.redirect_uri = "http://my.app/authorization"
40
- end
41
-
42
33
  assert_equal "http://my.app/authorization", BabyTooth.configuration.redirect_uri
43
34
  end
44
35
  end
45
36
 
46
37
  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
38
+ should "return a URL with the proper parameters including the passed in state" do
39
+ assert_equal "http://runkeeper.com/apps/authorize?response_type=code&client_id=CLIENT_ID&redirect_uri=http%3A%2F%2Fmy.app%2Fauthorization&state=this%20is%20a%20test",
40
+ BabyTooth.authorize_url('this is a test')
58
41
  end
59
42
  end
60
43
 
61
44
  context "get_token" do
62
45
  setup do
63
46
  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
47
  end
72
48
 
73
49
  teardown do
@@ -78,4 +54,56 @@ class TestBabyTooth < Test::Unit::TestCase
78
54
  assert_equal "ACCESS_TOKEN", BabyTooth.get_token("TOKEN")
79
55
  end
80
56
  end
57
+
58
+ context "fitness_activity_feed" do
59
+ setup do
60
+ VCR.insert_cassette 'fitness_activities', :record => :none
61
+ @user = BabyTooth::User.new('TEST_TOKEN')
62
+ end
63
+
64
+ teardown { VCR.eject_cassette }
65
+
66
+ subject { @user.fitness_activity_feed}
67
+
68
+ should "be a BabyTooth::FitnessActivityFeed" do
69
+ assert_kind_of BabyTooth::FitnessActivityFeed, subject
70
+ end
71
+
72
+ context "fitness_activities" do
73
+ subject { @user.fitness_activity_feed.fitness_activities }
74
+
75
+ should "return an array of FitnessActivity objects" do
76
+ assert_kind_of Array, subject
77
+
78
+ assert_equal 13, subject.length
79
+
80
+ subject.each do |fitness_activity|
81
+ assert_kind_of BabyTooth::FitnessActivity, fitness_activity
82
+ end
83
+ end
84
+ end
85
+ end
86
+
87
+ context "street_team" do
88
+ setup do
89
+ VCR.insert_cassette 'street_team', :record => :none
90
+ @user = BabyTooth::User.new('TEST_TOKEN')
91
+ end
92
+
93
+ teardown { VCR.eject_cassette }
94
+
95
+ subject { @user.street_team }
96
+
97
+ should "return an array of members" do
98
+ assert_kind_of Array, subject
99
+
100
+ assert_equal 12, subject.size
101
+
102
+ teammate = subject.first
103
+
104
+ assert_equal 'Ryan Palmer', teammate['name']
105
+ assert_equal 'http://www.runkeeper.com/user/RyanP724', teammate['profile']
106
+ assert_equal '/team/1649313', teammate['url']
107
+ end
108
+ end
81
109
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: baby_tooth
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joe Lind
@@ -15,10 +15,12 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-11 00:00:00 Z
18
+ date: 2011-09-21 00:00:00 -04:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ type: :runtime
23
+ requirement: &id001 !ruby/object:Gem::Requirement
22
24
  none: false
23
25
  requirements:
24
26
  - - ~>
@@ -30,11 +32,11 @@ dependencies:
30
32
  - 0
31
33
  version: 0.5.0
32
34
  name: oauth2
35
+ version_requirements: *id001
33
36
  prerelease: false
34
- type: :runtime
35
- requirement: *id001
36
37
  - !ruby/object:Gem::Dependency
37
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ type: :runtime
39
+ requirement: &id002 !ruby/object:Gem::Requirement
38
40
  none: false
39
41
  requirements:
40
42
  - - ">="
@@ -44,11 +46,25 @@ dependencies:
44
46
  - 0
45
47
  version: "0"
46
48
  name: faraday-stack
49
+ version_requirements: *id002
47
50
  prerelease: false
51
+ - !ruby/object:Gem::Dependency
48
52
  type: :runtime
49
- requirement: *id002
53
+ requirement: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 0
61
+ version: "0"
62
+ name: json
63
+ version_requirements: *id003
64
+ prerelease: false
50
65
  - !ruby/object:Gem::Dependency
51
- version_requirements: &id003 !ruby/object:Gem::Requirement
66
+ type: :development
67
+ requirement: &id004 !ruby/object:Gem::Requirement
52
68
  none: false
53
69
  requirements:
54
70
  - - ">="
@@ -58,11 +74,11 @@ dependencies:
58
74
  - 0
59
75
  version: "0"
60
76
  name: shoulda
77
+ version_requirements: *id004
61
78
  prerelease: false
62
- type: :development
63
- requirement: *id003
64
79
  - !ruby/object:Gem::Dependency
65
- version_requirements: &id004 !ruby/object:Gem::Requirement
80
+ type: :development
81
+ requirement: &id005 !ruby/object:Gem::Requirement
66
82
  none: false
67
83
  requirements:
68
84
  - - ~>
@@ -74,11 +90,11 @@ dependencies:
74
90
  - 0
75
91
  version: 1.0.0
76
92
  name: bundler
93
+ version_requirements: *id005
77
94
  prerelease: false
78
- type: :development
79
- requirement: *id004
80
95
  - !ruby/object:Gem::Dependency
81
- version_requirements: &id005 !ruby/object:Gem::Requirement
96
+ type: :development
97
+ requirement: &id006 !ruby/object:Gem::Requirement
82
98
  none: false
83
99
  requirements:
84
100
  - - ~>
@@ -90,11 +106,11 @@ dependencies:
90
106
  - 4
91
107
  version: 1.6.4
92
108
  name: jeweler
109
+ version_requirements: *id006
93
110
  prerelease: false
94
- type: :development
95
- requirement: *id005
96
111
  - !ruby/object:Gem::Dependency
97
- version_requirements: &id006 !ruby/object:Gem::Requirement
112
+ type: :development
113
+ requirement: &id007 !ruby/object:Gem::Requirement
98
114
  none: false
99
115
  requirements:
100
116
  - - ">="
@@ -104,11 +120,11 @@ dependencies:
104
120
  - 0
105
121
  version: "0"
106
122
  name: rcov
123
+ version_requirements: *id007
107
124
  prerelease: false
108
- type: :development
109
- requirement: *id006
110
125
  - !ruby/object:Gem::Dependency
111
- version_requirements: &id007 !ruby/object:Gem::Requirement
126
+ type: :development
127
+ requirement: &id008 !ruby/object:Gem::Requirement
112
128
  none: false
113
129
  requirements:
114
130
  - - ">="
@@ -118,11 +134,11 @@ dependencies:
118
134
  - 0
119
135
  version: "0"
120
136
  name: launchy
137
+ version_requirements: *id008
121
138
  prerelease: false
122
- type: :development
123
- requirement: *id007
124
139
  - !ruby/object:Gem::Dependency
125
- version_requirements: &id008 !ruby/object:Gem::Requirement
140
+ type: :development
141
+ requirement: &id009 !ruby/object:Gem::Requirement
126
142
  none: false
127
143
  requirements:
128
144
  - - ">="
@@ -132,11 +148,11 @@ dependencies:
132
148
  - 0
133
149
  version: "0"
134
150
  name: ruby-debug
151
+ version_requirements: *id009
135
152
  prerelease: false
136
- type: :development
137
- requirement: *id008
138
153
  - !ruby/object:Gem::Dependency
139
- version_requirements: &id009 !ruby/object:Gem::Requirement
154
+ type: :development
155
+ requirement: &id010 !ruby/object:Gem::Requirement
140
156
  none: false
141
157
  requirements:
142
158
  - - ">="
@@ -146,11 +162,11 @@ dependencies:
146
162
  - 0
147
163
  version: "0"
148
164
  name: webmock
165
+ version_requirements: *id010
149
166
  prerelease: false
150
- type: :development
151
- requirement: *id009
152
167
  - !ruby/object:Gem::Dependency
153
- version_requirements: &id010 !ruby/object:Gem::Requirement
168
+ type: :development
169
+ requirement: &id011 !ruby/object:Gem::Requirement
154
170
  none: false
155
171
  requirements:
156
172
  - - ">="
@@ -160,9 +176,8 @@ dependencies:
160
176
  - 0
161
177
  version: "0"
162
178
  name: vcr
179
+ version_requirements: *id011
163
180
  prerelease: false
164
- type: :development
165
- requirement: *id010
166
181
  description: A Ruby wrapper for the Health Graph API
167
182
  email: joelind@gmail.com
168
183
  executables: []
@@ -182,9 +197,18 @@ files:
182
197
  - VERSION
183
198
  - baby_tooth.gemspec
184
199
  - lib/baby_tooth.rb
200
+ - lib/baby_tooth/client.rb
201
+ - lib/baby_tooth/fitness_activity.rb
202
+ - lib/baby_tooth/fitness_activity_feed.rb
203
+ - lib/baby_tooth/profile.rb
204
+ - lib/baby_tooth/team_feed.rb
205
+ - lib/baby_tooth/user.rb
206
+ - test/fixtures/vcr_cassettes/fitness_activities.yml
185
207
  - test/fixtures/vcr_cassettes/oauth/token_success.yml
208
+ - test/fixtures/vcr_cassettes/street_team.yml
186
209
  - test/helper.rb
187
210
  - test/test_baby_tooth.rb
211
+ has_rdoc: true
188
212
  homepage: http://github.com/terriblelabs/BabyTooth
189
213
  licenses:
190
214
  - MIT
@@ -214,7 +238,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
214
238
  requirements: []
215
239
 
216
240
  rubyforge_project:
217
- rubygems_version: 1.8.10
241
+ rubygems_version: 1.6.2
218
242
  signing_key:
219
243
  specification_version: 3
220
244
  summary: A Ruby wrapper for the Health Graph API