class AutoAwesomplete::SearchAdapter::Default

Public Class Methods

search_default(term, page, options) click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 5
def search_default(term, page, options)
  if !@searchable || @text_columns.blank?
    raise_not_implemented
  end

  default_values =
      default_finder(
          @searchable,
          term,
          page: page,
          columns: @text_columns,
          case_sensitive: @case_sensitive.nil? ? options[:case_sensitive] : @case_sensitive
      )
  default_values.map do |default_value|
    get_awesomplete_label(
        default_value,
        default_text_columns: @text_columns,
        label_method: @label_method
    )
  end
end

Private Class Methods

case_sensitive(casi) click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 41
def case_sensitive(casi)
  @case_sensitive = casi
end
label_method(method_sym) click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 37
def label_method(method_sym)
  @label_method = method_sym
end
raise_not_implemented() click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 45
def raise_not_implemented
  raise NotImplementedError,
        'You should implement your own SearchAdapter. Use: `rails generate auto_awesomplete:search_adapter`'
end
searchable(class_or_relation) click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 29
def searchable(class_or_relation)
  @searchable = class_or_relation
end
text_columns(*column_names) click to toggle source
# File lib/auto_awesomplete/search_adapter/default.rb, line 33
def text_columns(*column_names)
  @text_columns = column_names
end