Module: Legion::Extensions::ServiceNow::Helpers::Pagination
- Included in:
- Client
- Defined in:
- lib/legion/extensions/service_now/helpers/pagination.rb
Instance Method Summary collapse
Instance Method Details
#paginate(method_name, **opts) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/legion/extensions/service_now/helpers/pagination.rb', line 8 def paginate(method_name, **opts) results = [] offset = 0 limit = opts.fetch(:sysparm_limit, 100) loop do response = public_send(method_name, **opts, sysparm_limit: limit, sysparm_offset: offset) key = response.keys.first batch = response[key] break if batch.nil? || batch.empty? results.concat(batch) break if batch.size < limit offset += limit end results end |