Method: NexusAPI::CLIUtils#print_paginating_set

Defined in:
lib/nexus_api/cli_utils.rb


23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/nexus_api/cli_utils.rb', line 23

def print_paginating_set(action:, params:, filter:, proc: nil)
  setup
  set = Array.new.tap do |set|
    loop do
      params[:paginate] = true
      set.concat(Array(@api.send(action, params)))
      break unless @api.paginate?
    end
  end
  proc = proc { set.map{ |element| element[filter] } } if proc.nil?
  puts options[:full] ? set : proc.call(set)
end