insulin 0.0.9 → 0.0.10
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.
- data/Gemfile.lock +2 -1
- data/README.md +10 -2
- data/TODO.md +6 -1
- data/bin/insulin +15 -4
- data/files/google_spreadsheet.csv +6 -0
- data/files/on_track.csv +33 -10
- data/insulin.gemspec +1 -0
- data/lib/insulin.rb +2 -0
- data/lib/insulin/day.rb +60 -0
- data/lib/insulin/event.rb +34 -1
- data/lib/insulin/on_track_csv_file.rb +2 -2
- data/lib/insulin/version.rb +1 -1
- data/scripts/build.sh +6 -0
- data/spec/insulin_day_spec.rb +36 -0
- data/spec/insulin_event_spec.rb +20 -0
- data/spec/insulin_mongo_handle_spec.rb +0 -1
- data/spec/insulin_on_track_csv_file_spec.rb +17 -7
- data/spec/spec_helper.rb +16 -0
- metadata +25 -2
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -17,15 +17,21 @@ Usage
|
|
17
17
|
|
18
18
|
insulin ingest </path/to/on_track_export_file.csv>
|
19
19
|
|
20
|
-
This will take that file,
|
20
|
+
This will take that file, parse it, and push the JSON into a number of collections in a MongoDB database called 'insulin'. You can view them with something like
|
21
21
|
|
22
22
|
$ mongo insulin
|
23
23
|
MongoDB shell version: 2.0.6
|
24
24
|
connecting to: insulin
|
25
25
|
> db.events.find({serial : 266})
|
26
|
-
{ "_id" : ObjectId("4ff07b371508cc259c8a8f0c"), "serial" : 266, "timestamp" : ISODate("2012-06-28T09:21:05Z"), "tzoffset" : "+0100", "timezone" : "BST", "unixtime" : 1340875265, "day" : "thursday", "date" : "2012-06-28", "time" : "10:21:05 BST", "type" : "medication", "subtype" : "humalog", "tag" : "
|
26
|
+
{ "_id" : ObjectId("4ff07b371508cc259c8a8f0c"), "serial" : 266, "timestamp" : ISODate("2012-06-28T09:21:05Z"), "tzoffset" : "+0100", "timezone" : "BST", "unixtime" : 1340875265, "day" : "thursday", "date" : "2012-06-28", "time" : "10:21:05 BST", "type" : "medication", "subtype" : "humalog", "tag" : "breakfast", "value" : 4, "notes" : { "food" : [ "2 bacon", "2 toast" ], "note" : [ "test note" ] } }
|
27
27
|
>
|
28
28
|
|
29
|
+
You can also run the tests, if you're into that sort of thing:
|
30
|
+
|
31
|
+
bundle exec rspec
|
32
|
+
|
33
|
+
There's also some Postfix voodoo I've been using to extract the CSVs from incoming mail, which I'll document here soon.
|
34
|
+
|
29
35
|
Next steps
|
30
36
|
==========
|
31
37
|
|
@@ -34,4 +40,6 @@ Next steps
|
|
34
40
|
* Give it a [meteor](http://meteor.com/) front-end (might require some help from [Chris](https://github.com/mrchrisadams)). Graphs, yo
|
35
41
|
* Possibly connect to [this API](http://platform.fatsecret.com/api/) to extract carb values from plain-text food descriptions (this may be a little ambitious, we'll see)
|
36
42
|
|
43
|
+
---
|
37
44
|
|
45
|
+
Project built using DDD (Diabetes-Driven Development)
|
data/TODO.md
CHANGED
@@ -1,2 +1,7 @@
|
|
1
|
-
* Rake tasks to build, move to pkg/, publish
|
2
1
|
* Executable needs to handle config somehow (~/.insulinrc maybe)
|
2
|
+
* Indexes
|
3
|
+
* Map/reduce somewhere?
|
4
|
+
* Jenkins?
|
5
|
+
* Food - combine available carbs data with meds object? or other way around?
|
6
|
+
* Unhappy with event display from Day. Maybe just make these things fixed-width and move this into Event (which should have a variety of to_s-ish methods, including as_csv which takes a list of fields)
|
7
|
+
* Estimated hba1c?
|
data/bin/insulin
CHANGED
@@ -5,13 +5,24 @@ require 'thor'
|
|
5
5
|
|
6
6
|
module Insulin
|
7
7
|
class I < Thor
|
8
|
-
|
8
|
+
@@mongo = Insulin::MongoHandle.new ({"database" => "insulin"})
|
9
9
|
|
10
|
-
|
10
|
+
# map "-i" => :ingest
|
11
|
+
|
12
|
+
desc "ingest FILE", "ingest OnTrack CSV export FILE"
|
11
13
|
def ingest file
|
12
14
|
csv = Insulin::OnTrackCsvFile.new file
|
13
|
-
|
14
|
-
|
15
|
+
csv.save_events @@mongo
|
16
|
+
end
|
17
|
+
|
18
|
+
desc "day DATE", "show stats for day DATE (default is today)"
|
19
|
+
def day date = nil
|
20
|
+
if not date
|
21
|
+
require 'time'
|
22
|
+
date = Time.new.strftime "%F"
|
23
|
+
end
|
24
|
+
d = Insulin::Day.new date, @@mongo
|
25
|
+
puts d
|
15
26
|
end
|
16
27
|
end
|
17
28
|
end
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Date,Mass,Breakfast,,,,,Morning snacks,Lunch,,,,,Afternoon snacks,Dinner,,,,,Evening snacks,Bedtime,,
|
2
|
+
,,Time,BG,Insulin,Food,Drink,,Time,BG,Insulin,Food,Drink,,Time,BG,Insulin,Food,Drink,,Time,BG,Insulin
|
3
|
+
2012-06-28,,10:00:00,6.1,4,"Bacon, toast",Tea,,13:45:00,4.3,4,Haloumi salad,,Banana,19:00:00,5.7,8,Turkey stir-fry,Prosecco,Fun-size Twix,22:45:00,5.7,14
|
4
|
+
2012-06-29,58,08:45:00,3.9,4,Eggs on toast,Tea,,13:00:00,5.6,6,Fishfinger sandwich,,"Crisps, prosecco",20:30:00,15.2,6,Japanese takeaway,Beer,,01:00:00,9.9,14
|
5
|
+
2012-06-30,,11:00:00,7.0,,,,,12:00:00,,6,"Bacon, eggs, mushrooms, beans, toast",Tea,,19:00:00,4.4,6,"Prawns, egg-fried rice",,,23:30:00,17.5,14
|
6
|
+
2012-07-01,,09:30:00,6.4,4,"Boiled eggs, toast",Tea,,,,,,,,,,,,,,,,
|
data/files/on_track.csv
CHANGED
@@ -1,18 +1,41 @@
|
|
1
|
+
343,"Jul 4, 2012 11:04:56 PM",Medication,Lantus,Bedtime,12.0,""
|
2
|
+
342,"Jul 4, 2012 10:09:11 PM",Glucose,,Bedtime,9.2,"B:4 pints
|
3
|
+
N: new pot of strips"
|
4
|
+
341,"Jul 4, 2012 6:16:28 PM",Medication,Humalog,Dinner,5.0,"F: picnic box (Leon)"
|
5
|
+
340,"Jul 4, 2012 6:14:12 PM",Glucose,,Dinner,4.4,""
|
6
|
+
339,"Jul 4, 2012 12:53:16 PM",Medication,Humalog,Lunch,4.0,"F: salmon and tuna tartare salad (Itsu), crisps"
|
7
|
+
338,"Jul 4, 2012 12:53:09 PM",Glucose,,Lunch,5.6,""
|
8
|
+
337,"Jul 4, 2012 11:23:37 AM",Glucose,,,6.6,""
|
9
|
+
335,"Jul 4, 2012 8:43:04 AM",Exercise,Walking,After Breakfast,20.0,""
|
10
|
+
334,"Jul 4, 2012 7:44:42 AM",Food,,Breakfast,36.0,""
|
11
|
+
333,"Jul 4, 2012 7:28:40 AM",Medication,Humalog,Breakfast,3.0,"F: egg on toast"
|
12
|
+
332,"Jul 4, 2012 7:27:37 AM",Glucose,,Breakfast,4.1,""
|
13
|
+
302,"Jul 1, 2012 10:46:12 PM",Medication,Lantus,Bedtime,14.0,""
|
14
|
+
301,"Jul 1, 2012 10:32:32 PM",Glucose,,Bedtime,7.5,""
|
15
|
+
300,"Jul 1, 2012 9:06:01 PM",Glucose,,After Dinner,3.5,""
|
16
|
+
299,"Jul 1, 2012 7:03:37 PM",Medication,Humalog,Dinner,6.0,"F:Roast chicken dinner"
|
17
|
+
298,"Jul 1, 2012 6:56:25 PM",Glucose,,Dinner,4.9,""
|
18
|
+
297,"Jul 1, 2012 2:03:05 PM",Medication,Humalog,Lunch,4.0,"F: prawns, avocado, mayonnaise, bruschetta"
|
19
|
+
296,"Jul 1, 2012 1:54:04 PM",Glucose,,Lunch,5.0,""
|
20
|
+
295,"Jul 1, 2012 12:40:43 PM",Weight,,Lunch,59.0,""
|
21
|
+
294,"Jul 1, 2012 9:57:09 AM",Medication,Humalog,Breakfast,4.0,"Boiled eggs, toast"
|
22
|
+
293,"Jul 1, 2012 9:41:47 AM",Glucose,,Breakfast,6.4,""
|
23
|
+
292,"Jul 1, 2012 12:40:24 AM",Medication,Lantus,Bedtime,14.0,""
|
24
|
+
291,"Jun 30, 2012 11:14:04 PM",Glucose,,Bedtime,17.5,"D:m"
|
25
|
+
290,"Jun 30, 2012 7:56:20 PM",Glucose,,After Dinner,7.0,""
|
26
|
+
289,"Jun 30, 2012 7:07:42 PM",Medication,Humalog,Dinner,6.0,"Prawns, egg-fried rice"
|
27
|
+
288,"Jun 30, 2012 6:24:50 PM",Glucose,,Dinner,4.4,""
|
1
28
|
287,"Jun 30, 2012 1:55:02 PM",Glucose,,After Lunch,3.6,"N: new pot of strips"
|
2
29
|
286,"Jun 30, 2012 12:07:56 PM",Medication,Humalog,Lunch,6.0,"F: fry-up"
|
30
|
+
285,"Jun 30, 2012 11:09:53 AM",Glucose,,Breakfast,7.0,"N: slept late. It's going to be brunch today"
|
31
|
+
283,"Jun 30, 2012 1:04:53 AM",Glucose,,Bedtime,9.9,""
|
32
|
+
284,"Jun 30, 2012 1:04:53 AM",Medication,Lantus,Bedtime,14.0,""
|
33
|
+
282,"Jun 29, 2012 10:59:13 PM",Glucose,,After Dinner,10.4,""
|
3
34
|
281,"Jun 29, 2012 8:46:58 PM",Medication,Humalog,Dinner,6.0,"F: Japanese takeaway"
|
35
|
+
280,"Jun 29, 2012 8:16:52 PM",Glucose,,Dinner,15.2,"B:prosecco"
|
36
|
+
279,"Jun 29, 2012 6:29:58 PM",Glucose,,,3.8,""
|
4
37
|
278,"Jun 29, 2012 1:02:13 PM",Medication,Humalog,Lunch,6.0,"Fishfinger sandwich, salad"
|
5
38
|
277,"Jun 29, 2012 1:02:04 PM",Glucose,,Lunch,5.6,""
|
6
39
|
276,"Jun 29, 2012 10:00:54 AM",Weight,,Breakfast,58.0,""
|
7
40
|
275,"Jun 29, 2012 8:45:13 AM",Medication,Humalog,Breakfast,4.0,"F:2 eggs, 2 toast"
|
8
41
|
274,"Jun 29, 2012 8:37:47 AM",Glucose,,Breakfast,3.9,""
|
9
|
-
273,"Jun 28, 2012 10:52:14 PM",Medication,Lantus,Bedtime,14.0,""
|
10
|
-
272,"Jun 28, 2012 10:46:13 PM",Glucose,,Bedtime,5.7,""
|
11
|
-
271,"Jun 28, 2012 7:30:50 PM",Medication,Humalog,Dinner,8.0,"F: turkey stir-fry"
|
12
|
-
270,"Jun 28, 2012 7:06:35 PM",Glucose,,Dinner,5.7,""
|
13
|
-
268,"Jun 28, 2012 1:52:47 PM",Medication,Humalog,Lunch,4.0,"F: haloumi salad"
|
14
|
-
267,"Jun 28, 2012 1:35:50 PM",Glucose,,Lunch,4.3,""
|
15
|
-
266,"Jun 28, 2012 10:21:05 AM",Medication,Humalog,Breakfast,4.0,"F:2 bacon, 2 toast
|
16
|
-
N:test note"
|
17
|
-
265,"Jun 28, 2012 9:42:17 AM",Glucose,,Breakfast,6.1,""
|
18
|
-
262,"Jun 27, 2012 11:58:07 PM",Exercise,Drumming,,120.0,""
|
data/insulin.gemspec
CHANGED
data/lib/insulin.rb
CHANGED
data/lib/insulin/day.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'insulin'
|
2
|
+
|
3
|
+
module Insulin
|
4
|
+
class Day < Hash
|
5
|
+
def initialize date, mongo
|
6
|
+
@date = date
|
7
|
+
@mongo = mongo
|
8
|
+
|
9
|
+
keys = [
|
10
|
+
"type",
|
11
|
+
"subtype",
|
12
|
+
"tag"
|
13
|
+
]
|
14
|
+
self["all"] = []
|
15
|
+
|
16
|
+
@mongo.db.collection(date).find().each do |e|
|
17
|
+
ev = Insulin::Event.new(e)
|
18
|
+
keys.each do |k|
|
19
|
+
sub = ev[k]
|
20
|
+
if self[sub]
|
21
|
+
self[sub] << ev
|
22
|
+
else
|
23
|
+
self[sub] = [ev]
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
self["all"] << ev
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def average_glucose
|
32
|
+
t = 0
|
33
|
+
c = 0
|
34
|
+
self["glucose"].each do |g|
|
35
|
+
@glucose_units = g["units"]
|
36
|
+
t += g["value"]
|
37
|
+
c += 1
|
38
|
+
end
|
39
|
+
|
40
|
+
return t / c
|
41
|
+
end
|
42
|
+
|
43
|
+
def to_s
|
44
|
+
s = ""
|
45
|
+
s << @date
|
46
|
+
s << "\n"
|
47
|
+
|
48
|
+
self["all"].each do |e|
|
49
|
+
s << e.simple
|
50
|
+
s << "\n"
|
51
|
+
end
|
52
|
+
|
53
|
+
s << " Average glucose: %4.2f %s" % [
|
54
|
+
self.average_glucose,
|
55
|
+
@glucose_units
|
56
|
+
]
|
57
|
+
s
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
data/lib/insulin/event.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'time'
|
2
|
+
|
1
3
|
module Insulin
|
2
4
|
# Author:: Sam (mailto:sam@cruft.co)
|
3
5
|
# License:: MIT
|
@@ -5,20 +7,39 @@ module Insulin
|
|
5
7
|
# This class represents a single OnTrack event (BG, meds, etc)
|
6
8
|
class Event < Hash
|
7
9
|
|
10
|
+
@@units = {
|
11
|
+
"glucose" => "mmol/L",
|
12
|
+
"medication" => "x10^-5 L",
|
13
|
+
"weight" => "kg",
|
14
|
+
"exercise" => "minutes"
|
15
|
+
}
|
16
|
+
|
17
|
+
# An event before this time is considered part of the previous day. Because
|
18
|
+
# sometimes, we stay up late
|
19
|
+
@@cut_off_time = "04:00"
|
20
|
+
|
8
21
|
# We expect to be passed a hash
|
9
22
|
def initialize h
|
10
23
|
self.update h
|
24
|
+
|
25
|
+
self["units"] = @@units[self["type"]]
|
11
26
|
end
|
12
27
|
|
13
28
|
# Save the event to Mongo via mongo_handle
|
14
29
|
def save mongo_handle
|
15
30
|
|
31
|
+
# See above
|
32
|
+
date_collection = self["date"]
|
33
|
+
if self["time"] < @@cut_off_time
|
34
|
+
date_collection = (Time.parse(self["date"]) - 86400).strftime "%F"
|
35
|
+
end
|
36
|
+
|
16
37
|
# Save to each of these collections
|
17
38
|
clxns = [
|
18
39
|
"events",
|
19
40
|
self["type"],
|
20
41
|
self["subtype"],
|
21
|
-
|
42
|
+
date_collection
|
22
43
|
]
|
23
44
|
|
24
45
|
clxns.each do |c|
|
@@ -36,5 +57,17 @@ module Insulin
|
|
36
57
|
end
|
37
58
|
end
|
38
59
|
end
|
60
|
+
|
61
|
+
def simple
|
62
|
+
s = " %s %-10s %-10s %4.1f %s" % [
|
63
|
+
self["time"],
|
64
|
+
self["type"],
|
65
|
+
self["subtype"],
|
66
|
+
self["value"],
|
67
|
+
self["units"]
|
68
|
+
]
|
69
|
+
|
70
|
+
s
|
71
|
+
end
|
39
72
|
end
|
40
73
|
end
|
@@ -51,11 +51,11 @@ module Insulin
|
|
51
51
|
|
52
52
|
# Save the events to Mongo
|
53
53
|
def save_events mongo
|
54
|
-
print "saving %d events to mongo... " % @events.count
|
54
|
+
# print "saving %d events to mongo... " % @events.count
|
55
55
|
@events.each do |e|
|
56
56
|
e.save mongo
|
57
57
|
end
|
58
|
-
puts "done"
|
58
|
+
# puts "done"
|
59
59
|
end
|
60
60
|
end
|
61
61
|
end
|
data/lib/insulin/version.rb
CHANGED
data/scripts/build.sh
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'insulin'
|
2
|
+
require "spec_helper.rb"
|
3
|
+
|
4
|
+
describe Insulin::Day do
|
5
|
+
load_test_db
|
6
|
+
|
7
|
+
d = Insulin::Day.new "2012-06-30", @mongo
|
8
|
+
|
9
|
+
it "should contain something" do
|
10
|
+
d.keys.size.should > 0
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should have events" do
|
14
|
+
d.keys.each do |k|
|
15
|
+
d[k].each do |e|
|
16
|
+
e.class.name.should == "Insulin::Event"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should have glucose events" do
|
22
|
+
d["glucose"].each do |g|
|
23
|
+
g["type"].should == "glucose"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should have at most 1 lantus event" do
|
28
|
+
d["lantus"].size.should < 2
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should display correctly" do
|
32
|
+
d.to_s.should include "19:07:42 BST medication humalog 6.0 x10^-5 L"
|
33
|
+
end
|
34
|
+
|
35
|
+
drop_test_db
|
36
|
+
end
|
data/spec/insulin_event_spec.rb
CHANGED
@@ -10,6 +10,10 @@ N:other note"}
|
|
10
10
|
event["type"].should == "medication"
|
11
11
|
end
|
12
12
|
|
13
|
+
it "should have the correct units" do
|
14
|
+
event["units"].should == "x10^-5 L"
|
15
|
+
end
|
16
|
+
|
13
17
|
conf = Insulin::Config.new 'conf/insulin_dev.yaml'
|
14
18
|
mconf = conf.get_section "mongo"
|
15
19
|
mongo = Insulin::MongoHandle.new mconf
|
@@ -42,6 +46,22 @@ N:other note"}
|
|
42
46
|
it "saved event should have correct value" do
|
43
47
|
item["value"].should == 4.0
|
44
48
|
end
|
49
|
+
|
50
|
+
it "saved event should have correct units" do
|
51
|
+
item["units"].should == "x10^-5 L"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
mongo_event = Insulin::Event.new mongo.db.collection("events").find_one(
|
56
|
+
{"serial" => 266}
|
57
|
+
)
|
58
|
+
|
59
|
+
it "loaded event should have correct date" do
|
60
|
+
mongo_event["date"].should == "2012-06-28"
|
61
|
+
end
|
62
|
+
|
63
|
+
it "loaded event should have correct time" do
|
64
|
+
mongo_event["time"].should == "10:21:05 BST"
|
45
65
|
end
|
46
66
|
|
47
67
|
mongo.drop_db
|
@@ -11,16 +11,15 @@ describe Insulin::OnTrackCsvFile do
|
|
11
11
|
csv_file.lines[0].class.name.should == "Insulin::OnTrackCsvLine"
|
12
12
|
end
|
13
13
|
|
14
|
-
it "line with serial
|
14
|
+
it "line with serial 342 should have proper noteset" do
|
15
15
|
csv_file.lines.each do |c|
|
16
|
-
if c["serial"] ==
|
16
|
+
if c["serial"] == 342
|
17
17
|
c["notes"].should == {
|
18
|
-
"
|
19
|
-
"
|
20
|
-
"2 toast"
|
18
|
+
"booze"=>[
|
19
|
+
"4 pints"
|
21
20
|
],
|
22
21
|
"note"=>[
|
23
|
-
"
|
22
|
+
"new pot of strips"
|
24
23
|
]
|
25
24
|
}
|
26
25
|
end
|
@@ -51,7 +50,18 @@ describe Insulin::OnTrackCsvFile do
|
|
51
50
|
|
52
51
|
it "should save events" do
|
53
52
|
csv_file.save_events @mongo
|
54
|
-
@mongo.db.collection("events").count.should >=
|
53
|
+
@mongo.db.collection("events").count.should >= 40
|
54
|
+
end
|
55
|
+
|
56
|
+
it "small-hours event should be assigned to previous-date collection" do
|
57
|
+
l = @mongo.db.collection("2012-06-30").find_one( { "serial" => 292 } )
|
58
|
+
l.should_not == nil
|
59
|
+
l["date"].should == "2012-07-01"
|
60
|
+
end
|
61
|
+
|
62
|
+
it "small-hours event should not appear in actual-date collection" do
|
63
|
+
l = @mongo.db.collection("2012-06-01").find_one( { "serial" => 292 } )
|
64
|
+
l.should == nil
|
55
65
|
end
|
56
66
|
|
57
67
|
after :all do
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'insulin'
|
2
|
+
|
3
|
+
@mongo
|
4
|
+
|
5
|
+
def load_test_db
|
6
|
+
config = Insulin::Config.new 'conf/insulin_dev.yaml'
|
7
|
+
mconf = config.get_section "mongo"
|
8
|
+
@mongo = Insulin::MongoHandle.new mconf
|
9
|
+
|
10
|
+
csv = Insulin::OnTrackCsvFile.new "files/on_track.csv"
|
11
|
+
csv.save_events @mongo
|
12
|
+
end
|
13
|
+
|
14
|
+
def drop_test_db
|
15
|
+
@mongo.drop_db
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: insulin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-07-
|
12
|
+
date: 2012-07-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -59,6 +59,22 @@ dependencies:
|
|
59
59
|
- - ! '>='
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: ffi
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
type: :runtime
|
71
|
+
prerelease: false
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
62
78
|
- !ruby/object:Gem::Dependency
|
63
79
|
name: rspec
|
64
80
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,10 +142,12 @@ files:
|
|
126
142
|
- bin/insulin
|
127
143
|
- conf/insulin.yaml
|
128
144
|
- conf/insulin_dev.yaml
|
145
|
+
- files/google_spreadsheet.csv
|
129
146
|
- files/on_track.csv
|
130
147
|
- insulin.gemspec
|
131
148
|
- lib/insulin.rb
|
132
149
|
- lib/insulin/config.rb
|
150
|
+
- lib/insulin/day.rb
|
133
151
|
- lib/insulin/event.rb
|
134
152
|
- lib/insulin/mongo_handle.rb
|
135
153
|
- lib/insulin/on_track_csv_file.rb
|
@@ -138,7 +156,9 @@ files:
|
|
138
156
|
- lib/insulin/on_track_note.rb
|
139
157
|
- lib/insulin/on_track_note_set.rb
|
140
158
|
- lib/insulin/version.rb
|
159
|
+
- scripts/build.sh
|
141
160
|
- spec/insulin_config_spec.rb
|
161
|
+
- spec/insulin_day_spec.rb
|
142
162
|
- spec/insulin_event_spec.rb
|
143
163
|
- spec/insulin_mongo_handle_spec.rb
|
144
164
|
- spec/insulin_on_track_csv_file_spec.rb
|
@@ -146,6 +166,7 @@ files:
|
|
146
166
|
- spec/insulin_on_track_date_spec.rb
|
147
167
|
- spec/insulin_on_track_note_set_spec.rb
|
148
168
|
- spec/insulin_on_track_note_spec.rb
|
169
|
+
- spec/spec_helper.rb
|
149
170
|
homepage: http://pikesley.github.com/insulin/
|
150
171
|
licenses: []
|
151
172
|
post_install_message:
|
@@ -172,6 +193,7 @@ specification_version: 3
|
|
172
193
|
summary: Doing stuff with my diabetes data
|
173
194
|
test_files:
|
174
195
|
- spec/insulin_config_spec.rb
|
196
|
+
- spec/insulin_day_spec.rb
|
175
197
|
- spec/insulin_event_spec.rb
|
176
198
|
- spec/insulin_mongo_handle_spec.rb
|
177
199
|
- spec/insulin_on_track_csv_file_spec.rb
|
@@ -179,3 +201,4 @@ test_files:
|
|
179
201
|
- spec/insulin_on_track_date_spec.rb
|
180
202
|
- spec/insulin_on_track_note_set_spec.rb
|
181
203
|
- spec/insulin_on_track_note_spec.rb
|
204
|
+
- spec/spec_helper.rb
|