Sha256: 6eaee0d4972d451df153ad5091e6f001ad2de1fbe78249ce35e2618e5de188ed

Contents?: true

Size: 1.09 KB

Versions: 1

Compression:

Stored size: 1.09 KB

Contents

module Wwo
  module Configuration
    # Default API endpoint
    DEFAULT_FREE_ENDPOINT       = 'https://api.worldweatheronline.com/free/v2'
    DEFAULT_PREMIUM_ENDPOINT    = 'https://api.worldweatheronline.com/premium/v1'

    # Forecast API endpoint
    attr_writer :api_endpoint

    # API key
    attr_writer :api_key

    # Cache Object
    attr_writer :api_cache_store

    # Cache Object
    attr_writer :use_premium_api

    # Default parameters
    attr_accessor :default_params

    # Example:
    #
    #   Wwo.configure do |configuration|
    #     configuration.use_peremium_api = true
    #     configuration.api_key = 'this-is-your-api-key'
    #   end
    def configure
      yield self
    end

    # API endpoint
    def api_endpoint
      ( use_premium_api? ? DEFAULT_PREMIUM_ENDPOINT : DEFAULT_FREE_ENDPOINT )
    end

    # API key
    def api_key
      @api_key
    end

    def use_premium_api
      @use_premium_api
    end

    # API Cache Object
    def api_cache_store
      @api_cache_store
    end

    private

    def use_premium_api?
      use_premium_api == true
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wwo-0.1.2 lib/wwo/configuration.rb