Module: Inquirex::DSL::RuleHelpers

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

Overview

Factory methods for rule objects. Included in FlowBuilder and StepBuilder so these helpers are available inside flow/step blocks.

Instance Method Summary collapse

Instance Method Details

#all(*rules) ⇒ Rules::All

Logical AND: all rules must be true.

Parameters:

Returns:



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

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

#any(*rules) ⇒ Rules::Any

Logical OR: at least one rule must be true.

Parameters:

Returns:



52
53
54
# File 'lib/inquirex/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 answer

Returns:



11
12
13
# File 'lib/inquirex/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 exact value

Returns:



18
19
20
# File 'lib/inquirex/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)

  • value (Integer)

    threshold

Returns:



25
26
27
# File 'lib/inquirex/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)

  • value (Integer)

    threshold

Returns:



32
33
34
# File 'lib/inquirex/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/inquirex/dsl/rule_helpers.rb', line 38

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