Sha256: fb69874ccf28b5d071f92c938d9f2e207ec2a403da66aa913e7196e9db9ddc32

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

module OpenWeatherAPI
  module Resources

    class Current
      private

      class Zipcode < QueryHandler
        private

        def build
          { zip: [value, country_code].compact.flatten.join(',') }
        end
        
        def value
          @parameters[:zipcode] || @parameters[:zip]
        end
      end
      
      class BoundingBox < QueryHandler
        private
        
        def topleft
          [ value[:topleft][:lat], value[:topleft][:lon] ].join(',')
        end

        def bottomright
          [ value[:bottomright][:lat], value[:bottomright][:lon] ].join(',')
        end

        def zoom
          value[:zoom] || value[:map_zoom] || 10
        end

        def value
          @parameters[:box] || @parameters[:box] || @parameters[:rect] || @parameters[:rectangle]
        end

        def build
          fill bbox: [topleft, bottomright, zoom].join(',')
        end
      end

      class Circle < QueryHandler
        private

        def value
          @parameters[:circle]
        end

        def build
          fill lat: value[:lat], lon: value[:lon]
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
open-weather-api-0.0.5 lib/open-weather-api/resources/handlers/current.rb