Sha256: 4f5dc17533269af7234824e3145e855aa7243ed34b0d6174e7cad4b208f74b78

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

module GeoNamesAPI
  class Weather < ListEndpoint

    METHOD = "findNearByWeatherJSON"
    FIND_PARAMS = %w(lat lng radius)

    def geo_names_api_country
      @geo_names_api_country ||= GeoNamesAPI::Country.find(country_code)
    end

    def geo_names_api_time_zone
      @geo_names_api_time_zone ||= GeoNamesAPI::TimeZone.find(lat, lng)
    end

    def time_zone
      geo_names_api_time_zone.time_zone
    end

    def at_local
      t = DateTime.parse(datetime)
      time_zone.local(t.year, t.month, t.day, t.hour, t.minute)
    end

    def at_utc
      at_local.utc
    end

    def elevation_feet
      elevation * 3.28084 if elevation
    end

    def elevation_meters
      elevation if elevation
    end

    def convert_c_to_f(temp)
      temp * 9.to_f / 5.to_f + 32
    end

    def temperature_f
      convert_c_to_f(temperature) if temperature
    end

    def temperature_c
      temperature if temperature
    end

    def dew_point_f
      convert_c_to_f(dew_point) if temperature
    end

    def dew_point_c
      dew_point if temperature
    end

  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
geonames_api-0.1.6 lib/geonames_api/weather.rb
geonames_api-0.1.5 lib/geonames_api/weather.rb
geonames_api-0.1.4 lib/geonames_api/weather.rb
geonames_api-0.1.3 lib/geonames_api/weather.rb
geonames_api-0.1.2 lib/geonames_api/weather.rb
geonames_api-0.1.1 lib/geonames_api/weather.rb