Module: OnboardOnRails::Concerns::SegmentEvaluator
- Extended by:
- ActiveSupport::Concern
- Included in:
- Tour
- Defined in:
- app/models/onboard_on_rails/concerns/segment_evaluator.rb
Instance Method Summary collapse
Instance Method Details
#matches_segment?(user_attributes) ⇒ Boolean
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'app/models/onboard_on_rails/concerns/segment_evaluator.rb', line 6 def matches_segment?(user_attributes) rules = segment_rules return true if rules.blank? || rules["conditions"].blank? conditions = rules["conditions"] logic = rules.fetch("logic", "and") if logic == "or" conditions.any? { |c| evaluate_condition(c, user_attributes) } else conditions.all? { |c| evaluate_condition(c, user_attributes) } end end |