Class: Admin::Base::Resource::FiltersBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/admin/base/resource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFiltersBuilder

Returns a new instance of FiltersBuilder.



329
330
331
# File 'lib/admin/base/resource.rb', line 329

def initialize
  @filters = []
end

Instance Attribute Details

#filtersObject (readonly)

Returns the value of attribute filters.



327
328
329
# File 'lib/admin/base/resource.rb', line 327

def filters
  @filters
end

Instance Method Details

#filter(name, **options) ⇒ Object



333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/admin/base/resource.rb', line 333

def filter(name, **options)
  select_options = options.key?(:options) ? options[:options] : options[:collection]
  @filters << FilterDefinition.new(
    name: name,
    type: options[:type] || :text,
    label: options[:label] || name.to_s.humanize,
    placeholder: options[:placeholder],
    options: select_options,
    field: options[:field] || name,
    apply: options[:apply],
    default: options[:default]
  )
end