Class: Typesense::Keys
- Inherits:
-
Object
- Object
- Typesense::Keys
- Defined in:
- lib/typesense/keys.rb
Constant Summary collapse
- RESOURCE_PATH =
'/keys'
Instance Method Summary collapse
- #[](id) ⇒ Object
- #create(parameters) ⇒ Object
- #generate_scoped_search_key(search_key, parameters) ⇒ Object
-
#initialize(api_call) ⇒ Keys
constructor
A new instance of Keys.
- #retrieve ⇒ Object
Constructor Details
#initialize(api_call) ⇒ Keys
Returns a new instance of Keys.
11 12 13 14 |
# File 'lib/typesense/keys.rb', line 11 def initialize(api_call) @api_call = api_call @keys = {} end |
Instance Method Details
#[](id) ⇒ Object
32 33 34 |
# File 'lib/typesense/keys.rb', line 32 def [](id) @keys[id] ||= Key.new(id, @api_call) end |
#create(parameters) ⇒ Object
16 17 18 |
# File 'lib/typesense/keys.rb', line 16 def create(parameters) @api_call.post(RESOURCE_PATH, parameters) end |
#generate_scoped_search_key(search_key, parameters) ⇒ Object
24 25 26 27 28 29 30 |
# 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 ⇒ Object
20 21 22 |
# File 'lib/typesense/keys.rb', line 20 def retrieve @api_call.get(RESOURCE_PATH) end |