Sha256: 02e5de3f8e8dbca9becf9a2eabdd0b7b2c6594f272da78ddee2810bd6086e4e3

Contents?: true

Size: 1.8 KB

Versions: 1

Compression:

Stored size: 1.8 KB

Contents

module Vacuum
  # Lookup operations
  module LookupOperations
    # Given up to ten item ids, returns some or all of the item
    # attributes, depending on the response group specified in the
    # request.
    #
    # @param [Array] item_ids splat of item IDs and an optional hash of
    # parameters
    # @return [Vacuum::Response] a response
    #
    # Id Type defaults to ASIN.
    #
    # @example The following returns some basic information for the
    # ASIN 0679753354.
    #
    #   req.find('0679753354')
    #
    # @example The following request returns cover art for the same
    # ASIN.
    #
    #   req.find('0679753354', :response_group => 'Images')
    #
    def find(*item_ids)
      reset!
      params = item_ids.last.is_a?(Hash) ? item_ids.pop : {}
      self.<<({ 'Operation' => 'ItemLookup',
                'ItemId'    => item_ids }.merge(params))

      get
    end

    # Given a browse node ID, returns the specified browse node’s name,
    # children, and ancestors.
    #
    # @param [String] browse_node_id browse node ID
    # @params [Hash] params hash of parameters
    # @return [Vacuum::Response] a response
    def find_browse_node(browse_node_id, params = {})
      reset!
      self.<<({ 'Operation'    => 'BrowseNodeLookup',
                'BrowseNodeId' => browse_node_id }.merge(params))

      get
    end

    # Given up to ten item ids, returns up to ten products per page
    # that are similar to those items
    #
    # @param [Array] item_ids splat of item IDs and an optional hash of
    # parameters
    # @return [Vacuum::Response] a response
    def find_similar(*item_ids)
      reset!
      params = item_ids.last.is_a?(Hash) ? item_ids.pop : {}
      self.<<({ 'Operation' => 'SimilarityLookup',
                'ItemId'    => item_ids }.merge(params))

      get
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
vacuum-0.0.1 lib/vacuum/lookup_operations.rb