Sha256: 8c0497bc1fb8b347192f92c7eb28381c0f40244f29c48665492a98173ef4ef8c

Contents?: true

Size: 636 Bytes

Versions: 1

Compression:

Stored size: 636 Bytes

Contents

module Helena
  module Concerns
    module Questions
      module ValidatesOneLabel
        extend ActiveSupport::Concern

        included do
          validate :labels_preselection
        end

        private

        def labels_preselection
          selected_labels = labels.select { |label| label.preselected == true }
          return if selected_labels.size <= 1
          selected_labels.each { |label| label.errors.add(:preselected, I18n.t(:taken, scope: 'activerecord.errors.messages')) }
          errors.add(:labels, I18n.t('helena.admin.radio_group.only_one_preselection_allowed'))
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
helena-0.3.3 app/models/helena/concerns/questions/validates_one_label.rb