Sha256: 4fa7dc9242cfc893861e6f45fc7979d12b62db015d5819fa5bbe87b0c7c3b1b0
Contents?: true
Size: 1.42 KB
Versions: 1
Compression:
Stored size: 1.42 KB
Contents
require 'insulin' module Insulin class Day < Hash def initialize date, mongo @date = date @mongo = mongo keys = [ "type", "subtype", "tag" ] self["all"] = [] @mongo.db.collection(date).find().each do |e| ev = Event.new(e) keys.each do |k| sub = ev[k] if self[sub] self[sub] << ev else self[sub] = [ev] end end self["all"] << ev end end def average_glucose t = 0 c = 0 begin self["glucose"].each do |g| @glucose_units = g["units"] t += g["value"] c += 1 end rescue NoMethodError return 0 end return t / c end def to_s s = "" s << @date s << "\n" self["all"].each do |e| s << " " s << e.simple s << "\n" end s << " " s << "Average glucose: %4.2f %s" % [ self.average_glucose, @glucose_units ] s end def minimal s = "" s << @date s << "\n" # This needs a test! self["all"].each do |e| if ["breakfast", "lunch", "dinner", "bedtime"].include? e["tag"] and ["medication", "glucose"].include? e["type"] s << " " s << e.simple s << "\n" end end s end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
insulin-0.0.18 | lib/insulin/day.rb |