Class: Toggly::Evaluators::Base
- Inherits:
-
Object
- Object
- Toggly::Evaluators::Base
- Defined in:
- lib/toggly/evaluators/base.rb
Overview
Base class for feature evaluators.
Evaluators determine whether a feature should be enabled based on rules and context.
Direct Known Subclasses
AlwaysOff, AlwaysOn, ContextProperty, ContextualTargeting, Percentage, Targeting, TimeWindow
Class Method Summary collapse
-
.type ⇒ String
Evaluator type identifier.
Instance Method Summary collapse
-
#evaluate(rule, context, feature_key: nil) ⇒ Boolean?
Evaluate a rule against a context.
-
#handles?(rule_type) ⇒ Boolean
Check if this evaluator handles a rule type.
Class Method Details
.type ⇒ String
Returns Evaluator type identifier.
11 12 13 |
# File 'lib/toggly/evaluators/base.rb', line 11 def self.type raise NotImplementedError, "Subclass must implement .type" end |
Instance Method Details
#evaluate(rule, context, feature_key: nil) ⇒ Boolean?
Evaluate a rule against a context
21 22 23 |
# File 'lib/toggly/evaluators/base.rb', line 21 def evaluate(rule, context, feature_key: nil) raise NotImplementedError, "Subclass must implement #evaluate" end |
#handles?(rule_type) ⇒ Boolean
Check if this evaluator handles a rule type
29 30 31 |
# File 'lib/toggly/evaluators/base.rb', line 29 def handles?(rule_type) rule_type.to_s.downcase == self.class.type.to_s.downcase end |