diff options
author | pks <pks@pks.rocks> | 2021-05-01 06:17:55 +0200 |
---|---|---|
committer | pks <pks@pks.rocks> | 2021-05-01 06:17:55 +0200 |
commit | f461190e22a97bde985b067ce01c4ed9c74f7e62 (patch) | |
tree | 0c2c48d1933765f83d083241df2dd74c6603f2bc /v1/test.rb | |
parent | 63fbf0f3aadb4b6d037a8164b501fe836d9c361d (diff) |
v1
Diffstat (limited to 'v1/test.rb')
-rw-r--r-- | v1/test.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/v1/test.rb b/v1/test.rb new file mode 100644 index 0000000..16ab18a --- /dev/null +++ b/v1/test.rb @@ -0,0 +1,27 @@ +int = Proc.new do |x| + x.to_i +end +float = Proc.new do |x| + x.to_f +end +str = Proc.new do |x| + x.to_s +end + +def parse_to_hash s, conv + h = {} + puts s.split("\t").map { |i| i=i.split("::"); "#{i[0]} #{conv[i[0]].call}" } + return h +end + +common_conv = { "db" => str, "timestamp"=>float, "device_type"=>str, "type"=>str, "device_id"=>str, "battery" => int, "battery_numeric" => int, "rssi" => int, "rssi_numeric" => int } +rain_conv = {"rain_rate"=>float, "rain_total"=>float}.merge(common_conv) +wind_conv = {"chill"=>float, "temperature"=>float,"average_speed"=>float,"direction"=>int,"gust"=>float}.merge(common_conv) +temp_conv = {"humidity"=>float, "humidity_status"=>str,"humidity_status_numeric"=>int,"temperature"=>float}.merge(common_conv) +conv = { "rain" => rain_conv, "wind" => wind_conv, "temp" => temp_conv } + +while line = STDIN.gets + db = line.split("\t").first.split("::")[1] + parse_to_hash line, conv[db] +end + |