validic 0.3.3 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.rspec +0 -1
  4. data/Gemfile +12 -1
  5. data/Gemfile.lock +32 -62
  6. data/README.md +442 -28
  7. data/lib/validic.rb +3 -20
  8. data/lib/validic/app.rb +11 -0
  9. data/lib/validic/biometrics.rb +9 -0
  10. data/lib/validic/client.rb +35 -77
  11. data/lib/validic/diabetes.rb +4 -60
  12. data/lib/validic/error.rb +33 -0
  13. data/lib/validic/extra.rb +10 -0
  14. data/lib/validic/fitness.rb +4 -57
  15. data/lib/validic/nutrition.rb +5 -61
  16. data/lib/validic/organization.rb +6 -13
  17. data/lib/validic/profile.rb +4 -39
  18. data/lib/validic/response.rb +15 -0
  19. data/lib/validic/rest/apps.rb +21 -0
  20. data/lib/validic/rest/biometrics.rb +39 -0
  21. data/lib/validic/rest/diabetes.rb +39 -0
  22. data/lib/validic/rest/fitness.rb +40 -0
  23. data/lib/validic/rest/nutrition.rb +40 -0
  24. data/lib/validic/rest/organizations.rb +12 -0
  25. data/lib/validic/rest/profile.rb +18 -0
  26. data/lib/validic/rest/request.rb +95 -0
  27. data/lib/validic/rest/routine.rb +40 -0
  28. data/lib/validic/rest/sleep.rb +41 -0
  29. data/lib/validic/rest/tobacco_cessation.rb +40 -0
  30. data/lib/validic/rest/users.rb +55 -0
  31. data/lib/validic/rest/utils.rb +28 -0
  32. data/lib/validic/rest/weight.rb +43 -0
  33. data/lib/validic/routine.rb +4 -55
  34. data/lib/validic/sleep.rb +4 -59
  35. data/lib/validic/summary.rb +18 -0
  36. data/lib/validic/tobacco_cessation.rb +4 -53
  37. data/lib/validic/user.rb +4 -99
  38. data/lib/validic/utils.rb +13 -0
  39. data/lib/validic/version.rb +1 -1
  40. data/lib/validic/weight.rb +4 -57
  41. data/spec/fixtures/apps.json +32 -0
  42. data/spec/fixtures/biometrics-expanded.json +56 -0
  43. data/spec/fixtures/biometrics-extras.json +35 -0
  44. data/spec/fixtures/biometrics_record.json +36 -0
  45. data/spec/fixtures/biometrics_records.json +54 -0
  46. data/spec/fixtures/bulk_biometrics_records.json +55 -0
  47. data/spec/fixtures/bulk_diabetes_records.json +37 -0
  48. data/spec/fixtures/bulk_fitnesses.json +35 -0
  49. data/spec/fixtures/bulk_nutritions.json +37 -0
  50. data/spec/fixtures/bulk_sleeps.json +35 -0
  51. data/spec/fixtures/bulk_tobacco_cessations.json +33 -0
  52. data/spec/fixtures/conflict.json +5 -0
  53. data/spec/fixtures/diabetes-expanded.json +38 -0
  54. data/spec/fixtures/diabetes-extras.json +17 -0
  55. data/spec/fixtures/diabetes_record.json +18 -0
  56. data/spec/fixtures/diabetes_records.json +36 -0
  57. data/spec/fixtures/fitness-expanded.json +1521 -0
  58. data/spec/fixtures/fitness-extras.json +15 -0
  59. data/spec/fixtures/fitness.json +16 -0
  60. data/spec/fixtures/fitnesses.json +34 -0
  61. data/spec/fixtures/forbidden.json +5 -0
  62. data/spec/fixtures/internal_server.json +4 -0
  63. data/spec/fixtures/me.json +5 -0
  64. data/spec/fixtures/not_found.json +5 -0
  65. data/spec/fixtures/nutrition-expanded.json +123 -0
  66. data/spec/fixtures/nutrition-extras.json +13 -0
  67. data/spec/fixtures/nutrition.json +18 -0
  68. data/spec/fixtures/nutritions-expanded.json +123 -0
  69. data/spec/fixtures/nutritions.json +36 -0
  70. data/spec/fixtures/organizations.json +27 -0
  71. data/spec/fixtures/profile.json +13 -0
  72. data/spec/fixtures/refresh_token.json +7 -0
  73. data/spec/fixtures/routine-expanded.json +749 -0
  74. data/spec/fixtures/routine-extras.json +14 -0
  75. data/spec/fixtures/routine.json +17 -0
  76. data/spec/fixtures/routines.json +47 -0
  77. data/spec/fixtures/sleep-expanded.json +51 -0
  78. data/spec/fixtures/sleep-extras.json +15 -0
  79. data/spec/fixtures/sleep.json +16 -0
  80. data/spec/fixtures/sleeps.json +48 -0
  81. data/spec/fixtures/synced_apps.json +43 -0
  82. data/spec/fixtures/tobacco_cessation-expanded.json +33 -0
  83. data/spec/fixtures/tobacco_cessation-extras.json +12 -0
  84. data/spec/fixtures/tobacco_cessation.json +14 -0
  85. data/spec/fixtures/tobacco_cessations.json +32 -0
  86. data/spec/fixtures/unauthorized.json +4 -0
  87. data/spec/fixtures/unprocessable_entity.json +5 -0
  88. data/spec/fixtures/updated_user.json +9 -0
  89. data/spec/fixtures/user.json +8 -0
  90. data/spec/fixtures/user_with_profile.json +14 -0
  91. data/spec/fixtures/users.json +23 -0
  92. data/spec/fixtures/weight-expanded.json +66 -0
  93. data/spec/fixtures/weight-extras.json +15 -0
  94. data/spec/fixtures/weight.json +18 -0
  95. data/spec/fixtures/weights.json +48 -0
  96. data/spec/spec_helper.rb +47 -33
  97. data/spec/validic/client_spec.rb +5 -38
  98. data/spec/validic/error_spec.rb +73 -0
  99. data/spec/validic/expanded_spec.rb +87 -0
  100. data/spec/validic/rest/apps_spec.rb +41 -0
  101. data/spec/validic/rest/biometrics_spec.rb +131 -0
  102. data/spec/validic/rest/diabetes_spec.rb +131 -0
  103. data/spec/validic/rest/fitness_spec.rb +131 -0
  104. data/spec/validic/rest/nutrition_spec.rb +144 -0
  105. data/spec/validic/rest/organizations_spec.rb +24 -0
  106. data/spec/validic/rest/profile_spec.rb +44 -0
  107. data/spec/validic/rest/routine_spec.rb +129 -0
  108. data/spec/validic/rest/sleep_spec.rb +148 -0
  109. data/spec/validic/rest/tobacco_cessation_spec.rb +131 -0
  110. data/spec/validic/rest/users_spec.rb +170 -0
  111. data/spec/validic/rest/weight_spec.rb +150 -0
  112. data/spec/validic/summary_spec.rb +3 -0
  113. data/spec/validic_spec.rb +19 -31
  114. data/validic.gemspec +0 -13
  115. metadata +174 -194
  116. data/lib/validic/biometric.rb +0 -97
  117. data/lib/validic/request.rb +0 -46
  118. data/lib/validic/third_party_app.rb +0 -32
  119. data/spec/validic/biometrics_spec.rb +0 -43
  120. data/spec/validic/diabetes_spec.rb +0 -89
  121. data/spec/validic/fitness_spec.rb +0 -85
  122. data/spec/validic/nutrition_spec.rb +0 -91
  123. data/spec/validic/organization_spec.rb +0 -26
  124. data/spec/validic/profile_spec.rb +0 -19
  125. data/spec/validic/routine_spec.rb +0 -82
  126. data/spec/validic/sleep_spec.rb +0 -86
  127. data/spec/validic/third_party_app_spec.rb +0 -32
  128. data/spec/validic/tobacco_cessation_spec.rb +0 -81
  129. data/spec/validic/user_spec.rb +0 -81
  130. data/spec/validic/weight_spec.rb +0 -88
@@ -0,0 +1,7 @@
1
+ {
2
+ "user": {
3
+ "_id": "51552cd7fded0807c4000017",
4
+ "uid": "123467890",
5
+ "authentication_token": "cPDsxsTuLpSmgsxsXuLF3dc55ea3fc441d1b899a6fU6ebeTb243xadabce08d98"
6
+ }
7
+ }
@@ -0,0 +1,749 @@
1
+ {
2
+ "summary": {
3
+ "status": 200,
4
+ "message": "Ok",
5
+ "results": 52,
6
+ "start_date": "2015-01-14T00:00:00+00:00",
7
+ "end_date": "2015-01-16T23:59:59+00:00",
8
+ "offset": 0,
9
+ "limit": 100,
10
+ "previous": null,
11
+ "next": null,
12
+ "params": {
13
+ "start_date": null,
14
+ "end_date": null,
15
+ "offset": 0,
16
+ "limit": 0
17
+ }
18
+ },
19
+ "routine": [
20
+ {
21
+ "_id": "54b7afeff9d139a65c0692b6",
22
+ "timestamp": "2015-01-15T06:00:00+00:00",
23
+ "utc_offset": "-06:00",
24
+ "steps": 828,
25
+ "calories_burned": 700,
26
+ "distance": null,
27
+ "floors": null,
28
+ "elevation": null,
29
+ "source": "bodymedia",
30
+ "source_name": "BodyMedia",
31
+ "last_updated": "2015-01-15T16:19:24+00:00",
32
+ "user_id": "54b2421884626b2731000002"
33
+ },
34
+ {
35
+ "_id": "54b728ff0b828690510b8a05",
36
+ "timestamp": "2015-01-15T06:00:00+00:00",
37
+ "utc_offset": "-06:00",
38
+ "steps": 0,
39
+ "calories_burned": 1050,
40
+ "distance": 0,
41
+ "floors": 0,
42
+ "elevation": 0,
43
+ "source": "fitbit",
44
+ "source_name": "Fitbit",
45
+ "last_updated": "2015-01-15T18:48:04+00:00",
46
+ "user_id": "53611913f1f70ef82c0000e7"
47
+ },
48
+ {
49
+ "_id": "54b728ff0b8286479b0b8a11",
50
+ "timestamp": "2015-01-15T06:00:00+00:00",
51
+ "utc_offset": "-06:00",
52
+ "steps": 1257,
53
+ "calories_burned": 1028,
54
+ "distance": 871.1,
55
+ "floors": 1,
56
+ "elevation": 3,
57
+ "source": "fitbit",
58
+ "source_name": "Fitbit",
59
+ "last_updated": "2015-01-15T18:44:55+00:00",
60
+ "user_id": "5427156884626bc6b3000001"
61
+ },
62
+ {
63
+ "_id": "54b7289e19c55198500c1895",
64
+ "timestamp": "2015-01-15T06:00:00+00:00",
65
+ "utc_offset": "-06:00",
66
+ "steps": 0,
67
+ "calories_burned": 1183,
68
+ "distance": 0,
69
+ "floors": null,
70
+ "elevation": null,
71
+ "source": "fitbit",
72
+ "source_name": "Fitbit",
73
+ "last_updated": "2015-01-15T18:47:29+00:00",
74
+ "user_id": "542eef3f84626b2885000078"
75
+ },
76
+ {
77
+ "_id": "54b7281d75b5ef50cc08df90",
78
+ "timestamp": "2015-01-15T06:00:00+00:00",
79
+ "utc_offset": "-06:00",
80
+ "steps": 1988,
81
+ "calories_burned": 874,
82
+ "distance": 1292.2,
83
+ "floors": 0,
84
+ "elevation": 0,
85
+ "source": "fitbit",
86
+ "source_name": "Fitbit",
87
+ "last_updated": "2015-01-15T18:48:05+00:00",
88
+ "user_id": "54a2be5a84626bf085000003"
89
+ },
90
+ {
91
+ "_id": "54b7280b30c8336a38097201",
92
+ "timestamp": "2015-01-15T06:00:00+00:00",
93
+ "utc_offset": "-06:00",
94
+ "steps": 0,
95
+ "calories_burned": 614,
96
+ "distance": 0,
97
+ "floors": 0,
98
+ "elevation": 0,
99
+ "source": "fitbit",
100
+ "source_name": "Fitbit",
101
+ "last_updated": "2015-01-15T18:49:41+00:00",
102
+ "user_id": "546f783884626b455b000046"
103
+ },
104
+ {
105
+ "_id": "54b8091df862abb8e3017922",
106
+ "timestamp": "2015-01-15T05:00:00+00:00",
107
+ "utc_offset": "-05:00",
108
+ "steps": 0,
109
+ "calories_burned": 748,
110
+ "distance": 0,
111
+ "floors": null,
112
+ "elevation": null,
113
+ "source": "fitbit",
114
+ "source_name": "Fitbit",
115
+ "last_updated": "2015-01-15T18:48:41+00:00",
116
+ "user_id": "51c7dc676dedda04f9000011"
117
+ },
118
+ {
119
+ "_id": "54b7d056587b6fcc7d041582",
120
+ "timestamp": "2015-01-15T05:00:00+00:00",
121
+ "utc_offset": "-05:00",
122
+ "steps": 763,
123
+ "calories_burned": 27,
124
+ "distance": 418,
125
+ "floors": null,
126
+ "elevation": null,
127
+ "source": "movesapp",
128
+ "source_name": "Moves App",
129
+ "last_updated": "2015-01-15T18:25:53+00:00",
130
+ "user_id": "53bec5ad84626bc886000002"
131
+ },
132
+ {
133
+ "_id": "54b728cedd9edc31bd0985a8",
134
+ "timestamp": "2015-01-15T05:00:00+00:00",
135
+ "utc_offset": "-05:00",
136
+ "steps": 0,
137
+ "calories_burned": 909,
138
+ "distance": 0,
139
+ "floors": null,
140
+ "elevation": null,
141
+ "source": "fitbit",
142
+ "source_name": "Fitbit",
143
+ "last_updated": "2015-01-15T18:46:53+00:00",
144
+ "user_id": "5346afbdf1f70e98a3000007"
145
+ },
146
+ {
147
+ "_id": "54b7281e75b5ef383308df9c",
148
+ "timestamp": "2015-01-15T05:00:00+00:00",
149
+ "utc_offset": "-05:00",
150
+ "steps": 0,
151
+ "calories_burned": 973,
152
+ "distance": 0,
153
+ "floors": 0,
154
+ "elevation": 0,
155
+ "source": "fitbit",
156
+ "source_name": "Fitbit",
157
+ "last_updated": "2015-01-15T18:44:34+00:00",
158
+ "user_id": "5304d059f1f70e1016000007"
159
+ },
160
+ {
161
+ "_id": "54b7bde2f9d139bab006a46c",
162
+ "timestamp": "2015-01-15T00:00:00+00:00",
163
+ "utc_offset": "+00:00",
164
+ "steps": 551,
165
+ "calories_burned": 1050,
166
+ "distance": null,
167
+ "floors": null,
168
+ "elevation": null,
169
+ "source": "healthgraph",
170
+ "source_name": "RunKeeper",
171
+ "last_updated": "2015-01-15T13:17:22+00:00",
172
+ "user_id": "54341e5184626b56700000cb"
173
+ },
174
+ {
175
+ "_id": "54b7bd3611cc215c6e000604",
176
+ "timestamp": "2015-01-15T00:00:00+00:00",
177
+ "utc_offset": "+00:00",
178
+ "steps": 551,
179
+ "calories_burned": 1050,
180
+ "distance": null,
181
+ "floors": null,
182
+ "elevation": null,
183
+ "source": "healthgraph",
184
+ "source_name": "RunKeeper",
185
+ "last_updated": "2015-01-15T13:14:30+00:00",
186
+ "user_id": "52ffcb4bf1f70eefba000004"
187
+ },
188
+ {
189
+ "_id": "54b69b5ff9d13903c303d4f9",
190
+ "timestamp": "2015-01-14T23:59:59+00:00",
191
+ "utc_offset": "+00:00",
192
+ "steps": 509,
193
+ "calories_burned": 24,
194
+ "distance": 482.802,
195
+ "floors": null,
196
+ "elevation": null,
197
+ "source": "omron",
198
+ "source_name": "Omron Fitness",
199
+ "last_updated": "2015-01-14T16:37:51+00:00",
200
+ "user_id": "52ffcb4bf1f70eefba000004"
201
+ },
202
+ {
203
+ "_id": "54b7289e19c5516e740c188d",
204
+ "timestamp": "2015-01-14T23:00:00+00:00",
205
+ "utc_offset": "+01:00",
206
+ "steps": 0,
207
+ "calories_burned": 1364,
208
+ "distance": 0,
209
+ "floors": null,
210
+ "elevation": null,
211
+ "source": "fitbit",
212
+ "source_name": "Fitbit",
213
+ "last_updated": "2015-01-15T18:47:49+00:00",
214
+ "user_id": "53907badf1f70e215b00002a"
215
+ },
216
+ {
217
+ "_id": "54b7281c75b5eff3ab08df85",
218
+ "timestamp": "2015-01-14T20:30:00+00:00",
219
+ "utc_offset": "+03:30",
220
+ "steps": 0,
221
+ "calories_burned": 1232,
222
+ "distance": 0,
223
+ "floors": null,
224
+ "elevation": null,
225
+ "source": "fitbit",
226
+ "source_name": "Fitbit",
227
+ "last_updated": "2015-01-15T18:46:51+00:00",
228
+ "user_id": "538c9054f1f70eb3a3000006"
229
+ },
230
+ {
231
+ "_id": "54b6bba73246df470500060c",
232
+ "timestamp": "2015-01-14T18:58:00+00:00",
233
+ "utc_offset": "+08:00",
234
+ "steps": 1551,
235
+ "calories_burned": 49.0246249442,
236
+ "distance": 1188,
237
+ "floors": null,
238
+ "elevation": null,
239
+ "source": "jawbone_up",
240
+ "source_name": "Jawbone Up",
241
+ "last_updated": "2015-01-15T12:47:10+00:00",
242
+ "user_id": "52ffcb4bf1f70eefba000004"
243
+ },
244
+ {
245
+ "_id": "54b729000b828697a00b8a15",
246
+ "timestamp": "2015-01-14T18:30:00+00:00",
247
+ "utc_offset": "+05:30",
248
+ "steps": 0,
249
+ "calories_burned": 2058,
250
+ "distance": 0,
251
+ "floors": null,
252
+ "elevation": null,
253
+ "source": "fitbit",
254
+ "source_name": "Fitbit",
255
+ "last_updated": "2015-01-15T18:38:07+00:00",
256
+ "user_id": "52fa869cf1f70e078700001f"
257
+ },
258
+ {
259
+ "_id": "54b729000b828626170b8a23",
260
+ "timestamp": "2015-01-14T18:30:00+00:00",
261
+ "utc_offset": "+05:30",
262
+ "steps": 0,
263
+ "calories_burned": 2728,
264
+ "distance": 0,
265
+ "floors": null,
266
+ "elevation": null,
267
+ "source": "fitbit",
268
+ "source_name": "Fitbit",
269
+ "last_updated": "2015-01-15T18:37:55+00:00",
270
+ "user_id": "526bafa36dedda5bff000001"
271
+ },
272
+ {
273
+ "_id": "54b7289519143c301d077ac4",
274
+ "timestamp": "2015-01-14T18:30:00+00:00",
275
+ "utc_offset": "+05:30",
276
+ "steps": 551,
277
+ "calories_burned": 1347,
278
+ "distance": 377.57,
279
+ "floors": null,
280
+ "elevation": null,
281
+ "source": "fitbit",
282
+ "source_name": "Fitbit",
283
+ "last_updated": "2015-01-15T18:38:05+00:00",
284
+ "user_id": "52ffcb4bf1f70eefba000004"
285
+ },
286
+ {
287
+ "_id": "54b7280930c833fc420971ed",
288
+ "timestamp": "2015-01-14T18:30:00+00:00",
289
+ "utc_offset": "+05:30",
290
+ "steps": 0,
291
+ "calories_burned": 1617,
292
+ "distance": 0,
293
+ "floors": null,
294
+ "elevation": null,
295
+ "source": "fitbit",
296
+ "source_name": "Fitbit",
297
+ "last_updated": "2015-01-15T18:38:19+00:00",
298
+ "user_id": "546a079784626b9b09000376"
299
+ },
300
+ {
301
+ "_id": "54b728d73ca68eb78309518a",
302
+ "timestamp": "2015-01-14T18:15:00+00:00",
303
+ "utc_offset": "+05:45",
304
+ "steps": 0,
305
+ "calories_burned": 1622,
306
+ "distance": 0,
307
+ "floors": null,
308
+ "elevation": null,
309
+ "source": "fitbit",
310
+ "source_name": "Fitbit",
311
+ "last_updated": "2015-01-15T18:35:47+00:00",
312
+ "user_id": "528678976deddae06700000c"
313
+ },
314
+ {
315
+ "_id": "54b728d4b0b76a57ec0a44a2",
316
+ "timestamp": "2015-01-14T16:00:00+00:00",
317
+ "utc_offset": "+08:00",
318
+ "steps": 0,
319
+ "calories_burned": 2464,
320
+ "distance": 0,
321
+ "floors": 0,
322
+ "elevation": 0,
323
+ "source": "fitbit",
324
+ "source_name": "Fitbit",
325
+ "last_updated": "2015-01-15T17:04:27+00:00",
326
+ "user_id": "52e28a336deddadb600000e9"
327
+ },
328
+ {
329
+ "_id": "54b728b6450e70ee2f003a95",
330
+ "timestamp": "2015-01-14T16:00:00+00:00",
331
+ "utc_offset": "+08:00",
332
+ "steps": 0,
333
+ "calories_burned": 2458,
334
+ "distance": 0,
335
+ "floors": null,
336
+ "elevation": null,
337
+ "source": "fitbit",
338
+ "source_name": "Fitbit",
339
+ "last_updated": "2015-01-15T17:02:37+00:00",
340
+ "user_id": "526e577c6deddadd10000013"
341
+ },
342
+ {
343
+ "_id": "54b7289d19c5511fac0c1882",
344
+ "timestamp": "2015-01-14T16:00:00+00:00",
345
+ "utc_offset": "+08:00",
346
+ "steps": 0,
347
+ "calories_burned": 2375,
348
+ "distance": 0,
349
+ "floors": null,
350
+ "elevation": null,
351
+ "source": "fitbit",
352
+ "source_name": "Fitbit",
353
+ "last_updated": "2015-01-15T17:02:24+00:00",
354
+ "user_id": "526b8b326dedda2c5d000010"
355
+ },
356
+ {
357
+ "_id": "54b7289025202ebbd10c2f5d",
358
+ "timestamp": "2015-01-14T16:00:00+00:00",
359
+ "utc_offset": "+08:00",
360
+ "steps": 0,
361
+ "calories_burned": 2453,
362
+ "distance": 0,
363
+ "floors": null,
364
+ "elevation": null,
365
+ "source": "fitbit",
366
+ "source_name": "Fitbit",
367
+ "last_updated": "2015-01-15T17:00:40+00:00",
368
+ "user_id": "52931bea6dedda025c000335"
369
+ },
370
+ {
371
+ "_id": "54b7289025202e84120c2f66",
372
+ "timestamp": "2015-01-14T16:00:00+00:00",
373
+ "utc_offset": "+08:00",
374
+ "steps": 0,
375
+ "calories_burned": 2310,
376
+ "distance": 0,
377
+ "floors": null,
378
+ "elevation": null,
379
+ "source": "fitbit",
380
+ "source_name": "Fitbit",
381
+ "last_updated": "2015-01-15T17:02:25+00:00",
382
+ "user_id": "52f36ec6f1f70e2719000001"
383
+ },
384
+ {
385
+ "_id": "54b728867e60b1c95b0984b2",
386
+ "timestamp": "2015-01-14T16:00:00+00:00",
387
+ "utc_offset": "+08:00",
388
+ "steps": 0,
389
+ "calories_burned": 2288,
390
+ "distance": 0,
391
+ "floors": null,
392
+ "elevation": null,
393
+ "source": "fitbit",
394
+ "source_name": "Fitbit",
395
+ "last_updated": "2015-01-15T17:02:49+00:00",
396
+ "user_id": "547f6c4084626bb4d6000029"
397
+ },
398
+ {
399
+ "_id": "54b65af63c47b3dc98001583",
400
+ "timestamp": "2015-01-14T10:59:00+00:00",
401
+ "utc_offset": "-05:00",
402
+ "steps": 7401,
403
+ "calories_burned": 238.226542654,
404
+ "distance": 4988,
405
+ "floors": null,
406
+ "elevation": null,
407
+ "source": "jawbone_up",
408
+ "source_name": "Jawbone Up",
409
+ "last_updated": "2015-01-14T23:28:37+00:00",
410
+ "user_id": "535573c8f1f70e2bb6000012"
411
+ },
412
+ {
413
+ "_id": "54b6a4e0f9d13907b80414e7",
414
+ "timestamp": "2015-01-14T09:59:59+00:00",
415
+ "utc_offset": "+00:00",
416
+ "steps": 509,
417
+ "calories_burned": 24,
418
+ "distance": null,
419
+ "floors": null,
420
+ "elevation": null,
421
+ "source": "healthgraph",
422
+ "source_name": "RunKeeper",
423
+ "last_updated": "2015-01-14T17:18:24+00:00",
424
+ "user_id": "52f36ec6f1f70e2719000001"
425
+ },
426
+ {
427
+ "_id": "54b6988b75cb313ea90008e3",
428
+ "timestamp": "2015-01-14T09:59:59+00:00",
429
+ "utc_offset": "+00:00",
430
+ "steps": 509,
431
+ "calories_burned": 24,
432
+ "distance": null,
433
+ "floors": null,
434
+ "elevation": null,
435
+ "source": "healthgraph",
436
+ "source_name": "RunKeeper",
437
+ "last_updated": "2015-01-14T16:25:47+00:00",
438
+ "user_id": "52f36ec6f1f70e2719000001"
439
+ },
440
+ {
441
+ "_id": "54b5f392806f81dd1109dbda",
442
+ "timestamp": "2015-01-14T07:00:00+00:00",
443
+ "utc_offset": "-07:00",
444
+ "steps": 0,
445
+ "calories_burned": 1304,
446
+ "distance": 0,
447
+ "floors": 0,
448
+ "elevation": 0,
449
+ "source": "fitbit",
450
+ "source_name": "Fitbit",
451
+ "last_updated": "2015-01-15T18:38:21+00:00",
452
+ "user_id": "51c7dc676dedda04f9000011"
453
+ },
454
+ {
455
+ "_id": "54b779d362f8211d2f0003b5",
456
+ "timestamp": "2015-01-14T06:00:00+00:00",
457
+ "utc_offset": "-06:00",
458
+ "steps": null,
459
+ "calories_burned": 1192,
460
+ "distance": null,
461
+ "floors": null,
462
+ "elevation": null,
463
+ "source": "bodymedia",
464
+ "source_name": "BodyMedia",
465
+ "last_updated": "2015-01-15T08:26:59+00:00",
466
+ "user_id": "526e577c6deddadd10000013"
467
+ },
468
+ {
469
+ "_id": "54b741367fa7aa82de00048d",
470
+ "timestamp": "2015-01-14T06:00:00+00:00",
471
+ "utc_offset": "-06:00",
472
+ "steps": null,
473
+ "calories_burned": 1192,
474
+ "distance": null,
475
+ "floors": null,
476
+ "elevation": null,
477
+ "source": "bodymedia",
478
+ "source_name": "BodyMedia",
479
+ "last_updated": "2015-01-15T04:25:26+00:00",
480
+ "user_id": "52e6d8396dedda443f0001c2"
481
+ },
482
+ {
483
+ "_id": "54b65f6cf9d13958cb033dba",
484
+ "timestamp": "2015-01-14T06:00:00+00:00",
485
+ "utc_offset": "-06:00",
486
+ "steps": null,
487
+ "calories_burned": 1192,
488
+ "distance": null,
489
+ "floors": null,
490
+ "elevation": null,
491
+ "source": "bodymedia",
492
+ "source_name": "BodyMedia",
493
+ "last_updated": "2015-01-15T08:27:07+00:00",
494
+ "user_id": "530769b0f1f70e7bcb000005"
495
+ },
496
+ {
497
+ "_id": "54b65e7690f71ae5aa000106",
498
+ "timestamp": "2015-01-14T06:00:00+00:00",
499
+ "utc_offset": "-06:00",
500
+ "steps": null,
501
+ "calories_burned": 1192,
502
+ "distance": null,
503
+ "floors": null,
504
+ "elevation": null,
505
+ "source": "bodymedia",
506
+ "source_name": "BodyMedia",
507
+ "last_updated": "2015-01-15T12:16:46+00:00",
508
+ "user_id": "52ffcb4bf1f70eefba000004"
509
+ },
510
+ {
511
+ "_id": "54b65e6eeeacd56b5c0000e5",
512
+ "timestamp": "2015-01-14T06:00:00+00:00",
513
+ "utc_offset": "-06:00",
514
+ "steps": null,
515
+ "calories_burned": 1192,
516
+ "distance": null,
517
+ "floors": null,
518
+ "elevation": null,
519
+ "source": "bodymedia",
520
+ "source_name": "BodyMedia",
521
+ "last_updated": "2015-01-15T12:16:43+00:00",
522
+ "user_id": "54b0ad8984626b8e87000002"
523
+ },
524
+ {
525
+ "_id": "54b5efd7009f4e0957000525",
526
+ "timestamp": "2015-01-14T06:00:00+00:00",
527
+ "utc_offset": "-06:00",
528
+ "steps": 1579,
529
+ "calories_burned": 2204,
530
+ "distance": null,
531
+ "floors": null,
532
+ "elevation": null,
533
+ "source": "bodymedia",
534
+ "source_name": "BodyMedia",
535
+ "last_updated": "2015-01-15T16:19:23+00:00",
536
+ "user_id": "54b2421884626b2731000002"
537
+ },
538
+ {
539
+ "_id": "54b5ef8a587b6f6d2b019eaf",
540
+ "timestamp": "2015-01-14T06:00:00+00:00",
541
+ "utc_offset": "-06:00",
542
+ "steps": null,
543
+ "calories_burned": 1192,
544
+ "distance": null,
545
+ "floors": null,
546
+ "elevation": null,
547
+ "source": "bodymedia",
548
+ "source_name": "BodyMedia",
549
+ "last_updated": "2015-01-14T20:25:48+00:00",
550
+ "user_id": "5420580c84626b03190000c8"
551
+ },
552
+ {
553
+ "_id": "54b5d4ae136d09beda084c56",
554
+ "timestamp": "2015-01-14T06:00:00+00:00",
555
+ "utc_offset": "-06:00",
556
+ "steps": 0,
557
+ "calories_burned": 2225,
558
+ "distance": 0,
559
+ "floors": null,
560
+ "elevation": null,
561
+ "source": "fitbit",
562
+ "source_name": "Fitbit",
563
+ "last_updated": "2015-01-15T07:52:21+00:00",
564
+ "user_id": "542eef3f84626b2885000078"
565
+ },
566
+ {
567
+ "_id": "54b5d482dd9edcb7bc064f81",
568
+ "timestamp": "2015-01-14T06:00:00+00:00",
569
+ "utc_offset": "-06:00",
570
+ "steps": 0,
571
+ "calories_burned": 2830,
572
+ "distance": 0,
573
+ "floors": 0,
574
+ "elevation": 0,
575
+ "source": "fitbit",
576
+ "source_name": "Fitbit",
577
+ "last_updated": "2015-01-15T07:57:05+00:00",
578
+ "user_id": "53611913f1f70ef82c0000e7"
579
+ },
580
+ {
581
+ "_id": "54b5d48245a43875a207f6cf",
582
+ "timestamp": "2015-01-14T06:00:00+00:00",
583
+ "utc_offset": "-06:00",
584
+ "steps": 9083,
585
+ "calories_burned": 2089,
586
+ "distance": 5907.43,
587
+ "floors": 0,
588
+ "elevation": 0,
589
+ "source": "fitbit",
590
+ "source_name": "Fitbit",
591
+ "last_updated": "2015-01-15T07:55:30+00:00",
592
+ "user_id": "54a2be5a84626bf085000003"
593
+ },
594
+ {
595
+ "_id": "54b5d44d19143c75ab04e7e6",
596
+ "timestamp": "2015-01-14T06:00:00+00:00",
597
+ "utc_offset": "-06:00",
598
+ "steps": 3009,
599
+ "calories_burned": 1385,
600
+ "distance": 1892.66,
601
+ "floors": 3,
602
+ "elevation": 9,
603
+ "source": "fitbit",
604
+ "source_name": "Fitbit",
605
+ "last_updated": "2015-01-15T07:54:21+00:00",
606
+ "user_id": "546f783884626b455b000046"
607
+ },
608
+ {
609
+ "_id": "54b5d43e7e60b1574506538b",
610
+ "timestamp": "2015-01-14T06:00:00+00:00",
611
+ "utc_offset": "-06:00",
612
+ "steps": 4597,
613
+ "calories_burned": 2244,
614
+ "distance": 3185.78,
615
+ "floors": 5,
616
+ "elevation": 15,
617
+ "source": "fitbit",
618
+ "source_name": "Fitbit",
619
+ "last_updated": "2015-01-15T18:38:19+00:00",
620
+ "user_id": "5427156884626bc6b3000001"
621
+ },
622
+ {
623
+ "_id": "54b66fdb7b361f12e30002c5",
624
+ "timestamp": "2015-01-14T05:00:00+00:00",
625
+ "utc_offset": "-05:00",
626
+ "steps": 3050,
627
+ "calories_burned": 129,
628
+ "distance": 2017,
629
+ "floors": null,
630
+ "elevation": null,
631
+ "source": "movesapp",
632
+ "source_name": "Moves App",
633
+ "last_updated": "2015-01-15T04:34:26+00:00",
634
+ "user_id": "53bec5ad84626bc886000002"
635
+ },
636
+ {
637
+ "_id": "54b5d4e96640a3f74c079b68",
638
+ "timestamp": "2015-01-14T05:00:00+00:00",
639
+ "utc_offset": "-05:00",
640
+ "steps": 5270,
641
+ "calories_burned": 2019,
642
+ "distance": 3947.28,
643
+ "floors": null,
644
+ "elevation": null,
645
+ "source": "fitbit",
646
+ "source_name": "Fitbit",
647
+ "last_updated": "2015-01-15T07:54:11+00:00",
648
+ "user_id": "5346afbdf1f70e98a3000007"
649
+ },
650
+ {
651
+ "_id": "54b5d4b30b8286568a078b39",
652
+ "timestamp": "2015-01-14T05:00:00+00:00",
653
+ "utc_offset": "-05:00",
654
+ "steps": 0,
655
+ "calories_burned": 2490,
656
+ "distance": 0,
657
+ "floors": 0,
658
+ "elevation": 0,
659
+ "source": "fitbit",
660
+ "source_name": "Fitbit",
661
+ "last_updated": "2015-01-15T07:54:18+00:00",
662
+ "user_id": "5304d059f1f70e1016000007"
663
+ },
664
+ {
665
+ "_id": "54b5d4438af683ed91064d36",
666
+ "timestamp": "2015-01-14T05:00:00+00:00",
667
+ "utc_offset": "-05:00",
668
+ "steps": 0,
669
+ "calories_burned": 1213,
670
+ "distance": 0,
671
+ "floors": 0,
672
+ "elevation": 0,
673
+ "source": "fitbit",
674
+ "source_name": "Fitbit",
675
+ "last_updated": "2015-01-14T20:02:23+00:00",
676
+ "user_id": "5469fcbe84626b01400002bd"
677
+ },
678
+ {
679
+ "_id": "54b6bc8334f588c336001063",
680
+ "timestamp": "2015-01-14T03:00:25+00:00",
681
+ "utc_offset": "+08:00",
682
+ "steps": 0,
683
+ "calories_burned": 203.245395121,
684
+ "distance": 0,
685
+ "floors": null,
686
+ "elevation": null,
687
+ "source": "jawbone_up",
688
+ "source_name": "Jawbone Up",
689
+ "last_updated": "2015-01-14T19:33:41+00:00",
690
+ "user_id": "52ffcb4bf1f70eefba000004"
691
+ },
692
+ {
693
+ "_id": "54b7bde2f9d139bab006a470",
694
+ "timestamp": "2015-01-14T00:00:00+00:00",
695
+ "utc_offset": "+00:00",
696
+ "steps": 808,
697
+ "calories_burned": 1360,
698
+ "distance": null,
699
+ "floors": null,
700
+ "elevation": null,
701
+ "source": "healthgraph",
702
+ "source_name": "RunKeeper",
703
+ "last_updated": "2015-01-15T13:17:22+00:00",
704
+ "user_id": "54341e5184626b56700000cb"
705
+ },
706
+ {
707
+ "_id": "54b7bd3611cc215c6e000608",
708
+ "timestamp": "2015-01-14T00:00:00+00:00",
709
+ "utc_offset": "+00:00",
710
+ "steps": 808,
711
+ "calories_burned": 1360,
712
+ "distance": null,
713
+ "floors": null,
714
+ "elevation": null,
715
+ "source": "healthgraph",
716
+ "source_name": "RunKeeper",
717
+ "last_updated": "2015-01-15T13:14:30+00:00",
718
+ "user_id": "52ffcb4bf1f70eefba000004"
719
+ },
720
+ {
721
+ "_id": "54b75cb459e75b23f3000240",
722
+ "timestamp": "2015-01-14T00:00:00+00:00",
723
+ "utc_offset": "+00:00",
724
+ "steps": 9062,
725
+ "calories_burned": 1844,
726
+ "distance": null,
727
+ "floors": null,
728
+ "elevation": null,
729
+ "source": "healthgraph",
730
+ "source_name": "RunKeeper",
731
+ "last_updated": "2015-01-15T06:22:44+00:00",
732
+ "user_id": "52f36ec6f1f70e2719000001"
733
+ },
734
+ {
735
+ "_id": "54b6a4e0f9d13907b80414f2",
736
+ "timestamp": "2015-01-14T00:00:00+00:00",
737
+ "utc_offset": "+00:00",
738
+ "steps": 9062,
739
+ "calories_burned": 1844,
740
+ "distance": null,
741
+ "floors": null,
742
+ "elevation": null,
743
+ "source": "healthgraph",
744
+ "source_name": "RunKeeper",
745
+ "last_updated": "2015-01-14T18:19:48+00:00",
746
+ "user_id": "52f36ec6f1f70e2719000001"
747
+ }
748
+ ]
749
+ }