Sha256: 9a7eabf286eced495d6be4017fe1d6bb34b848c8db3e9a05d440b7f239abfba4

Contents?: true

Size: 683 Bytes

Versions: 2

Compression:

Stored size: 683 Bytes

Contents

module Duststorm
  module WeatherApi
    class Base
      include Utils::ResponseMapper

      attr_reader :lat, :lng, :options

      def initialize(lat, lng, options={})
        @lat = lat
        @lng = lng
        @options = options
      end

      def execute
        if response.success?
          mapped_response_body
        end
      end

      def response
        @response ||= conn.get(forecast_url, options)
      end

      def conn
        Faraday.new
      end

      def forecast_url
        root_url + forecast_path
      end

      private

      def parsed_response_body
        MultiJson.load(response.body, :symbolize_keys => true)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
duststorm-0.0.2 lib/duststorm/weather_apis/base.rb
duststorm-0.0.1 lib/duststorm/weather_apis/base.rb