class PDC::Response::Paginator
Public Instance Methods
parse(json)
click to toggle source
# File lib/pdc/http/response/pagination.rb, line 7 def parse(json) logger.debug "\n.....paginate json ....................................." metadata = json[:metadata] logger.debug metadata return json unless paginated?(metadata) metadata[PDC::Resource::PAGINATION] = { resource_count: metadata.delete(:count), # TODO: decide if this is okay to discard the # schema://host:port/ of the next and previous next_page: request_uri(metadata.delete(:next)), previous_page: request_uri(metadata.delete(:previous)) } logger.debug '... after parsing pagination data:' logger.debug metadata json end
Private Instance Methods
paginated?(metadata)
click to toggle source
# File lib/pdc/http/response/pagination.rb, line 34 def paginated?(metadata) metadata[:count].is_a?(Numeric) && metadata.key?(:next) && metadata.key?(:previous) end
request_uri(uri)
click to toggle source
# File lib/pdc/http/response/pagination.rb, line 29 def request_uri(uri) return unless uri URI(uri).request_uri end