Method: WeatherData::Temperature#parse
- Defined in:
- lib/weather_data/temperature.rb
#parse(s) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/weather_data/temperature.rb', line 16 def parse(s) degrees, units = s.match(/([+-]?\d+(?:\.\d+)?)\s*(°?#{CELSIUS}|°?#{FAHRENHEIT}|#{KELVIN})\b/u).to_a[1..2] raise ArgumentError.new(%Q{"#{s}" doesn't contain temperature}) unless degrees && units units_class(units).new(degrees.to_f) end |