class AdminIt::ValueFilter
Attributes
values[R]
Public Class Methods
new()
click to toggle source
# File lib/admin_it/filters/value_filter.rb, line 6 def initialize @values = [] end
Public Instance Methods
all_values(collection = nil, &block)
click to toggle source
# File lib/admin_it/filters/value_filter.rb, line 27 def all_values(collection = nil, &block) collection ||= [] enum = Enumerator.new do |yielder| values = collection.map { |e| self.class.field.read(e) } values.uniq.each do |value| yileder << { value: value, count: values.count { |v| v == value } } end end block_given? ? enum.each(&block) : enum end
apply(collection)
click to toggle source
# File lib/admin_it/filters/value_filter.rb, line 44 def apply(collection) return collection if @values.empty? collection.select do |entity| @values.include?(self.class.field.read(entity)) end end
value(val)
click to toggle source
# File lib/admin_it/filters/value_filter.rb, line 40 def value(val) create_argument(val) end