class EasyBroker::PaginatedResponse

Attributes

query[R]
response[R]

Public Class Methods

new(query) click to toggle source
# File lib/easy_broker/paginated_response.rb, line 6
def initialize(query)
  @query = query
  @response = query.get
end

Public Instance Methods

each() { |object| ... } click to toggle source
# File lib/easy_broker/paginated_response.rb, line 41
def each
  return response.content.to_enum(:each) unless block_given?

  response.content.each do |object|
    yield object
  end
end
find_each() { |object| ... } click to toggle source
# File lib/easy_broker/paginated_response.rb, line 31
def find_each
  return self.to_enum(:find_each) unless block_given?
  loop do
    each do |object|
      yield object
    end
    break unless next_page
  end 
end
limit() click to toggle source
# File lib/easy_broker/paginated_response.rb, line 15
def limit
  pagination&.limit
end
next_page() click to toggle source
# File lib/easy_broker/paginated_response.rb, line 23
def next_page
  next_page_number = page.nil? ? 1 : page + 1

  if next_page_number * limit <= total
    @response = query.get(next_page_number)
  end
end
page() click to toggle source
# File lib/easy_broker/paginated_response.rb, line 19
def page
  pagination&.page
end
total() click to toggle source
# File lib/easy_broker/paginated_response.rb, line 11
def total
  pagination&.total
end

Private Instance Methods

pagination() click to toggle source
# File lib/easy_broker/paginated_response.rb, line 51
def pagination
  response&.pagination
end