Sha256: 847d43b8ea92e4f3529d71158a3a3a4b32063c9b4ee07bdeceabfd983e1b6c08

Contents?: true

Size: 845 Bytes

Versions: 3

Compression:

Stored size: 845 Bytes

Contents

require_relative 'response/timezone'
require_relative 'response/location'
require_relative 'response/current_weather'
require_relative 'response/forecasted_weather'

module Barometer
  module WeatherService
    class ForecastIo
      class Response
        def initialize
          @response = Barometer::Response.new
        end

        def parse(payload)
          response.add_query(payload.query)

          response.timezone = ForecastIo::Response::TimeZone.new(payload).parse
          response.location = ForecastIo::Response::Location.new(payload).parse
          response.current = ForecastIo::Response::CurrentWeather.new(payload).parse
          response.forecast = ForecastIo::Response::ForecastedWeather.new(payload).parse

          response
        end

        private

        attr_reader :response
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
barometer-0.9.2 lib/barometer/weather_services/forecast_io/response.rb
barometer-0.9.1 lib/barometer/weather_services/forecast_io/response.rb
barometer-0.9.0 lib/barometer/weather_services/forecast_io/response.rb