module FinApps::Utils::QueryBuilder

Public Instance Methods

build_query_path(root_url, params) click to toggle source
   # File lib/finapps/utils/query_builder.rb
 6 def build_query_path(root_url, params)
 7   filter_obj = build_filter(params)
 8   filter = "filter=#{ERB::Util.url_encode(filter_obj.to_json)}" unless filter_obj.empty?
 9   query_join(root_url, [page(params), requested(params), sort(params), filter])
10 end

Private Instance Methods

build_filter(_params) click to toggle source
   # File lib/finapps/utils/query_builder.rb
31 def build_filter(_params)
32   # stub, to be overwritten by classes that include this module
33   {}
34 end
page(params) click to toggle source
   # File lib/finapps/utils/query_builder.rb
14 def page(params)
15   "page=#{params[:page].to_i}" if params[:page]
16 end
query_join(root_url, params_array) click to toggle source
   # File lib/finapps/utils/query_builder.rb
26 def query_join(root_url, params_array)
27   query_string = params_array.compact.join('&')
28   [root_url, query_string].reject(&:empty?).join('?')
29 end
requested(params) click to toggle source
   # File lib/finapps/utils/query_builder.rb
18 def requested(params)
19   "requested=#{params[:requested].to_i}" if params[:requested]
20 end
sort(params) click to toggle source
   # File lib/finapps/utils/query_builder.rb
22 def sort(params)
23   "sort=#{ERB::Util.url_encode(params[:sort])}" if params[:sort]
24 end