module Datagrid::Filters::CompositeFilters::ClassMethods
@!visibility private
Public Instance Methods
date_range_filters(field, from_options = {}, to_options = {})
click to toggle source
# File lib/datagrid/filters/composite_filters.rb, line 15 def date_range_filters(field, from_options = {}, to_options = {}) Utils.warn_once('date_range_filters is deprecated in favor of range option for date filter') from_options = normalize_composite_filter_options(from_options, field) to_options = normalize_composite_filter_options(to_options, field) filter(from_options[:name] || :"from_#{field.to_s.tr('.', '_')}", :date, **from_options) do |date, scope, grid| grid.driver.greater_equal(scope, field, date) end filter(to_options[:name] || :"to_#{field.to_s.tr('.', '_')}", :date, **to_options) do |date, scope, grid| grid.driver.less_equal(scope, field, date) end end
integer_range_filters(field, from_options = {}, to_options = {})
click to toggle source
# File lib/datagrid/filters/composite_filters.rb, line 28 def integer_range_filters(field, from_options = {}, to_options = {}) Utils.warn_once('integer_range_filters is deprecated in favor of range option for integer filter') from_options = normalize_composite_filter_options(from_options, field) to_options = normalize_composite_filter_options(to_options, field) filter(from_options[:name] || :"from_#{field.to_s.tr('.', '_')}", :integer, **from_options) do |value, scope, grid| grid.driver.greater_equal(scope, field, value) end filter(to_options[:name] || :"to_#{field.to_s.tr('.', '_')}", :integer, **to_options) do |value, scope, grid| grid.driver.less_equal(scope, field, value) end end
normalize_composite_filter_options(options, field)
click to toggle source
# File lib/datagrid/filters/composite_filters.rb, line 40 def normalize_composite_filter_options(options, field) if options.is_a?(String) || options.is_a?(Symbol) options = {name: options} end options end