Sha256: 40c039cabd27af02f5d29c357369d680b30a425a390e638088b31edaf844d187

Contents?: true

Size: 874 Bytes

Versions: 3

Compression:

Stored size: 874 Bytes

Contents

module Awis
  module API
    class TrafficHistory < Base
      def fetch(arguments = {})
        raise ArgumentError, "Any valid URL." unless arguments.has_key?(:url)
        @arguments = arguments

        @arguments[:range] = arguments.fetch(:range, 31)
        @arguments[:start] = arguments.fetch(:start) { Time.now - (3600 * 24 * @arguments[:range].to_i) }

        @response_body = Awis::Connection.new.get(params)
        self
      end

      def params
        {
          "Action"        => "TrafficHistory",
          "Url"           => arguments[:url],
          "ResponseGroup" => "History",
          "Range"         => arguments[:range],
          "Start"         => start_param,
        }
      end

      def start_param
        arguments[:start].respond_to?(:strftime) ? arguments[:start].strftime("%Y%m%d") : arguments[:start]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
awis-sdk-ruby-0.0.4 lib/awis/api/traffic_history.rb
awis-sdk-ruby-0.0.3 lib/awis/api/traffic_history.rb
awis-sdk-ruby-0.0.1 lib/awis/api/traffic_history.rb