Class: Zadok::Filters::Ransack::AutocompleteFilter
- Inherits:
-
Base
- Object
- Base
- Zadok::Filters::Ransack::AutocompleteFilter
show all
- Defined in:
- lib/zadok/filters/ransack/autocomplete_filter.rb
Instance Attribute Summary
Attributes inherited from Base
#params
Instance Method Summary
collapse
Methods inherited from Base
#active_in?, #add_to_params, #i18n_name, #index, #initialize, #modify_columns, #param, #remove_from_params, #text, #title
Instance Method Details
#attr ⇒ Object
15
16
17
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 15
def attr
raise NotImplementedError
end
|
#autocomplete_attribute ⇒ Object
19
20
21
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 19
def autocomplete_attribute
raise NotImplementedError
end
|
#describe(current_params) ⇒ Object
7
8
9
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 7
def describe(current_params)
current_params[param]
end
|
#field_id ⇒ Object
35
36
37
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 35
def field_id
"#{source.singularize}_#{autocomplete_attribute}"
end
|
#field_value(params) ⇒ Object
43
44
45
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 43
def field_value(params)
model.find_by(attr => describe(params))&.send(autocomplete_attribute)
end
|
#model ⇒ Object
11
12
13
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 11
def model
raise NotImplementedError
end
|
#options ⇒ Object
27
28
29
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 27
def options
Hash[model.uniq.pluck(attr, autocomplete_attribute)]
end
|
#source ⇒ Object
23
24
25
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 23
def source
model.to_s.downcase.pluralize
end
|
#target_field_id ⇒ Object
39
40
41
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 39
def target_field_id
"q_#{param}"
end
|
#type ⇒ Object
31
32
33
|
# File 'lib/zadok/filters/ransack/autocomplete_filter.rb', line 31
def type
:autocomplete
end
|