module Algolia::Protocol
A module which encapsulates the specifics of Algolia's REST API.
Constants
- ERROR_BAD_REQUEST
HTTP ERROR CODES
- ERROR_FORBIDDEN
- ERROR_NOT_FOUND
- HEADER_API_KEY
The HTTP header used for passing your API key to the
Algolia
API.- HEADER_APP_ID
The HTTP header used for passing your application ID to the
Algolia
API.- HEADER_FORWARDED_API_KEY
- HEADER_FORWARDED_IP
- VERSION
The version of the REST API implemented by this module.
Public Class Methods
ab_tests_stop_uri(ab_test)
click to toggle source
# File lib/algolia/protocol.rb, line 206 def Protocol.ab_tests_stop_uri(ab_test) "/2/abtests/#{ab_test}/stop" end
ab_tests_uri(ab_test = nil)
click to toggle source
# File lib/algolia/protocol.rb, line 200 def Protocol.ab_tests_uri(ab_test = nil) ab_test = "/#{ab_test}" if ab_test "/2/abtests" + ab_test.to_s end
batch_rules_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 166 def Protocol.batch_rules_uri(index) "#{rules_uri(index)}/batch" end
batch_synonyms_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 146 def Protocol.batch_synonyms_uri(index) "#{synonyms_uri(index)}/batch" end
batch_uri(index = nil)
click to toggle source
# File lib/algolia/protocol.rb, line 51 def Protocol.batch_uri(index = nil) "#{index.nil? ? "/#{VERSION}/indexes/*" : index_uri(index)}/batch" end
browse_uri(index, params = {})
click to toggle source
# File lib/algolia/protocol.rb, line 77 def Protocol.browse_uri(index, params = {}) params = params.nil? || params.size == 0 ? '' : "?#{to_query(params)}" "#{index_uri(index)}/browse#{params}" end
clear_rules_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 162 def Protocol.clear_rules_uri(index) "#{rules_uri(index)}/clear" end
clear_synonyms_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 142 def Protocol.clear_synonyms_uri(index) "#{synonyms_uri(index)}/clear" end
clear_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 96 def Protocol.clear_uri(index) "#{index_uri(index)}/clear" end
cluster_mapping_uri(user_id = nil)
click to toggle source
# File lib/algolia/protocol.rb, line 182 def Protocol.cluster_mapping_uri(user_id = nil) user_id = "/#{CGI.escape(user_id)}" if user_id "/#{VERSION}/clusters/mapping" + user_id.to_s end
cluster_top_user_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 192 def Protocol.cluster_top_user_uri "/#{VERSION}/clusters/mapping/top" end
clusters_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 178 def Protocol.clusters_uri "/#{VERSION}/clusters" end
delete_by_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 170 def Protocol.delete_by_uri(index) "#{index_uri(index)}/deleteByQuery" end
index_key_uri(index, key)
click to toggle source
# File lib/algolia/protocol.rb, line 116 def Protocol.index_key_uri(index, key) "#{index_uri(index)}/keys/#{key}" end
index_keys_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 120 def Protocol.index_keys_uri(index) "#{index_uri(index)}/keys" end
index_operation_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 55 def Protocol.index_operation_uri(index) "#{index_uri(index)}/operation" end
index_uri(index)
click to toggle source
Construct a uri referencing a given Algolia
index
# File lib/algolia/protocol.rb, line 47 def Protocol.index_uri(index) "/#{VERSION}/indexes/#{CGI.escape(index)}" end
indexes_uri()
click to toggle source
Construct a uri to list available indexes
# File lib/algolia/protocol.rb, line 34 def Protocol.indexes_uri "/#{VERSION}/indexes" end
key_uri(key)
click to toggle source
# File lib/algolia/protocol.rb, line 108 def Protocol.key_uri(key) "/#{VERSION}/keys/#{key}" end
keys_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 104 def Protocol.keys_uri "/#{VERSION}/keys" end
list_ids_uri(page, hits_per_page)
click to toggle source
# File lib/algolia/protocol.rb, line 188 def Protocol.list_ids_uri(page, hits_per_page) Protocol.cluster_mapping_uri+"?page=#{CGI.escape(page.to_s)}&hitsPerPage=#{CGI.escape(hits_per_page.to_s)}" end
logs(offset, length, type)
click to toggle source
# File lib/algolia/protocol.rb, line 100 def Protocol.logs(offset, length, type) "/#{VERSION}/logs?offset=#{offset}&length=#{length}&type=#{type}" end
multiple_queries_uri(strategy = 'none')
click to toggle source
# File lib/algolia/protocol.rb, line 38 def Protocol.multiple_queries_uri(strategy = 'none') "/#{VERSION}/indexes/*/queries?strategy=#{strategy}" end
object_uri(index, object_id, params = {})
click to toggle source
# File lib/algolia/protocol.rb, line 63 def Protocol.object_uri(index, object_id, params = {}) params = params.nil? || params.size == 0 ? '' : "?#{to_query(params)}" "#{index_uri(index)}/#{CGI.escape(object_id.to_s)}#{params}" end
objects_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 42 def Protocol.objects_uri "/#{VERSION}/indexes/*/objects" end
partial_object_uri(index, object_id, create_if_not_exits = true)
click to toggle source
# File lib/algolia/protocol.rb, line 86 def Protocol.partial_object_uri(index, object_id, create_if_not_exits = true) params = create_if_not_exits ? '' : '?createIfNotExists=false' "#{index_uri(index)}/#{CGI.escape(object_id.to_s)}/partial#{params}" end
personalization_strategy_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 174 def Protocol.personalization_strategy_uri "/1/recommendation/personalization/strategy" end
restore_key_uri(key)
click to toggle source
# File lib/algolia/protocol.rb, line 112 def Protocol.restore_key_uri(key) "/#{VERSION}/keys/#{key}/restore" end
rule_uri(index, object_id)
click to toggle source
# File lib/algolia/protocol.rb, line 154 def Protocol.rule_uri(index, object_id) "#{rules_uri(index)}/#{CGI.escape(object_id.to_s)}" end
rules_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 150 def Protocol.rules_uri(index) "#{index_uri(index)}/rules" end
search_facet_uri(index, facet)
click to toggle source
# File lib/algolia/protocol.rb, line 82 def Protocol.search_facet_uri(index, facet) "#{index_uri(index)}/facets/#{CGI.escape(facet)}/query" end
search_post_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 73 def Protocol.search_post_uri(index) "#{index_uri(index)}/query" end
search_rules_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 158 def Protocol.search_rules_uri(index) "#{rules_uri(index)}/search" end
search_synonyms_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 138 def Protocol.search_synonyms_uri(index) "#{synonyms_uri(index)}/search" end
search_uri(index, query, params = {})
click to toggle source
# File lib/algolia/protocol.rb, line 68 def Protocol.search_uri(index, query, params = {}) params = params.nil? || params.size == 0 ? '' : "&#{to_query(params)}" "#{index_uri(index)}?query=#{CGI.escape(query)}&#{params}" end
search_user_id_uri()
click to toggle source
# File lib/algolia/protocol.rb, line 196 def Protocol.search_user_id_uri "/#{VERSION}/clusters/mapping/search" end
settings_uri(index, params = {})
click to toggle source
# File lib/algolia/protocol.rb, line 91 def Protocol.settings_uri(index, params = {}) params = params.nil? || params.size == 0 ? '' : "?#{to_query(params)}" "#{index_uri(index)}/settings#{params}" end
synonym_uri(index, object_id)
click to toggle source
# File lib/algolia/protocol.rb, line 134 def Protocol.synonym_uri(index, object_id) "#{synonyms_uri(index)}/#{CGI.escape(object_id.to_s)}" end
synonyms_uri(index)
click to toggle source
# File lib/algolia/protocol.rb, line 130 def Protocol.synonyms_uri(index) "#{index_uri(index)}/synonyms" end
task_uri(index, task_id)
click to toggle source
# File lib/algolia/protocol.rb, line 59 def Protocol.task_uri(index, task_id) "#{index_uri(index)}/task/#{task_id}" end
to_query(params)
click to toggle source
# File lib/algolia/protocol.rb, line 124 def Protocol.to_query(params) params.map do |k, v| "#{CGI.escape(k.to_s)}=#{CGI.escape(v.to_s)}" end.join('&') end