class Lite::Measurements::Temperature
Constants
- C_FREEZING_POINT
- C_INVERSED_POINT
- F_FREEZING_POINT
- K_FREEZING_POINT
- VALID_KEYS
Public Instance Methods
convert(from:, to:)
click to toggle source
# File lib/lite/measurements/temperature.rb, line 16 def convert(from:, to:) assert_all_valid_keys!(from, to, VALID_KEYS) case to when from then amount when :celsius then send("celsius_from_#{from}") when :fahrenheit then send("fahrenheit_from_#{from}") when :kelvin then send("kelvin_from_#{from}") end end
Private Instance Methods
celsius_from_fahrenheit()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 29 def celsius_from_fahrenheit (amount - F_FREEZING_POINT) * C_FREEZING_POINT end
celsius_from_kelvin()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 33 def celsius_from_kelvin amount - K_FREEZING_POINT end
fahrenheit_from_celsius()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 37 def fahrenheit_from_celsius (amount * C_INVERSED_POINT) + F_FREEZING_POINT end
fahrenheit_from_kelvin()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 41 def fahrenheit_from_kelvin celsius_from_kelvin * C_INVERSED_POINT + F_FREEZING_POINT end
kelvin_from_celsius()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 45 def kelvin_from_celsius amount + K_FREEZING_POINT end
kelvin_from_fahrenheit()
click to toggle source
# File lib/lite/measurements/temperature.rb, line 49 def kelvin_from_fahrenheit celsius_from_fahrenheit + K_FREEZING_POINT end