Class: Hackle::UserConditionMatcher

Inherits:
Object
  • Object
show all
Includes:
ConditionMatcher
Defined in:
lib/hackle/internal/evaluation/match/condition/user/user_condition_matcher.rb

Instance Method Summary collapse

Constructor Details

#initialize(user_value_resolver:, value_operator_matcher:) ⇒ UserConditionMatcher

Returns a new instance of UserConditionMatcher.

Parameters:



12
13
14
15
16
17
# File 'lib/hackle/internal/evaluation/match/condition/user/user_condition_matcher.rb', line 12

def initialize(user_value_resolver:, value_operator_matcher:)
  # @type [UserValueResolver]
  @user_value_resolver = user_value_resolver
  # @type [ValueOperatorMatcher]
  @value_operator_matcher = value_operator_matcher
end

Instance Method Details

#matches(request, context, condition) ⇒ Object



19
20
21
22
23
24
# File 'lib/hackle/internal/evaluation/match/condition/user/user_condition_matcher.rb', line 19

def matches(request, context, condition)
  user_value = @user_value_resolver.resolve_or_nil(request.user, condition.key)
  return false if user_value.nil?

  @value_operator_matcher.matches(user_value, condition.match)
end