Class: Battman::Battery
- Inherits:
-
Object
show all
- Defined in:
- lib/battman/battery.rb
Constant Summary
collapse
- CONVERSIONS =
{
power: {
watts: lambda {|value| value},
milliwatts: lambda {|value| value * 1000}
},
time: {
seconds: lambda {|value| value},
minutes: lambda {|value| value.to_f / 1.minute},
hours: lambda {|value| value.to_f / 1.hour}
},
energy: {
watt_hours: lambda {|value| value},
milliwatt_hours: lambda {|value| value * 1000}
}
}
Instance Method Summary
collapse
Constructor Details
#initialize(battery_index = 0, **opts) ⇒ Battery
Returns a new instance of Battery.
24
25
26
27
28
29
30
|
# File 'lib/battman/battery.rb', line 24
def initialize(battery_index = 0, **opts)
if self.class == Battery
raise AbstractError.new('cannot instantiate Battery')
end
@index = battery_index
end
|
Instance Method Details
#full_energy ⇒ Object
88
89
90
|
# File 'lib/battman/battery.rb', line 88
def full_energy
raise NotImplementedError.new
end
|
#full_energy_in(unit) ⇒ Object
#remaining_charging_time ⇒ Object
64
65
66
|
# File 'lib/battman/battery.rb', line 64
def remaining_charging_time
raise NotImplementedError.new
end
|
#remaining_charging_time_in(unit) ⇒ Object
68
69
70
71
72
73
74
|
# File 'lib/battman/battery.rb', line 68
def remaining_charging_time_in(unit)
unless unit.in?(CONVERSIONS[:time].keys)
raise UnsupportedUnitError.new(unit)
end
CONVERSIONS[:time][unit].call(remaining_charging_time)
end
|
#remaining_energy ⇒ Object
76
77
78
|
# File 'lib/battman/battery.rb', line 76
def remaining_energy
raise NotImplementedError.new
end
|
#remaining_energy_in(unit) ⇒ Object
80
81
82
83
84
85
86
|
# File 'lib/battman/battery.rb', line 80
def remaining_energy_in(unit)
unless unit.in?(CONVERSIONS[:energy].keys)
raise UnsupportedUnitError.new(unit)
end
CONVERSIONS[:energy][unit].call(remaining_energy)
end
|
#remaining_percent ⇒ Object
36
37
38
|
# File 'lib/battman/battery.rb', line 36
def remaining_percent
raise NotImplementedError.new
end
|
#remaining_running_time ⇒ Object
52
53
54
|
# File 'lib/battman/battery.rb', line 52
def remaining_running_time
raise NotImplementedError.new
end
|
#remaining_running_time_in(unit) ⇒ Object
56
57
58
59
60
61
62
|
# File 'lib/battman/battery.rb', line 56
def remaining_running_time_in(unit)
unless unit.in?(CONVERSIONS[:time].keys)
raise UnsupportedUnitError.new(unit)
end
CONVERSIONS[:time][unit].call(remaining_running_time)
end
|