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

#initialize ⇒ FiltersBuilder

Returns a new instance of FiltersBuilder.



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

def initialize
  @filters = []
end

Instance Attribute Details

#filters ⇒ Object (readonly)

Returns the value of attribute filters.



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

def filters
  @filters
end

Instance Method Details

#filter(name, **options) ⇒ Object



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

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