Sha256: 81cad13febfe1d55707812038f07aba017abf6b390718ab3d48eb0a227688037

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

module Picky
  class Client
    
    # Replaces an item in the index (adds it if not indexed yet).
    #
    # Parameters:
    #   * index_name: An index that exists in the Picky server.
    #   * data: A hash in the form of { :id => 1234, :attr1 => 'attr1', :attr2 => 'attr2', ... }.
    #
    def replace index_name, data
      send_off Net::HTTP::Put.new(self.path), index_name, data
    end
    
    # Removes an item from the index.
    #
    # Parameters:
    #   * index_name: An index that exists in the Picky server.
    #   * data: A hash in the form of { :id => 1234 }.
    #
    def remove index_name, data
      send_off Net::HTTP::Delete.new(self.path), index_name, data
    end
    
    # Sends a request to the Picky server.
    #
    # Note: Data is JSON encoded.
    #
    def send_off request, index_name, data = {}
      request.form_data = { :index => index_name, :data => ActiveSupport::JSON.encode(data) }
      Net::HTTP.new(self.host, self.port).start { |http| http.request request }
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
picky-client-4.12.7 lib/picky-client/client_index.rb