Module: FlowEngine::DSL::RuleHelpers

Included in:
FlowBuilder, StepBuilder
Defined in:
lib/flowengine/dsl/rule_helpers.rb

Overview

Factory methods for rule objects, included in FlowBuilder and StepBuilder. Use these inside step blocks for transition conditions and visible_if.

Instance Method Summary collapse

Instance Method Details

#all(*rules) ⇒ Rules::All

Logical AND of multiple rules.

Parameters:

Returns:



45
46
47
# File 'lib/flowengine/dsl/rule_helpers.rb', line 45

def all(*rules)
  Rules::All.new(*rules)
end

#any(*rules) ⇒ Rules::Any

Logical OR of multiple rules.

Parameters:

Returns:



52
53
54
# File 'lib/flowengine/dsl/rule_helpers.rb', line 52

def any(*rules)
  Rules::Any.new(*rules)
end

#contains(field, value) ⇒ Rules::Contains

Parameters:

  • field (Symbol) —

    answer key (step id)

  • value (Object) —

    value to check for in the array

Returns:



11
12
13
# File 'lib/flowengine/dsl/rule_helpers.rb', line 11

def contains(field, value)
  Rules::Contains.new(field, value)
end

#equals(field, value) ⇒ Rules::Equals

Parameters:

  • field (Symbol) —

    answer key

  • value (Object) —

    expected value

Returns:



18
19
20
# File 'lib/flowengine/dsl/rule_helpers.rb', line 18

def equals(field, value)
  Rules::Equals.new(field, value)
end

#greater_than(field, value) ⇒ Rules::GreaterThan

Parameters:

  • field (Symbol) —

    answer key (value coerced to integer for comparison)

  • value (Integer) —

    threshold

Returns:



25
26
27
# File 'lib/flowengine/dsl/rule_helpers.rb', line 25

def greater_than(field, value)
  Rules::GreaterThan.new(field, value)
end

#less_than(field, value) ⇒ Rules::LessThan

Parameters:

  • field (Symbol) —

    answer key (value coerced to integer for comparison)

  • value (Integer) —

    threshold

Returns:



32
33
34
# File 'lib/flowengine/dsl/rule_helpers.rb', line 32

def less_than(field, value)
  Rules::LessThan.new(field, value)
end

#not_empty(field) ⇒ Rules::NotEmpty

Parameters:

  • field (Symbol) —

    answer key

Returns:



38
39
40
# File 'lib/flowengine/dsl/rule_helpers.rb', line 38

def not_empty(field)
  Rules::NotEmpty.new(field)
end