Class: SplitIoClient::Helpers::EvaluatorHelper
- Inherits:
-
Object
- Object
- SplitIoClient::Helpers::EvaluatorHelper
- Defined in:
- lib/splitclient-rb/helpers/evaluator_helper.rb
Class Method Summary collapse
- .matcher_instance(type, condition, matcher, segments_repository, rb_segment_repository) ⇒ Object
- .matcher_type(condition, segments_repository, rb_segment_repository) ⇒ Object
Class Method Details
.matcher_instance(type, condition, matcher, segments_repository, rb_segment_repository) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/splitclient-rb/helpers/evaluator_helper.rb', line 29 def self.matcher_instance(type, condition, matcher, segments_repository, rb_segment_repository) condition.send( "matcher_#{type.downcase}", matcher: matcher, segments_repository: segments_repository, rule_based_segments_repository: rb_segment_repository ) end |
.matcher_type(condition, segments_repository, rb_segment_repository) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/splitclient-rb/helpers/evaluator_helper.rb', line 6 def self.matcher_type(condition, segments_repository, rb_segment_repository) matchers = [] segments_repository.adapter.pipelined do condition.matchers.each do |matcher| matchers << if matcher[:negate] condition.negation_matcher(matcher_instance(matcher[:matcherType], condition, matcher, segments_repository, rb_segment_repository)) else matcher_instance(matcher[:matcherType], condition, matcher, segments_repository, rb_segment_repository) end end end final_matcher = condition.create_condition_matcher(matchers) if final_matcher.nil? config.logger.error('Invalid matcher type') else final_matcher end final_matcher end |