A program to read a Phidget IR sensor and log pull-ups with Fitbit's API
1class ConfigHash
2 CONFIG_FILE = "#{ENV["HOME"]}/.pullup_counter"
3
4 def initialize
5 @config = {}
6 read
7 end
8
9 def [](var)
10 @config[var]
11 end
12
13 def []=(var, val)
14 @config[var] = val
15 end
16
17 def read
18 @config = {}
19
20 if File.exists?(CONFIG_FILE)
21 File.read(CONFIG_FILE).split("\n").each do |line|
22 if m = line.strip.match(/^([^=]+)=(.*)/)
23 @config[m[1]] = m[2]
24 end
25 end
26 end
27 end
28
29 def save!
30 File.open(CONFIG_FILE, "w+", 0600) do |f|
31 @config.each do |k,v|
32 f.puts "#{k}=#{v}"
33 end
34 end
35 end
36end