Module: Howzit::ConditionEvaluator

Defined in:
lib/howzit/condition_evaluator.rb

Overview

Condition Evaluator module Handles evaluation of @if/@unless conditions

Class Method Summary collapse

Class Method Details

.evaluate(condition, context = {}) ⇒ Boolean

Evaluate a condition expression

Parameters:

  • condition (String)

    The condition to evaluate

  • context (Hash) (defaults to: {})

    Context with metadata, arguments, etc.

Returns:

  • (Boolean)

    Result of condition evaluation



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/howzit/condition_evaluator.rb', line 18

def evaluate(condition, context = {})
  condition = condition.strip

  # Handle negation with 'not' or '!'
  negated = false
  if condition =~ /^(not\s+|!)/
    negated = true
    condition = condition.sub(/^(not\s+|!)/, '').strip
  end

  result = evaluate_condition(condition, context)
  negated ? !result : result
end