prevent eql_readings to be saved to db.

This commit is contained in:
Aart van Halteren
2013-07-17 13:48:35 +02:00
parent 4b523f34a4
commit edfb27ab98
3 changed files with 19 additions and 3 deletions

View File

@@ -78,7 +78,12 @@ class InSyncState < StatePattern::State
end
}
reading.save
last_reading = Reading.last
if last_reading.eql_reading?(reading)
p "Nothing changed. Do not add to the database"
else
reading.save
end
return reading
end

View File

@@ -1,3 +1,14 @@
class Reading < ActiveRecord::Base
def eql_reading?(reading)
self.total_kwh_consumed_high == reading.total_kwh_consumed_high &&
self.total_kwh_consumed_low == reading.total_kwh_consumed_low &&
self.total_kwh_produced_high == reading.total_kwh_produced_high &&
self.total_kwh_produced_low == reading.total_kwh_produced_low &&
self.current_kw_consumed == reading.current_kw_consumed &&
self.current_kw_produced = reading.current_kw_produced &&
self.total_m3_gas_consumed = reading.total_m3_gas_consumed &&
self.high_tarif == reading.high_tarif
end
end

View File

@@ -42,7 +42,7 @@ if __FILE__ == $0
#
sync = Synchronizer.new
while (buffer && buffer.length > 0)
p "BUFFER: #{buffer}."
# p "BUFFER: #{buffer}."
buffer = sync.handle_byte_stream(buffer)
buffer = buffer + read_from(source)
end