Sha256: e279bd20d4e004b20fa872601bb2841c6913f37dca89e97d16f1340a5d7bd713

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

module GeoNamesAPI
  class Weather < GeoNamesAPI::Object
    
    METHOD = "findNearByWeatherJSON"
    ID = ["lat", "lng"]
    
    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

1 entries across 1 versions & 1 rubygems

Version Path
geonames_api-0.0.6 lib/geonames_api/weather.rb