Sha256: 26f3e6174d8df536f50b6b992743ed2b94de2616fde3ff2df60be9e8348c1145

Contents?: true

Size: 1.29 KB

Versions: 5

Compression:

Stored size: 1.29 KB

Contents

module Awis
  class Client

    def initialize
      raise CertificateError.new("Amazon access certificate is missing!") if Awis.config.access_key_id.nil? || Awis.config.secret_access_key.nil?
    end

    def url_info(args)
      parse_response_with_request("UrlInfo", args)
    end

    def traffic_history(args)
      parse_response_with_request("TrafficHistory", args)
    end

    def sites_linking_in(args)
      parse_response_with_request("SitesLinkingIn", args)
    end

    def category_browse(args)
      parse_response_with_request("CategoryBrowse", args)
    end

    def category_listings(args)
      parse_response_with_request("CategoryListings", args)
    end

    private
    def parse_response_with_request(kclass, args)
      case kclass
      when 'UrlInfo'
        Awis::Models::UrlInfo.new Awis::API::UrlInfo.new.fetch(args)
      when 'SitesLinkingIn'
        Awis::Models::SitesLinkingIn.new Awis::API::SitesLinkingIn.new.fetch(args)
      when 'TrafficHistory'
        Awis::Models::TrafficHistory.new Awis::API::TrafficHistory.new.fetch(args)
      when 'CategoryBrowse'
        Awis::Models::CategoryBrowse.new Awis::API::CategoryBrowse.new.fetch(args)
      when 'CategoryListings'
        Awis::Models::CategoryListings.new Awis::API::CategoryListings.new.fetch(args)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
awis-sdk-ruby-0.0.6 lib/awis/client.rb
awis-sdk-ruby-0.0.5 lib/awis/client.rb
awis-sdk-ruby-0.0.4 lib/awis/client.rb
awis-sdk-ruby-0.0.3 lib/awis/client.rb
awis-sdk-ruby-0.0.1 lib/awis/client.rb