class Quby::Compiler::Entities::Flag
Public Class Methods
new(key:, description_true: nil, description_false: nil, description: nil, internal: false, trigger_on: true, shows_questions: [], hides_questions: [], depends_on: [], default_in_interface: nil)
click to toggle source
Calls superclass method
# File lib/quby/compiler/entities/flag.rb, line 9 def initialize(key:, description_true: nil, description_false: nil, description: nil, internal: false, trigger_on: true, shows_questions: [], hides_questions: [], depends_on: [], # used in interface to hide this flag unless the depended on flag is set to true default_in_interface: nil) # used in interface to set a default for the flag state, # does not have an effect outside of the interface super(key, description_true, description_false, description, internal, trigger_on, shows_questions, hides_questions, Array.wrap(depends_on).map(&:to_s), default_in_interface) ensure_valid_descriptions end
Public Instance Methods
if_triggered_by(answer_flags) { || ... }
click to toggle source
rubocop:enable ParameterLists
# File lib/quby/compiler/entities/flag.rb, line 26 def if_triggered_by(answer_flags) yield if answer_flags[key] == trigger_on end
to_codebook(_options = {})
click to toggle source
# File lib/quby/compiler/entities/flag.rb, line 34 def to_codebook(_options = {}) output = [] output << "#{key} flag" output << "'#{description}'" if description.present? output << " 'true' - #{description_true}" output << " 'false' - #{description_false}" output << " '' (leeg) - Vlag niet ingesteld, informatie onbekend" output << "" output.join("\n") end
variable_description()
click to toggle source
# File lib/quby/compiler/entities/flag.rb, line 30 def variable_description "#{description} (true - '#{description_true}', false - '#{description_false}')" end
Private Instance Methods
ensure_valid_descriptions()
click to toggle source
# File lib/quby/compiler/entities/flag.rb, line 47 def ensure_valid_descriptions unless (description_false.present? && description_true.present?) || description.present? raise "Flag '#{key}' Requires at least either both description_true and description_false or a description" end end