Sha256: 38d230d9ebea327400daf38ae5f3e2cea7be476a830d178a9cf08a7bc93c6296

Contents?: true

Size: 504 Bytes

Versions: 4

Compression:

Stored size: 504 Bytes

Contents

module Formalist
  class DisplayAdapters
    class Select
      PERMITTED_TYPES = %w[
        decimal
        float
        int
        string
      ].freeze

      def call(field)
        raise ArgumentError, "field type must be one of #{PERMITTED_TYPES.join(', ')}" unless PERMITTED_TYPES.include?(field.type)
        raise ArgumentError, "field must have +option_values+ config" unless field.config.keys.include?(:option_values)

        field.to_display_variant("select")
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
formalist-0.2.2 lib/formalist/display_adapters/select.rb
formalist-0.2.1 lib/formalist/display_adapters/select.rb
formalist-0.2.0 lib/formalist/display_adapters/select.rb
formalist-0.1.0 lib/formalist/display_adapters/select.rb