Sha256: e37b00280947af76c7292375db6d0cf19d6ac5774070cfe6a4f10fd9cd9922c0

Contents?: true

Size: 502 Bytes

Versions: 4

Compression:

Stored size: 502 Bytes

Contents

module Formalist
  class DisplayAdapters
    class Radio
      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("radio")
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

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