insulin 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- insulin (0.0.7)
4
+ insulin (0.0.10)
5
5
  bson_ext
6
+ ffi
6
7
  mongo
7
8
  thor
8
9
 
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, turn it onto some nice JSON, and push into a number of collections in a MongoDB database called 'insulin'. You can see them with
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" : "after breakfast", "value" : 4, "notes" : { "food" : [ "2 bacon", "2 toast" ], "note" : [ "test note" ] } }
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
- map "-i" => :ingest
8
+ @@mongo = Insulin::MongoHandle.new ({"database" => "insulin"})
9
9
 
10
- desc "ingest", "ingest OnTrack CSV export FILE"
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
- mongo = Insulin::MongoHandle.new ({"database" => "insulin"})
14
- csv.save_events mongo
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
@@ -20,6 +20,7 @@ Gem::Specification.new do |gem|
20
20
  gem.add_dependency "thor"
21
21
  gem.add_dependency "mongo"
22
22
  gem.add_dependency "bson_ext"
23
+ gem.add_dependency "ffi"
23
24
 
24
25
  gem.add_development_dependency "rspec", "~> 2.6"
25
26
  gem.add_development_dependency "cucumber"
data/lib/insulin.rb CHANGED
@@ -7,6 +7,8 @@ require "insulin/on_track_note_set"
7
7
  require "insulin/on_track_csv_line"
8
8
  require "insulin/on_track_csv_file"
9
9
  require "insulin/event"
10
+ require "insulin/day"
11
+
10
12
  # Author:: Sam (mailto:sam@cruft.co)
11
13
  # License:: MIT
12
14
 
@@ -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
- self["date"]
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
@@ -1,5 +1,5 @@
1
1
  module Insulin
2
2
 
3
3
  # Current version
4
- VERSION = "0.0.9"
4
+ VERSION = "0.0.10"
5
5
  end
data/scripts/build.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+
3
+ . "${HOME}/.rvm/scripts/rvm"
4
+
5
+ bundle install
6
+ bundle exec rspec
@@ -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
@@ -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
@@ -20,7 +20,6 @@ describe Insulin::MongoHandle do
20
20
  true
21
21
  end
22
22
 
23
-
24
23
  it "should respond correctly to being passed a hash" do
25
24
  prod_handle = Insulin::MongoHandle.new(
26
25
  {
@@ -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 266 should have proper noteset" do
14
+ it "line with serial 342 should have proper noteset" do
15
15
  csv_file.lines.each do |c|
16
- if c["serial"] == 266
16
+ if c["serial"] == 342
17
17
  c["notes"].should == {
18
- "food"=>[
19
- "2 bacon",
20
- "2 toast"
18
+ "booze"=>[
19
+ "4 pints"
21
20
  ],
22
21
  "note"=>[
23
- "test note"
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 >= 17
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
@@ -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.9
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-01 00:00:00.000000000 Z
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