module OpenWeather::Models::Mixins::Speed

Public Instance Methods

speed_property(field) click to toggle source
# File lib/open_weather/models/mixins/speed.rb, line 10
def speed_property(field)
  property field

  define_method "#{field}_mps" do
    to_meters_per_sec(send(field))
  end

  define_method "#{field}_mph" do
    to_miles_per_hour(send(field))
  end
end

Private Instance Methods

to_meters_per_sec(value) click to toggle source
# File lib/open_weather/models/mixins/speed.rb, line 25
def to_meters_per_sec(value)
  case units
  when :imperial
    (value.to_f / 2.23694).round(2)
  else
    value
  end
end
to_miles_per_hour(value) click to toggle source
# File lib/open_weather/models/mixins/speed.rb, line 34
def to_miles_per_hour(value)
  case units
  when :metric
    (value * 2.23694).round(2)
  else
    value
  end
end