Sha256: 39c4cdf8a947aabf4bd8cde289c402d4ca28853f67419e28b85f08baf115c6c7
Contents?: true
Size: 738 Bytes
Versions: 355
Compression:
Stored size: 738 Bytes
Contents
module Avo module Fields class BooleanGroupField < BaseField attr_reader :options def initialize(id, **args, &block) super(id, **args, &block) @options = args[:options].present? ? args[:options] : {} end def to_permitted_param ["#{id}": []] end def fill_field(model, key, value, params) 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
355 entries across 355 versions & 1 rubygems