class TemperatureConverter
Constants
- ACCETPTED_STRATEGY
Attributes
convert_strategy[R]
Public Class Methods
new(convert_from)
click to toggle source
# File lib/temperature_converter_bl.rb, line 7 def initialize(convert_from) raise StrategyNotSupportedError unless ACCETPTED_STRATEGY.include?(convert_from) @convert_strategy = Object.const_get("#{convert_from.capitalize}Strategy").new end
Public Instance Methods
convert_temperature(convert_to, temperature)
click to toggle source
# File lib/temperature_converter_bl.rb, line 12 def convert_temperature(convert_to, temperature) raise InvalidTemperatureError unless temperature.to_s.match(/\A[-+]?\d*\.?\d+\z/) @convert_strategy.convert_temperature(convert_to, temperature.to_f) end