class Quby::Questionnaires::Entities::QuestionOption
Constants
- MARKDOWN_ATTRIBUTES
Attributes
description[R]
hides_questions[R]
inner_title[R]
input_key[R]
key[R]
placeholder[R]
question[R]
questions[R]
shows_questions[R]
start_chosen[R]
value[R]
view_id[R]
Public Class Methods
new(key, question, options = {})
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 24 def initialize(key, question, options = {}) @key = key @question = question @value = options[:value] @description = options[:description] @context_free_description = options[:context_free_description] @questions = [] @inner_title = options[:inner_title] @hides_questions = options[:hides_questions] || [] @shows_questions = options[:shows_questions] || [] @hidden = options[:hidden] || false @placeholder = options[:placeholder] || false question.extra_data[:placeholder] = key if @placeholder @input_key = (question.type == :check_box ? @key : "#{question.key}_#{key}".to_sym) @view_id = "answer_#{input_key}" end
Public Instance Methods
as_json(options = {})
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 56 def as_json(options = {}) { key: key, value: value, description: Quby::MarkdownParser.new(description).to_html, context_free_description: Quby::MarkdownParser.new(context_free_description).to_html, questions: questions, innerTitle: inner_title, hidesQuestions: hides_questions, showsQuestions: shows_questions, hidden: hidden, placeholder: placeholder, viewId: view_id } end
context_free_description()
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 52 def context_free_description @context_free_description || @description end
inner_title?()
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 42 def inner_title? inner_title.present? end
key_in_use?(k)
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 46 def key_in_use?(k) return true if k == input_key @questions.each { |q| return true if q.key_in_use?(k) } false end
to_codebook(questionnaire, opts)
click to toggle source
# File lib/quby/questionnaires/entities/question_option.rb, line 72 def to_codebook(questionnaire, opts) return nil if inner_title output = [] if question.type == :check_box option_key = question.codebook_key(key, questionnaire, opts) output << "#{option_key} #{question.codebook_output_type}#{' deprecated' if hidden || question.hidden }" output << "\"#{question.title} -- #{description}\"" unless question.title.blank? and description.blank? output << "1\tChecked" output << "0\tUnchecked" output << "empty\tUnchecked" else output << "#{value || key}\t\"#{description}\"#{' deprecated' if hidden}" end questions.each do |subquestion| output << "\t#{subquestion.to_codebook(questionnaire, opts).gsub("\n", "\n\t")}" end output.join("\n") end