Sha256: 3319a924fa8e2a2d0ff8a7960229f90ca347f218097f7e1176c1f39585d732d9
Contents?: true
Size: 1.69 KB
Versions: 10
Compression:
Stored size: 1.69 KB
Contents
require 'active_support/concern' class QueryHelper module QueryHelperConcern extend ActiveSupport::Concern included do def query_helper @query_helper end def query_helper_with_no_pagination QueryHelper.new(**query_helper_params_no_pagination) end def create_query_helper @query_helper = QueryHelper.new(**query_helper_params, api_payload: true) end def create_query_helper_with_no_pagination @query_helper = query_helper_with_no_pagination() end def reload_query_params(query_helper=@query_helper) query_helper.update(**query_helper_params) end def create_query_helper_filter filter_values = params[:filter].permit!.to_h QueryHelper::SqlFilter.new(filter_values: filter_values) end def create_query_helper_sort QueryHelper::SqlSort.new(sort_string: params[:sort]) end def create_query_helper_associations QueryHelper::Associations.process_association_params(params[:include]) end def query_helper_params helpers = query_helper_params_no_pagination helpers[:page] = params[:page] if params[:page] helpers[:per_page] = params[:per_page] if params[:per_page] helpers end def query_helper_params_no_pagination helpers = {} helpers[:sql_filter] = create_query_helper_filter() if params[:filter] helpers[:sql_sort] = create_query_helper_sort() if params[:sort] helpers[:associations] = create_query_helper_associations() if params[:include] helpers[:search_string] = params[:search_for] if params[:search_for] helpers end end end end
Version data entries
10 entries across 10 versions & 1 rubygems