class Moneybird::Middleware::Pagination
Public Instance Methods
on_complete(response)
click to toggle source
# File lib/moneybird/middleware/pagination.rb, line 6 def on_complete(response) return unless response[:response_headers] link_header = response[:response_headers][:link] return unless link_header response[:response_headers][:pagination_links] = find_links(link_header) end
Private Instance Methods
find_link(header, rel)
click to toggle source
# File lib/moneybird/middleware/pagination.rb, line 23 def find_link(header, rel) link = ::LinkHeader.parse(header).links.find { |l| l['rel'] == rel } link.to_a.first if link end
find_links(link_header)
click to toggle source
# File lib/moneybird/middleware/pagination.rb, line 15 def find_links(link_header) Links.new.tap do |links| %w[prev next first last current].each do |page| links.public_send("#{page}=", find_link(link_header, page)) end end end