Sha256: 049ace8a75052b60af82a335b2197e97ea63d881442a5cef33f4ca7d1948e3c5
Contents?: true
Size: 886 Bytes
Versions: 2
Compression:
Stored size: 886 Bytes
Contents
module InsalesApi module Resource module WithUpdatedSince def find_in_batches(options = {}, &block) return super unless updated_since = options.delete(:updated_since) find_updated_since(updated_since, options, &block) end def find_updated_since(updated_since, options = {}) per_page = options[:per_page] || PER_PAGE_DEFAULT params = { per_page: per_page }.merge(options[:params] || {}) last_id = nil loop do items = all(params: params.merge( updated_since: updated_since, from_id: last_id, )) return unless items.any? yield items return if items.count < per_page last_item = items.last last_id = last_item.id updated_since = last_item.updated_at end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
insales_api-0.1.1 | lib/insales_api/resource/with_updated_since.rb |
insales_api-0.1.0 | lib/insales_api/resource/with_updated_since.rb |