Module: Datagrid::Filters::InstanceMethods
- Defined in:
- lib/datagrid/filters.rb
Overview
ClassMethods
Instance Method Summary collapse
-
#assets ⇒ Object
:nodoc:.
-
#filter_by(*filters) ⇒ Object
Returns assets filtered only by specified filters Allows partial filtering.
-
#filter_by_name(name) ⇒ Object
Returns filter object with the given name.
-
#filter_value(filter) ⇒ Object
Returns filter value for given filter definition.
-
#filter_value_as_string(name) ⇒ Object
Returns string representation of filter value.
-
#filters ⇒ Object
Returns all defined filters Array.
-
#initialize(*args, &block) ⇒ Object
:nodoc:.
Instance Method Details
#assets ⇒ Object
:nodoc:
122 123 124 |
# File 'lib/datagrid/filters.rb', line 122 def assets # :nodoc: apply_filters(super, self.class.filters) end |
#filter_by(*filters) ⇒ Object
Returns assets filtered only by specified filters Allows partial filtering
154 155 156 |
# File 'lib/datagrid/filters.rb', line 154 def filter_by(*filters) apply_filters(scope, filters.map{|f| filter_by_name(f)}) end |
#filter_by_name(name) ⇒ Object
Returns filter object with the given name
148 149 150 |
# File 'lib/datagrid/filters.rb', line 148 def filter_by_name(name) self.class.filter_by_name(name) end |
#filter_value(filter) ⇒ Object
Returns filter value for given filter definition
132 133 134 |
# File 'lib/datagrid/filters.rb', line 132 def filter_value(filter) self[filter.name] end |
#filter_value_as_string(name) ⇒ Object
Returns string representation of filter value
137 138 139 140 141 142 143 144 145 |
# File 'lib/datagrid/filters.rb', line 137 def filter_value_as_string(name) filter = filter_by_name(name) value = filter_value(filter) if value.is_a?(Array) value.map {|v| filter.format(v) }.join(filter.separator) else filter.format(value) end end |
#filters ⇒ Object
Returns all defined filters Array
127 128 129 |
# File 'lib/datagrid/filters.rb', line 127 def filters self.class.filters end |
#initialize(*args, &block) ⇒ Object
:nodoc:
115 116 117 118 119 120 |
# File 'lib/datagrid/filters.rb', line 115 def initialize(*args, &block) # :nodoc: self.filters.each do |filter| self[filter.name] = filter.default end super(*args, &block) end |