Sha256: 1ddd95f01d8a1d2a0b0f8ee8b219216d8d1c48ed8579a81ce92fce1b205bb0f8

Contents?: true

Size: 836 Bytes

Versions: 2

Compression:

Stored size: 836 Bytes

Contents

require_relative "metrics_processor"
require_relative "flag_evaluate_callback"

class InnerClientFlagEvaluateCallback < FlagEvaluateCallback

  def initialize(metrics_processor, logger = nil)

    unless metrics_processor.kind_of?(MetricsProcessor)

      raise "The 'metrics_processor' parameter must be of '" + MetricsProcessor.to_s + "' data type"
    end

    if logger != nil

      @logger = logger
    else

      @logger = Logger.new(STDOUT)
    end

    @metrics_processor = metrics_processor
  end

  def process_evaluation(feature_name, target, variation_identifier)

    @logger.debug "Processing evaluation: #{feature_name || 'nil feature'}, #{variation_identifier || 'nil variation'},  #{target&.identifier || 'nil target'}"

    @metrics_processor.register_evaluation(target, feature_name, variation_identifier)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ff-ruby-server-sdk-1.4.6 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb
ff-ruby-server-sdk-1.4.5 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb