validic 0.2.1 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +4 -0
- data/Gemfile.lock +50 -43
- data/LICENSE.txt +1 -1
- data/lib/validic.rb +9 -4
- data/lib/validic/{general_measurement.rb → biometric.rb} +6 -22
- data/lib/validic/client.rb +48 -7
- data/lib/validic/diabetes.rb +3 -20
- data/lib/validic/fitness.rb +5 -19
- data/lib/validic/nutrition.rb +3 -19
- data/lib/validic/organization.rb +3 -7
- data/lib/validic/request.rb +6 -0
- data/lib/validic/routine.rb +5 -19
- data/lib/validic/sleep.rb +5 -19
- data/lib/validic/third_party_app.rb +3 -8
- data/lib/validic/tobacco_cessation.rb +3 -19
- data/lib/validic/version.rb +1 -1
- data/lib/validic/weight.rb +5 -18
- data/spec/spec_helper.rb +5 -4
- data/spec/validic/biometrics_spec.rb +43 -0
- data/spec/validic/client_spec.rb +39 -1
- data/spec/validic/diabetes_spec.rb +4 -3
- data/spec/validic/fitness_spec.rb +3 -2
- data/spec/validic/nutrition_spec.rb +3 -2
- data/spec/validic/organization_spec.rb +2 -2
- data/spec/validic/profile_spec.rb +1 -28
- data/spec/validic/routine_spec.rb +3 -2
- data/spec/validic/sleep_spec.rb +3 -2
- data/spec/validic/third_party_app_spec.rb +2 -2
- data/spec/validic/tobacco_cessation_spec.rb +3 -2
- data/spec/validic/user_spec.rb +7 -3
- data/spec/validic/weight_spec.rb +3 -2
- data/spec/validic_spec.rb +8 -7
- data/validic.gemspec +6 -7
- metadata +45 -102
- data/lib/validic/activity.rb +0 -73
- data/spec/.DS_Store +0 -0
- data/spec/validic/activity_spec.rb +0 -97
- data/spec/validic/general_measurement_spec.rb +0 -120
data/lib/validic/activity.rb
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module Validic
|
4
|
-
module Activity
|
5
|
-
|
6
|
-
##
|
7
|
-
# Get Activity base on `access_token`
|
8
|
-
# Default data fetched is from yesterday
|
9
|
-
#
|
10
|
-
# @params :organization_id - for organization specific activity
|
11
|
-
# @params :user_id - for user specific activity
|
12
|
-
#
|
13
|
-
# @params :start_date - optional
|
14
|
-
# @params :end_date - optional
|
15
|
-
# @params :access_token - override for default access_token
|
16
|
-
#
|
17
|
-
# @return [Hashie::Mash] with list of Activity
|
18
|
-
def get_activities(options={})
|
19
|
-
organization_id = options[:organization_id]
|
20
|
-
user_id = options[:user_id]
|
21
|
-
options = {
|
22
|
-
access_token: options[:access_token],
|
23
|
-
start_date: options[:start_date],
|
24
|
-
end_date: options[:end_date]
|
25
|
-
}
|
26
|
-
|
27
|
-
if organization_id
|
28
|
-
response = get("/#{Validic.api_version}/organizations/#{organization_id}/fitness.json", options)
|
29
|
-
elsif user_id
|
30
|
-
response = get("/#{Validic.api_version}/users/#{user_id}/fitness.json", options)
|
31
|
-
else
|
32
|
-
response = get("/#{Validic.api_version}/fitness.json", options)
|
33
|
-
end
|
34
|
-
|
35
|
-
response if response
|
36
|
-
end
|
37
|
-
|
38
|
-
##
|
39
|
-
# Get the latest Activities base on 'access_token'
|
40
|
-
# for organization or for a specific user
|
41
|
-
#
|
42
|
-
# @activity_type - mandatory - specify what type of activity to fetch
|
43
|
-
# List of activity_types
|
44
|
-
# [ fitness, routine, weight, nutrition, sleep, diabetes, biometrics, tobacco_cessation ]
|
45
|
-
#
|
46
|
-
# @params :organization_id - optional - supply only this to get all user's activities belonging to organization
|
47
|
-
# @params :user_id - optional - supply only this to get the user's latest activities
|
48
|
-
def get_latest_activities(options={})
|
49
|
-
activity_type = options[:activity_type]
|
50
|
-
organization_id = options[:organization_id]
|
51
|
-
user_id = options[:user_id]
|
52
|
-
options = {
|
53
|
-
access_token: options[:access_token]
|
54
|
-
}
|
55
|
-
|
56
|
-
if activity_type.blank?
|
57
|
-
response = "Invalid api request. params[:activity_type] can't be blank."
|
58
|
-
else
|
59
|
-
if organization_id && user_id
|
60
|
-
response = get("/#{Validic.api_version}/organizations/#{organization_id}/users/#{user_id}/#{activity_type}/latest", options)
|
61
|
-
elsif organization_id && user_id.blank?
|
62
|
-
response = get("/#{Validic.api_version}/organizations/#{organization_id}/#{activity_type}/latest", options)
|
63
|
-
elsif user_id && organization_id.blank?
|
64
|
-
response = get("/#{Validic.api_version}/users/#{user_id}/#{activity_type}/latest", options)
|
65
|
-
else
|
66
|
-
response = get("/#{Validic.api_version}/#{activity_type}/latest", options)
|
67
|
-
end
|
68
|
-
end
|
69
|
-
response if response
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
73
|
-
end
|
data/spec/.DS_Store
DELETED
Binary file
|
@@ -1,97 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe Validic::Activity do
|
5
|
-
|
6
|
-
let(:client) { Validic::Client.new }
|
7
|
-
|
8
|
-
context "#get_activities" do
|
9
|
-
before do
|
10
|
-
@activities_response = client.get_activities({})
|
11
|
-
end
|
12
|
-
|
13
|
-
it "returns JSON response of Validic::Activity", vcr: true do
|
14
|
-
@activities_response.should_not be_nil
|
15
|
-
end
|
16
|
-
|
17
|
-
it "status 200" do
|
18
|
-
@activities_response.summary.status.should == 200
|
19
|
-
end
|
20
|
-
|
21
|
-
it "has summary node" do
|
22
|
-
@activities_response.summary.should_not be_nil
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context "#get_activities via organization" do
|
27
|
-
before do
|
28
|
-
@activities_response = client.get_activities({organization_id: "519e24e16a7e0cc7ef00002b", access_token: "ENTERPRISE_KEY"})
|
29
|
-
end
|
30
|
-
|
31
|
-
it "returns JSON response of Validic::Activity", vcr: true do
|
32
|
-
@activities_response.should_not be_nil
|
33
|
-
end
|
34
|
-
|
35
|
-
it "status 200" do
|
36
|
-
@activities_response.summary.status.should == 200
|
37
|
-
end
|
38
|
-
|
39
|
-
it "has summary node" do
|
40
|
-
@activities_response.summary.should_not be_nil
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
context "#get_activities of a user" do
|
45
|
-
before do
|
46
|
-
@activities_response = client.get_activities({user_id: "519e24e16a7e0cc7ef00002c"})
|
47
|
-
end
|
48
|
-
|
49
|
-
it "returns JSON response of Validic::Activity", vcr: true do
|
50
|
-
@activities_response.should_not be_nil
|
51
|
-
end
|
52
|
-
|
53
|
-
it "status 200" do
|
54
|
-
@activities_response.summary.status.should == 200
|
55
|
-
end
|
56
|
-
|
57
|
-
it "has summary node" do
|
58
|
-
@activities_response.summary.should_not be_nil
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
context "#get_latest_activities of a user base on activity_type" do
|
63
|
-
before do
|
64
|
-
@latest_activities_response = client.get_latest_activities(user_id: "519e24e16a7e0cc7ef00002c", access_token: "9c03ad2bcb022425944e4686d398ef8398f537c2f7c113495ffa7bc9cfa49286", activity_type: "routine")
|
65
|
-
end
|
66
|
-
|
67
|
-
it "returns JSON response of Validic::Activity", vcr: true do
|
68
|
-
@latest_activities_response.should_not be_nil
|
69
|
-
end
|
70
|
-
|
71
|
-
it "status 200" do
|
72
|
-
@latest_activities_response.summary.status.should == 200
|
73
|
-
end
|
74
|
-
|
75
|
-
it "has summary node" do
|
76
|
-
@latest_activities_response.summary.should_not be_nil
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
context "#get_latest_activities of an organization base on activity_type" do
|
81
|
-
before do
|
82
|
-
@latest_activities_response = client.get_latest_activities(organization_id: "519e24e16a7e0cc7ef00002b", activity_type: "routine", access_token: "296a9c1d73c1b40af4c8e643336cb25524caf2a7679ba92c192855160572fdb1")
|
83
|
-
end
|
84
|
-
|
85
|
-
it "returns JSON response of Validic::Activity", vcr: true do
|
86
|
-
@latest_activities_response.should_not be_nil
|
87
|
-
end
|
88
|
-
|
89
|
-
it "status 200" do
|
90
|
-
@latest_activities_response.summary.status.should == 200
|
91
|
-
end
|
92
|
-
|
93
|
-
it "has summary node" do
|
94
|
-
@latest_activities_response.summary.should_not be_nil
|
95
|
-
end
|
96
|
-
end
|
97
|
-
end
|
@@ -1,120 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
require 'spec_helper'
|
3
|
-
|
4
|
-
describe Validic::GeneralMeasurement do
|
5
|
-
|
6
|
-
let(:client) { Validic::Client.new }
|
7
|
-
|
8
|
-
context "#get_general_measurements" do
|
9
|
-
before do
|
10
|
-
@general_measurement = client.get_general_measurements({})
|
11
|
-
end
|
12
|
-
|
13
|
-
it "returns JSON response of Validic::GeneralMeasurement", vcr: true do
|
14
|
-
@general_measurement.should_not be_nil
|
15
|
-
end
|
16
|
-
|
17
|
-
it "status 200" do
|
18
|
-
@general_measurement.summary.status.should == 200
|
19
|
-
end
|
20
|
-
|
21
|
-
it "has summary node" do
|
22
|
-
@general_measurement.summary.should_not be_nil
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
context "#create_general_measurement" do
|
27
|
-
it "should create new general_measurement record" do
|
28
|
-
@new_general_measurement = client.create_general_measurement({authentication_token: "mqwpDx8RYcmSFBJDmy3J",
|
29
|
-
access_token: "DEMO_KEY",
|
30
|
-
timestamp: "2013-05-16 07:12:16 -05:00",
|
31
|
-
blood_calcium: 7.6,
|
32
|
-
blood_chromium: 1.75,
|
33
|
-
blood_folic_acid: 4.4,
|
34
|
-
blood_magnesium: 1.24,
|
35
|
-
blood_potassium: 1.9,
|
36
|
-
blood_sodium: 122.1,
|
37
|
-
blood_vitamin_b12: 600,
|
38
|
-
blood_zinc: 120,
|
39
|
-
creatine_kinase: 75,
|
40
|
-
crp: 1,
|
41
|
-
diastolic: 72,
|
42
|
-
ferritin: 175,
|
43
|
-
hdl: 41,
|
44
|
-
hscrp: 0.91,
|
45
|
-
il6: 0.94,
|
46
|
-
resting_heartrate: 75,
|
47
|
-
systolic: 115,
|
48
|
-
testosterone: 255,
|
49
|
-
total_cholesterol: 150,
|
50
|
-
tsh: 0.8,
|
51
|
-
uric_acid: 7.4,
|
52
|
-
vitamin_d: 55.3,
|
53
|
-
white_cell_count: 7685.34,
|
54
|
-
source: "Sample App"})
|
55
|
-
@new_general_measurement.should_not be_nil
|
56
|
-
@new_general_measurement.general_measurement.timestamp.should eq "2013-05-16 07:12:16 -05:00"
|
57
|
-
@new_general_measurement.general_measurement.blood_calcium.should eq 7.6
|
58
|
-
@new_general_measurement.general_measurement.blood_chromium.should eq 1.75
|
59
|
-
@new_general_measurement.general_measurement.blood_folic_acid.should eq 4.4
|
60
|
-
@new_general_measurement.general_measurement.blood_magnesium.should eq 1.24
|
61
|
-
@new_general_measurement.general_measurement.blood_potassium.should eq 1.9
|
62
|
-
@new_general_measurement.general_measurement.blood_sodium.should eq 122.1
|
63
|
-
@new_general_measurement.general_measurement.blood_vitamin_b12.should eq 600.0
|
64
|
-
@new_general_measurement.general_measurement.blood_zinc.should eq 120.0
|
65
|
-
@new_general_measurement.general_measurement.creatine_kinase.should eq 75.0
|
66
|
-
@new_general_measurement.general_measurement.crp.should eq 1.0
|
67
|
-
@new_general_measurement.general_measurement.diastolic.should eq 72.0
|
68
|
-
@new_general_measurement.general_measurement.ferritin.should eq 175.0
|
69
|
-
@new_general_measurement.general_measurement.hdl.should eq 41.0
|
70
|
-
@new_general_measurement.general_measurement.hscrp.should eq 0.91
|
71
|
-
@new_general_measurement.general_measurement.il6.should eq 0.94
|
72
|
-
@new_general_measurement.general_measurement.resting_heartrate.should eq 75.0
|
73
|
-
@new_general_measurement.general_measurement.systolic.should eq 115.0
|
74
|
-
@new_general_measurement.general_measurement.testosterone.should eq 255.0
|
75
|
-
@new_general_measurement.general_measurement.total_cholesterol.should eq 150.0
|
76
|
-
@new_general_measurement.general_measurement.tsh.should eq 0.8
|
77
|
-
@new_general_measurement.general_measurement.uric_acid.should eq 7.4
|
78
|
-
@new_general_measurement.general_measurement.vitamin_d.should eq 55.3
|
79
|
-
@new_general_measurement.general_measurement.white_cell_count.should eq 7685.34
|
80
|
-
@new_general_measurement.general_measurement.source.should eq "Sample App"
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
context "#get_general_measurements by organization" do
|
85
|
-
before do
|
86
|
-
@general_measurement = client.get_general_measurements({organization_id: "519e24e16a7e0cc7ef00002b", access_token: "ENTERPRISE_KEY"})
|
87
|
-
end
|
88
|
-
|
89
|
-
it "returns JSON response of Validic::GeneralMeasurement", vcr: true do
|
90
|
-
@general_measurement.should_not be_nil
|
91
|
-
end
|
92
|
-
|
93
|
-
it "status 200" do
|
94
|
-
@general_measurement.summary.status.should == 200
|
95
|
-
end
|
96
|
-
|
97
|
-
it "has summary node" do
|
98
|
-
@general_measurement.summary.should_not be_nil
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
context "#get_general_measurements by user" do
|
103
|
-
before do
|
104
|
-
@general_measurement = client.get_general_measurements({user_id: "519e24e16a7e0cc7ef00002c"})
|
105
|
-
end
|
106
|
-
|
107
|
-
it "returns JSON response of Validic::GeneralMeasurement", vcr: true do
|
108
|
-
@general_measurement.should_not be_nil
|
109
|
-
end
|
110
|
-
|
111
|
-
it "status 200" do
|
112
|
-
@general_measurement.summary.status.should == 200
|
113
|
-
end
|
114
|
-
|
115
|
-
it "has summary node" do
|
116
|
-
@general_measurement.summary.should_not be_nil
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
end
|