class Datagrid::Filters::ExtendedBooleanFilter
@!visibility private
Constants
- FALSE_VALUES
- NO
- TRUTH_VALUES
- YES
Public Class Methods
new(report, attribute, options = {}, &block)
click to toggle source
Calls superclass method
Datagrid::Filters::EnumFilter::new
# File lib/datagrid/filters/extended_boolean_filter.rb, line 9 def initialize(report, attribute, options = {}, &block) options[:select] = -> { boolean_select } super(report, attribute, options, &block) end
Public Instance Methods
execute(value, scope, grid_object)
click to toggle source
Calls superclass method
Datagrid::Filters::BaseFilter#execute
# File lib/datagrid/filters/extended_boolean_filter.rb, line 14 def execute(value, scope, grid_object) value = value.blank? ? nil : ::Datagrid::Utils.booleanize(value) super(value, scope, grid_object) end
parse(value)
click to toggle source
Calls superclass method
Datagrid::Filters::EnumFilter#parse
# File lib/datagrid/filters/extended_boolean_filter.rb, line 19 def parse(value) value = value.downcase if value.is_a?(String) case value when *TRUTH_VALUES YES when *FALSE_VALUES NO when value.blank? nil else super(value) end end
Protected Instance Methods
boolean_select()
click to toggle source
# File lib/datagrid/filters/extended_boolean_filter.rb, line 35 def boolean_select [YES, NO].map do |key, value| [I18n.t("datagrid.filters.xboolean.#{key.downcase}"), key] end end