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.



369
370
371
# File 'lib/admin/base/resource.rb', line 369

def initialize
  @filters = []
end

Instance Attribute Details

#filtersObject (readonly)

Returns the value of attribute filters.



367
368
369
# File 'lib/admin/base/resource.rb', line 367

def filters
  @filters
end

Instance Method Details

#filter(name, **options) ⇒ Object



373
374
375
376
377
378
379
380
381
382
383
384
385
# File 'lib/admin/base/resource.rb', line 373

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