Sha256: cc72c4df9eef5df4768c270f314817ab8ca41d3d4ba4fbed3d6cf50e589653e3
Contents?: true
Size: 1.15 KB
Versions: 163
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true module Checkoff module Internal module SearchUrl # Merge task selectors and search API arguments class ResultsMerger # @param args [Array<[Hash<String, String>]>] # @return [Hash<String, String> def self.merge_args(*args) # first element of args # @sg-ignore # @type [Hash<String, String>] f = args.fetch(0) # rest of args r = args.drop(0) f.merge(*r) end # @param task_selectors [Array<Array<[Symbol, Array]>>] # @return [Array<[Symbol, Array]>] def self.merge_task_selectors(*task_selectors) return [] if task_selectors.empty? first_task_selector = task_selectors.fetch(0) return merge_task_selectors(*task_selectors.drop(1)) if first_task_selector.empty? return first_task_selector if task_selectors.length == 1 rest_task_selectors = merge_task_selectors(*task_selectors.drop(1)) return first_task_selector if rest_task_selectors.empty? [:and, first_task_selector, rest_task_selectors] end end end end end
Version data entries
163 entries across 163 versions & 1 rubygems