Class: Datagrid::Filters::EnumFilter

Inherits:
BaseFilter show all
Defined in:
lib/datagrid/filters/enum_filter.rb

Direct Known Subclasses

BooleanEnumFilter

Instance Attribute Summary

Attributes inherited from BaseFilter

#block, #grid, #name, #options

Instance Method Summary collapse

Methods inherited from BaseFilter

#apply, #default, #format_values, #header, #multiple

Constructor Details

#initialize(*args) ⇒ EnumFilter

Returns a new instance of EnumFilter.



3
4
5
6
# File 'lib/datagrid/filters/enum_filter.rb', line 3

def initialize(*args)
  super(*args)
  raise Datagrid::ConfigurationError, ":select option not specified" unless select
end

Instance Method Details

#format(value) ⇒ Object



8
9
10
11
# File 'lib/datagrid/filters/enum_filter.rb', line 8

def format(value)
  return nil if self.strict && !select.include?(value)
  value
end

#include_blankObject



18
19
20
# File 'lib/datagrid/filters/enum_filter.rb', line 18

def include_blank
  self.options.has_key?(:include_blank) ? options[:include_blank] : true
end

#selectObject



13
14
15
# File 'lib/datagrid/filters/enum_filter.rb', line 13

def select
  self.options[:select]
end

#strictObject



22
23
24
# File 'lib/datagrid/filters/enum_filter.rb', line 22

def strict
  self.options[:strict]
end