Class: Checkoff::Internal::SearchUrl::ResultsMerger
- Inherits:
-
Object
- Object
- Checkoff::Internal::SearchUrl::ResultsMerger
- Defined in:
- lib/checkoff/internal/search_url/results_merger.rb
Overview
Merge task selectors and search API arguments
Class Method Summary collapse
-
.merge_args(*args) ⇒ Hash<String, String>
Hash<String, String>.
- .merge_task_selectors(*task_selectors) ⇒ Array<[Symbol, Array]>
Class Method Details
.merge_args(*args) ⇒ Hash<String, String>
Returns Hash<String, String>.
10 11 12 13 14 15 16 17 18 |
# File 'lib/checkoff/internal/search_url/results_merger.rb', line 10 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 |
.merge_task_selectors(*task_selectors) ⇒ Array<[Symbol, Array]>
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/checkoff/internal/search_url/results_merger.rb', line 22 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 |