Class: SplitIoClient::Engine::Parser::Evaluator

Inherits:
Object
  • Object
show all
Defined in:
lib/splitclient-rb/engine/parser/evaluator.rb

Instance Method Summary collapse

Constructor Details

#initialize(segments_repository, splits_repository, config) ⇒ Evaluator

Returns a new instance of Evaluator.



5
6
7
8
9
# File 'lib/splitclient-rb/engine/parser/evaluator.rb', line 5

def initialize(segments_repository, splits_repository, config)
  @splits_repository = splits_repository
  @segments_repository = segments_repository
  @config = config
end

Instance Method Details

#evaluate_feature_flag(keys, feature_flag, attributes = nil) ⇒ Object



11
12
13
14
15
16
# File 'lib/splitclient-rb/engine/parser/evaluator.rb', line 11

def evaluate_feature_flag(keys, feature_flag, attributes = nil)
  # DependencyMatcher here, split is actually a split_name in this case
  cache_result = feature_flag.is_a? String
  feature_flag = @splits_repository.get_split(feature_flag) if cache_result
  evaluate_treatment(keys, feature_flag, attributes)
end