Refactoring

This commit is contained in:
Aart van Halteren
2022-01-10 16:55:12 +01:00
parent e6e5ac1791
commit 8d43accec6
4 changed files with 359 additions and 253 deletions

37
app/models/battery.rb Normal file
View File

@@ -0,0 +1,37 @@
class Battery
attr_accessor :battery_kwh, :battery_max_kwh
def initialize(battery_capacity=10.0)
@battery_kwh = 0.0
@battery_max_kwh = battery_capacity
end
def charge(kwh)
return 0.0 if kwh.nil?
if battery_kwh + kwh <= battery_max_kwh
@battery_kwh += kwh.to_f
#p "Battery is now at %s kwh" % battery_kwh
return kwh
else
old_kwh = battery_kwh
battery_kwh = battery_max_kwh
#p "Battery is now at %s kwh" % battery_kwh
return (battery_max_kwh-old_kwh)
end
end
def discharge(kwh)
return 0.0 if kwh.nil?
if battery_kwh > kwh.to_f
@battery_kwh -= kwh.to_f
#p "Battery is now at %s kwh" % battery_kwh
return kwh
else
old_kwh = battery_kwh
battery_kwh = 0.0
#p "Battery is now at %s kwh" % battery_kwh
return old_kwh
end
end
end