Sha256: d224b3e3ecbdb6e14aa4f9feb140d3cb8dc34b39fa8e42b8c37299d1fa4c191d
Contents?: true
Size: 746 Bytes
Versions: 12
Compression:
Stored size: 746 Bytes
Contents
class Datagrid::Filters::ExtendedBooleanFilter < Datagrid::Filters::EnumFilter #:nodoc: YES = "YES" NO = "NO" def initialize(report, attribute, options = {}, &block) options[:select] = -> { boolean_select } super(report, attribute, options, &block) end def execute(value, scope, grid_object) value = value.blank? ? nil : ::Datagrid::Utils.booleanize(value) super(value, scope, grid_object) end def parse(value) case when value == true YES when value == false NO when value.blank? nil else super(value) end end protected def boolean_select [YES, NO].map do |key, value| [I18n.t("datagrid.filters.xboolean.#{key.downcase}"), key] end end end
Version data entries
12 entries across 12 versions & 1 rubygems