Sha256: 180436956858d2485e2c14b3dab8f7d74182369886b68fef460f9167ccb58a2a

Contents?: true

Size: 830 Bytes

Versions: 8

Compression:

Stored size: 830 Bytes

Contents

require_relative 'response/full_timezone'
require_relative 'response/forecasted_weather'
require_relative 'response/sun'

module Barometer
  module WeatherService
    class WundergroundV1
      class ForecastResponse
        def initialize(response)
          @response = response
        end

        def parse(payload)
          response.timezone = WundergroundV1::Response::FullTimeZone.new(payload).parse
          if response.current
            response.current.sun = WundergroundV1::Response::Sun.new(payload, timezone, response).parse
          end
          response.forecast = WundergroundV1::Response::ForecastedWeather.new(payload, response).parse

          response
        end

        private

        attr_reader :response

        def timezone
          response.timezone
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
barometer-0.9.7 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.6 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.5 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.4 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.3 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.2 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.1 lib/barometer/weather_services/wunderground_v1/forecast_response.rb
barometer-0.9.0 lib/barometer/weather_services/wunderground_v1/forecast_response.rb