Class: AutoSelect2::Select2SearchAdapter::Default

Inherits:
Base
  • Object
show all
Defined in:
lib/auto_select2/select2_search_adapter/default.rb

Class Method Summary collapse

Methods inherited from Base

limit, search_from_autocomplete

Class Method Details

.search_default(term, page, options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/auto_select2/select2_search_adapter/default.rb', line 5

def search_default(term, page, options)
  begin
    default_arel = options[:default_class_name].camelize.constantize
  rescue NameError
    return {error: "not found class '#{options[:default_class_name]}'"}.to_json
  end

  if options[:init].nil?
    default_values = default_finder(default_arel, term, page: page,
                                                        column: options[:default_text_column])
    default_count = default_count(default_arel, term, column: options[:default_text_column])
    {
        items: default_values.map do |default_value|
          get_select2_hash(
              default_value,
              options[:hash_method],
              options[:default_id_column],
              options[:default_text_column]
          )
        end,
        total: default_count
    }
  else
    get_init_values(
        default_arel,
        options[:item_ids],
        options
    )
  end
end