Sha256: ce482156b732702f1759de44e2152022f1ed00fd61adb163dba97ce57fdb642a
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
# frozen_string_literal: true module Fields class MultipleSelectField < Field serialize :validations, Validations::MultipleSelectField serialize :options, Options::MultipleSelectField def stored_type :string end def attached_choices? true end def interpret_to(model, overrides: {}) check_model_validity!(model) accessibility = overrides.fetch(:accessibility, self.accessibility) return model if accessibility == :hidden model.attribute name, stored_type, default: [], array_without_blank: true if accessibility == :readonly model.attr_readonly name end interpret_validations_to model, accessibility, overrides interpret_extra_to model, accessibility, overrides model end protected def interpret_extra_to(model, accessibility, overrides = {}) super return if accessibility != :read_and_write || !options.strict_select model.validates name, subset: {in: choices.pluck(:label)}, allow_blank: true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
script_core-0.1.0 | spec/dummy/app/models/fields/multiple_select_field.rb |