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