Sha256: e935c4106a24789f714191a33ba011a8c1577ef52443cce447198a2e1910b513
Contents?: true
Size: 843 Bytes
Versions: 5
Compression:
Stored size: 843 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
5 entries across 5 versions & 1 rubygems