Module: ActiveSearch::Base

Defined in:
lib/activesearch/base.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(parent) ⇒ Object



18
19
20
21
# File 'lib/activesearch/base.rb', line 18

def self.included(parent)
  parent.extend ClassMethods
  parent.class_attribute :search_parameters, instance_reader: false
end

Instance Method Details

#search_fieldsObject



27
28
29
# File 'lib/activesearch/base.rb', line 27

def search_fields
  search_parameters.last.is_a?(Hash) ? search_parameters[0...-1] : search_parameters
end

#search_localeObject



31
32
33
34
35
36
37
38
39
# File 'lib/activesearch/base.rb', line 31

def search_locale
  search_locale = search_options[:locale] || I18n.locale.to_s

  if search_locale.respond_to?(:call)
    search_locale.call
  else
    search_locale
  end
end

#search_optionsObject



23
24
25
# File 'lib/activesearch/base.rb', line 23

def search_options
  search_parameters.last.is_a?(Hash) ? search_parameters.last : {}
end

#search_parametersObject



41
42
43
44
45
46
47
# File 'lib/activesearch/base.rb', line 41

def search_parameters
  if self.class.search_parameters.is_a?(Symbol)
    self.send(self.class.search_parameters)
  else
    self.class.search_parameters
  end
end