0
@@ -10,7 +10,8 @@ module Net
0
+ "blower_serial_number" => "sw"
0
def initialize(stoker, options = {})
0
@@ -62,14 +63,17 @@ module Net
0
def blower_serial_number=(str)
0
- if @blower_serial_number = @stoker.blower(str).serial_number
0
+ if str.to_s == "" or str == "None"
0
+ @blower_serial_number = nil
0
+ @stoker.post(self.form_variable("blower") => "None")
0
+ elsif @blower_serial_number = @stoker.blower(str).serial_number
0
self.blower.change_without_update("sensor_serial_number", @serial_number)
0
@stoker.sensors.each do |s|
0
if s.blower_serial_number == @blower_serial_number
0
s.change_without_update("blower_serial_number", nil) unless s == self
0
- @stoker.post(self.form_variable("blower
") => @blower_serial_number)
0
+ @stoker.post(self.form_variable("blower
_serial_number") => @blower_serial_number)
0
raise "Blower not found"
0
@@ -91,24 +95,65 @@ module Net
0
def update_attributes(params)
0
- variables[self.form_variable(k.to_s)] = v unless k.to_s == "serial_number"
0
- @stoker.sensors.each do |s|
0
- if s.blower_serial_number == v
0
- s.change_without_update("blower_serial_number", nil) unless s == self
0
+ tp.each{|name,value| params[name.to_s] = value}
0
+ params.each do |name, value|
0
+ name = "blower_serial_number"
0
+ value = value.serial_number
0
+ when "blower_serial_number"
0
+ value = Net::Stoker::ALARMS.index(value.capitalize)
0
+ if name == "blower_serial_number"
0
+ # update internal state of any other sensors that have this blower
0
+ @stoker.sensors.each do |s|
0
+ s.change_without_update("blower_serial_number", nil) if s.blower_serial_number == value
0
+ # update the blower's internal state to this sensor
0
+ @stoker.blower(value).change_without_update("sensor_serial_number", self.serial_number)
0
+ # update internal state of any blowers pointing to this sensor if we're setting to None
0
+ @stoker.blowers.each do |b|
0
+ b.change_without_update("sensor_serial_number", nil) if b.sensor_serial_number == self.serial_number
0
- self.change_without_update("blower_serial_number", v)
0
- self.change_without_update(k, v)
0
+ variables[name] = value unless name == "serial_number"
0
- @stoker.post(variables)
0
+ # update internal state
0
+ variables.each do |name, value|
0
+ self.change_without_update(name, value)
0
+ variables.each do |name, value|
0
+ params[self.form_variable(name)] = value
0
+ @name || @serial_number
0
\ No newline at end of file
Comments
No one has commented yet.