Module: Quby::Compiler::DSL::Questions::CompareVisibilityRule

Included in:
FloatQuestionBuilder, IntegerQuestionBuilder, RadioQuestionBuilder, SelectQuestionBuilder
Defined in:
lib/quby/compiler/dsl/questions/base.rb

Instance Method Summary collapse

Instance Method Details

#compare_value(op:, value:, show_questions: [], hide_questions: []) ⇒ Object



87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/quby/compiler/dsl/questions/base.rb', line 87

def compare_value(op:, value:, show_questions: [], hide_questions: [])
  raise "unknown op #{op} for #{@question.key}" unless %i[gt gteq lt lteq eq].include?(op)
  condition = {
    type: 'numeric_compare',
    field_key: @question.key,
    op:,
    value:
  }
  @question.visibility_rules.concat(
    Entities::VisibilityRule.for_condition(condition, show_questions:, hide_questions:)
  )
end