Sha256: c962fd6484c44ec298c9ae49daaaa3d38b8b00a1489d0a105a42738267eabc79

Contents?: true

Size: 784 Bytes

Versions: 4

Compression:

Stored size: 784 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_config, target, variation)

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

    @metrics_processor.register_evaluation(target, feature_config, variation)
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ff-ruby-server-sdk-1.4.4 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb
ff-ruby-server-sdk-1.4.3 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb
ff-ruby-server-sdk-1.4.2 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb
ff-ruby-server-sdk-1.4.1 lib/ff/ruby/server/sdk/api/inner_client_flag_evaluate_callback.rb