Method: Easy::Resources::Redmine::RedmineBase.get_all

Defined in:
lib/easy/resources/redmine/redmine_base.rb

.get_all(**params, &block) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/easy/resources/redmine/redmine_base.rb', line 34

def get_all(**params, &block)
  records      = results = all(params: params)
  response     = results.http_response
  total        = retrieve_total(response)
  current_page = 1

  while records.any?
    records.each(&block) if block_given?
    break if results.size >= total

    self.format = :xml

    records = all(params: params.merge(page: (current_page += 1)))
    results.concat(records)
  end

  results
end