Sha256: 6d977c47ebc31354bdbaf7979c3bb8982a3cfbb719ada9e5998655f5063a6b6b
Contents?: true
Size: 794 Bytes
Versions: 5
Compression:
Stored size: 794 Bytes
Contents
module Avo module Fields class BooleanField < BaseField attr_reader :true_value attr_reader :false_value def initialize(name, **args, &block) @defaults = { partial_name: 'boolean-field', computable: true, } super(name, **args, &block) @true_value = args[:true_value].present? ? args[:true_value] : true @false_value = args[:false_value].present? ? args[:false_value] : false end def value resolve_attribute super end def resolve_attribute(value) value.present? ? value.in?(truthy_values) : value end def truthy_values ['true', '1', @true_value] end def falsy_values ['false', '0', @false_value] end end end end
Version data entries
5 entries across 5 versions & 1 rubygems