Sha256: bf2555459e0b84070f87fb3b059d9d43629e81a6d278cc6fd134131c6fc51e19

Contents?: true

Size: 1.24 KB

Versions: 9

Compression:

Stored size: 1.24 KB

Contents

require "alexa/api/base"

module Alexa
  module API
    class SitesLinkingIn < Base
      def fetch(arguments = {})
        raise ArgumentError, "You must specify url" unless arguments.has_key?(:url)
        @arguments = arguments

        @arguments[:count] = arguments.fetch(:count, 20)
        @arguments[:start] = arguments.fetch(:start, 0)

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

      # Response attributes

      def sites
        @sites ||= safe_retrieve(parsed_body, "SitesLinkingInResponse", "Response", "SitesLinkingInResult", "Alexa", "SitesLinkingIn", "Site")
      end

      def status_code
        @status_code ||= safe_retrieve(parsed_body, "SitesLinkingInResponse", "Response", "ResponseStatus", "StatusCode")
      end

      def request_id
        @request_id ||= safe_retrieve(parsed_body, "SitesLinkingInResponse", "Response", "OperationRequest", "RequestId")
      end

      private

      def params
        {
          "Action"        => "SitesLinkingIn",
          "ResponseGroup" => "SitesLinkingIn",
          "Count"         => arguments[:count],
          "Start"         => arguments[:start],
          "Url"           => arguments[:url]
        }
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
alexa-0.7.0 lib/alexa/api/sites_linking_in.rb
alexa-0.6.3 lib/alexa/api/sites_linking_in.rb
alexa-0.6.2 lib/alexa/api/sites_linking_in.rb
alexa-0.6.1 lib/alexa/api/sites_linking_in.rb
alexa-0.6.0 lib/alexa/api/sites_linking_in.rb
alexa-0.5.1 lib/alexa/api/sites_linking_in.rb
alexa-0.5.0 lib/alexa/api/sites_linking_in.rb
alexa-0.4.2 lib/alexa/api/sites_linking_in.rb
alexa-0.4.1 lib/alexa/api/sites_linking_in.rb