module Sourcescrub::Utils::SearchParams
All Searches Parameters
Public Instance Methods
source_params(args = {})
click to toggle source
# File lib/sourcescrub/utils/search_params.rb, line 10 def source_params(args = {}) recursive_compact(build_args(args)) end
Private Instance Methods
build_args(args)
click to toggle source
# File lib/sourcescrub/utils/search_params.rb, line 16 def build_args(args) { 'filters' => { 'startDateRange' => { 'from' => args.dig(:start_date, :from), 'to' => args.dig(:start_date, :to) }, 'endDateRange' => { 'from' => args.dig(:end_date, :from), 'to' => args.dig(:end_date, :to) }, 'modifiedDateRange' => { 'from' => args.dig(:modified, :from), 'to' => args.dig(:modified, :to) }, 'completedAtDateRange' => { 'from' => args.dig(:completed_date, :from), 'to' => args.dig(:completed_date, :to) }, 'industries' => args.dig(:industries), 'statuses' => args.dig(:statuses), 'sourceTypes' => args.dig(:source_types), 'clientStatuses' => args.dig(:client_statuses), 'completedAt' => args.dig(:completed_at) }, 'searchText' => args.dig(:search_text), 'limit' => args.dig(:limit) || 100, 'offset' => args.dig(:offset) || 0, 'orderBy' => args.dig(:order_by) || 'endDate DESC' } end
recursive_compact(hash_or_array)
click to toggle source
# File lib/sourcescrub/utils/search_params.rb, line 48 def recursive_compact(hash_or_array) block = proc do |*args| v = args.last v.delete_if(&block) if v.respond_to? :delete_if v.nil? || v.respond_to?(:"empty?") && v.empty? end hash_or_array.delete_if(&block) end