app/models/helena/question_group.rb
module Helena
class QuestionGroup
include Helena::Concerns::ApplicationModel
include Mongoid::Orderable
belongs_to :version
has_many :questions, inverse_of: :question_group, class_name: 'Helena::Question', dependent: :destroy, autosave: true
orderable scope: :version
field :title, type: String
field :allow_to_go_back, type: Boolean
def question_codes
questions.map { |question| [question.code] + question.sub_questions.map(&:code) }.flatten
end
def question_texts
questions.map { |question| [question.code, question.question_text] + subquestion_texts(question) }.flatten
end
def subquestion_texts(question)
question.sub_questions.map { |sub_question| [sub_question.code, sub_question.text] }
end
end
end