Class: SplitIoClient::UserDefinedSegmentMatcher
- Inherits:
-
Object
- Object
- SplitIoClient::UserDefinedSegmentMatcher
- Defined in:
- lib/splitclient-rb/engine/matchers/user_defined_segment_matcher.rb
Overview
class to implement the user defined matcher
Constant Summary collapse
- MATCHER_TYPE =
'IN_SEGMENT'.freeze
Instance Method Summary collapse
-
#equals?(obj) ⇒ Boolean
evaluates if the given object equals the matcher.
-
#initialize(segments_repository, segment_name) ⇒ UserDefinedSegmentMatcher
constructor
A new instance of UserDefinedSegmentMatcher.
-
#match?(args) ⇒ boolean
evaluates if the key matches the matcher.
- #string_type? ⇒ Boolean
Constructor Details
#initialize(segments_repository, segment_name) ⇒ UserDefinedSegmentMatcher
Returns a new instance of UserDefinedSegmentMatcher.
8 9 10 11 |
# File 'lib/splitclient-rb/engine/matchers/user_defined_segment_matcher.rb', line 8 def initialize(segments_repository, segment_name) @segments_repository = segments_repository @segment_name = segment_name end |
Instance Method Details
#equals?(obj) ⇒ Boolean
evaluates if the given object equals the matcher
29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/splitclient-rb/engine/matchers/user_defined_segment_matcher.rb', line 29 def equals?(obj) if obj.nil? false elsif !obj.instance_of?(UserDefinedSegmentMatcher) false elsif self.equal?(obj) true else false end end |
#match?(args) ⇒ boolean
evaluates if the key matches the matcher
19 20 21 |
# File 'lib/splitclient-rb/engine/matchers/user_defined_segment_matcher.rb', line 19 def match?(args) @segments_repository.in_segment?(@segment_name, args[:value] || args[:matching_key]) end |
#string_type? ⇒ Boolean
41 42 43 |
# File 'lib/splitclient-rb/engine/matchers/user_defined_segment_matcher.rb', line 41 def string_type? false end |