Module: SearchParamsParser

Extended by:
ActiveSupport::Concern
Defined in:
app/controllers/concerns/search_params_parser.rb

Instance Method Summary collapse

Instance Method Details

#additional_search_filter_paramsObject



17
18
19
# File 'app/controllers/concerns/search_params_parser.rb', line 17

def additional_search_filter_params
  params.require(:filter).permit!
end

#get_search_paramsObject



4
5
6
7
8
# File 'app/controllers/concerns/search_params_parser.rb', line 4

def get_search_params
  return @get_search_params if defined?(@get_search_params)

  @get_search_params = search_params(search_filter_params)
end

#search_filter_paramsObject



10
11
12
13
14
15
# File 'app/controllers/concerns/search_params_parser.rb', line 10

def search_filter_params
  return {} if params[:filter].blank?

  @search_filter_params ||= additional_search_filter_params
  @search_filter_params
end

#search_params(extra_params = {}) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'app/controllers/concerns/search_params_parser.rb', line 21

def search_params(extra_params = {})
  id = keywords&.first&.delete('%')&.to_i
  @search_params = if id && !id.zero?
                     extra_params.delete('keyword')
                     {
                       id: id
                     }
                   else
                     {
                       keyword: keywords
                     }
                   end
  @search_params.merge!(extra_params)
end