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.



348
349
350
# File 'lib/admin/base/resource.rb', line 348

def initialize
  @filters = []
end

Instance Attribute Details

#filtersObject (readonly)

Returns the value of attribute filters.



346
347
348
# File 'lib/admin/base/resource.rb', line 346

def filters
  @filters
end

Instance Method Details

#filter(name, **options) ⇒ Object



352
353
354
355
356
357
358
359
360
361
362
363
364
# File 'lib/admin/base/resource.rb', line 352

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