Sha256: 74ffd02cbbc8ec3a18dc018ffe363c92431c9b90d6e2808b69ae40261356fcf5
Contents?: true
Size: 1.99 KB
Versions: 7
Compression:
Stored size: 1.99 KB
Contents
module Algolia module Personalization class Client # Initializes the Personalization client # # @param personalization_config [Personalization::Config] a Personalization::Config object which contains your APP_ID and API_KEY # @option adapter [Object] adapter object used for the connection # @option logger [Object] # @option http_requester [Object] http_requester object used for the connection # def initialize(personalization_config, opts = {}) @config = personalization_config adapter = opts[:adapter] || Defaults::ADAPTER logger = opts[:logger] || LoggerHelper.create requester = opts[:http_requester] || Defaults::REQUESTER_CLASS.new(adapter, logger) @transporter = Transport::Transport.new(@config, requester) end # Create a new client providing only app ID and API key # # @param app_id [String] Algolia application ID # @param api_key [String] Algolia API key # # @return self # def self.create(app_id, api_key) config = Personalization::Config.new(application_id: app_id, api_key: api_key) create_with_config(config) end # Create a new client providing only an Personalization::Config object # # @param config [Personalization::Config] # # @return self # def self.create_with_config(config) new(config) end # Set the personalization strategy. # # @param personalization_strategy [Hash] A strategy object. # # @return [Hash] # def set_personalization_strategy(personalization_strategy, opts = {}) @transporter.write(:POST, '1/strategies/personalization', personalization_strategy, opts) end # Get the personalization strategy. # # @return [Hash] # def get_personalization_strategy(opts = {}) @transporter.read(:GET, '1/strategies/personalization', {}, opts) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems