class ActiveAdmin::Filters::FormBuilder

as the one found in the sidebar of the index page of a standard resource.
This form builder defines methods to build filter forms such

def active_admin_input_class_name(as)

def active_admin_input_class_name(as)
  "ActiveAdmin::Inputs::Filter#{as.to_s.camelize}Input"
end

def custom_input_class_name(as)

def custom_input_class_name(as)
  "Filter#{as.to_s.camelize}Input"
end

def default_input_type(method, options = {})

to use a custom search method, you have to specify the type yourself.
Returns the default filter type for a given attribute. If you want
def default_input_type(method, options = {})
  if method =~ /_(contains|starts_with|ends_with)\z/
    :string
  elsif reflection_for(method) || polymorphic_foreign_type?(method)
    :select
  elsif column = column_for(method)
    case column.type
    when :date, :datetime
      :date_range
    when :string, :text
      :string
    when :integer, :float, :decimal
      :numeric
    when :boolean
      :boolean
    end
  end
end

def filter(method, options = {})

def filter(method, options = {})
  if method.present? && options[:as] ||= default_input_type(method)
    input(method, options)
  end
end

def initialize(*args)

def initialize(*args)
  @use_form_buffer = true # force ActiveAdmin::FormBuilder to use the form buffer
  super
end