Sha256: 3ca412f1badaaf3c39236f463632d4491385003c4ec902a84c745c845ce78b89

Contents?: true

Size: 841 Bytes

Versions: 36

Compression:

Stored size: 841 Bytes

Contents

module Avo
  module Fields
    class BooleanGroupField < BaseField
      attr_reader :options

      def initialize(name, **args, &block)
        @defaults = {
          partial_name: "boolean-group-field",
          computable: true
        }

        super(name, **args, &block)

        @options = args[:options].present? ? args[:options] : {}
      end

      def to_permitted_param
        ["#{id}": []]
      end

      def fill_field(model, key, value)
        new_value = {}

        # Filter out the empty ("") value boolean group generates
        value = value.filter do |arr_value|
          arr_value.present?
        end

        # Cast values to booleans
        options.each do |id, label|
          new_value[id] = value.include? id.to_s
        end

        model[id] = new_value

        model
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
avo-1.4.0.pre.1 lib/avo/fields/boolean_group_field.rb
avo-1.3.5 lib/avo/fields/boolean_group_field.rb
avo-1.3.5.pre.1 lib/avo/fields/boolean_group_field.rb
avo-1.3.4 lib/avo/fields/boolean_group_field.rb
avo-1.3.3 lib/avo/fields/boolean_group_field.rb
avo-1.3.2 lib/avo/fields/boolean_group_field.rb
avo-1.3.1 lib/avo/fields/boolean_group_field.rb
avo-1.3.0 lib/avo/fields/boolean_group_field.rb
avo-1.2.11.pre.4 lib/avo/fields/boolean_group_field.rb
avo-1.2.11.pre.3 lib/avo/fields/boolean_group_field.rb
avo-1.2.11.pre.2 lib/avo/fields/boolean_group_field.rb
avo-1.2.11.pre.1 lib/avo/fields/boolean_group_field.rb
avo-1.2.10 lib/avo/fields/boolean_group_field.rb
avo-1.2.9 lib/avo/fields/boolean_group_field.rb
avo-1.2.8 lib/avo/fields/boolean_group_field.rb
avo-1.2.7 lib/avo/fields/boolean_group_field.rb
avo-1.2.6 lib/avo/fields/boolean_group_field.rb
avo-1.2.6.pre.1 lib/avo/fields/boolean_group_field.rb
avo-1.2.5 lib/avo/fields/boolean_group_field.rb
avo-1.2.4 lib/avo/fields/boolean_group_field.rb