Sha256: 42ebd5913acd392cde7eafd26eaddf2ae936b7f0068550386b0bc14f1614f431

Contents?: true

Size: 729 Bytes

Versions: 2

Compression:

Stored size: 729 Bytes

Contents

module Helena
  class SubQuestion
    include Helena::Concerns::ApplicationModel
    include Mongoid::Orderable

    field :text,        type: String
    field :value,       type: String
    field :code,        type: String
    field :preselected, type: Boolean

    embedded_in :question, inverse_of: :sub_questions

    orderable

    validates :code, format: { with: Helena::Question::CODE_FORMAT }
    validate :uniqueness_of_code
    validates :text, presence: true, uniqueness: true

    def uniqueness_of_code
      question_code_occurences = question.question_group.version.question_code_occurences

      return true if question_code_occurences[code] <= 1

      errors.add(:code, :taken, value: code)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
helena-1.0.0.rc1 app/models/helena/sub_question.rb
helena-0.3.3 app/models/helena/sub_question.rb