Sha256: c5aa411641c6ad3259b80512bedb23de85ac32cb68138616fecbbda49ff38cad

Contents?: true

Size: 629 Bytes

Versions: 3

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

module Typesense
  class AnalyticsRules
    RESOURCE_PATH = '/analytics/rules'

    def initialize(api_call)
      @api_call        = api_call
      @analytics_rules = {}
    end

    def upsert(rule_name, params)
      @api_call.put(endpoint_path(rule_name), params)
    end

    def retrieve
      @api_call.get(endpoint_path)
    end

    def [](rule_name)
      @analytics_rules[rule_name] ||= AnalyticsRule.new(rule_name, @api_call)
    end

    private

    def endpoint_path(operation = nil)
      "#{AnalyticsRules::RESOURCE_PATH}#{operation.nil? ? '' : "/#{operation}"}"
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
typesense-1.1.0 lib/typesense/analytics_rules.rb
typesense-1.0.0 lib/typesense/analytics_rules.rb
typesense-0.15.0 lib/typesense/analytics_rules.rb