class Typesense::Keys

Constants

RESOURCE_PATH

Public Class Methods

new(api_call) click to toggle source
# File lib/typesense/keys.rb, line 11
def initialize(api_call)
  @api_call = api_call
  @keys = {}
end

Public Instance Methods

[](id) click to toggle source
# File lib/typesense/keys.rb, line 32
def [](id)
  @keys[id] ||= Key.new(id, @api_call)
end
create(parameters) click to toggle source
# File lib/typesense/keys.rb, line 16
def create(parameters)
  @api_call.post(RESOURCE_PATH, parameters)
end
generate_scoped_search_key(search_key, parameters) click to toggle source
# File lib/typesense/keys.rb, line 24
def generate_scoped_search_key(search_key, parameters)
  parameters_json = JSON.dump(parameters)
  digest = Base64.encode64(OpenSSL::HMAC.digest('sha256', search_key, parameters_json)).gsub("\n", '')
  key_prefix = search_key[0...4]
  raw_scoped_key = "#{digest}#{key_prefix}#{parameters_json}"
  Base64.encode64(raw_scoped_key).gsub("\n", '')
end
retrieve() click to toggle source
# File lib/typesense/keys.rb, line 20
def retrieve
  @api_call.get(RESOURCE_PATH)
end