Sha256: 515da53bfad118dd5695c91356038ed14314a093bab9892d83450e38ae87a3a3

Contents?: true

Size: 767 Bytes

Versions: 1

Compression:

Stored size: 767 Bytes

Contents

require "httparty"
require "active_support/core_ext/object/to_json"

module ActiveSearch::Algolia
  class Client
    include HTTParty
    
    def self.configure(api_key, app_id, index = "activesearch")
      base_uri "https://apieu1.algolia.com/1/indexes/#{index}"
      headers({
        "X-Algolia-API-Key" => api_key,
        "X-Algolia-Application-Id" => app_id,
        "Content-Type" => "application/json; charset=utf-8"
      })
    end

    def delete_index
      self.class.delete("")
    end

    def delete(id)
      return false if id.nil?
      self.class.delete("/#{id}")
    end

    def save(id, object)
      self.class.put("/#{id}", body: object.to_json)
    end

    def query(text)
      self.class.get("", query: {query: text})
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activesearch-0.0.13 lib/activesearch/algolia/client.rb