module Metova::Responders::PaginationResponder

Public Class Methods

new(*) click to toggle source
Calls superclass method
# File lib/metova/responders/pagination_responder.rb, line 5
def initialize(*)
  super
  if response_should_be_paginated?
    @resource = paginate(@resource)
    @links = []
    add_next_to_link_header
    add_last_to_link_header
  end
end

Private Instance Methods

current_page() click to toggle source
# File lib/metova/responders/pagination_responder.rb, line 40
def current_page
  @_current_page ||= controller.params[:page].to_i
end
last_page() click to toggle source
# File lib/metova/responders/pagination_responder.rb, line 44
def last_page
  @_last_page ||= @resource.total_pages
end
paginate(resource) click to toggle source
# File lib/metova/responders/pagination_responder.rb, line 16
def paginate(resource)
  resource.page(current_page).per(controller.params[:limit])
end
response_should_be_paginated?() click to toggle source
# File lib/metova/responders/pagination_responder.rb, line 20
def response_should_be_paginated?
  controller.params.include?(:page) &&
    controller.params.include?(:limit)
end