Sha256: 5578f8f5c266eef2934fbfe871eb66b49d3402f402d6c131764ff2b38ca79f45

Contents?: true

Size: 533 Bytes

Versions: 1

Compression:

Stored size: 533 Bytes

Contents

# frozen_string_literal: true

module Fields
  class SelectField < Field
    serialize :validations, Validations::SelectField
    serialize :options, Options::SelectField

    def stored_type
      :string
    end

    def attached_choices?
      true
    end

    protected

    def interpret_extra_to(model, accessibility, overrides = {})
      super
      return if accessibility != :read_and_write || !options.strict_select

      model.validates name, inclusion: {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/select_field.rb