Sha256: 49e33f77b7ef1bb3af72b20fd8f2e625bfe0c861fd44556215b0c7d1b47284e4
Contents?: true
Size: 849 Bytes
Versions: 5
Compression:
Stored size: 849 Bytes
Contents
require 'xing/serializers/list' require 'xing/serializers/paged' module Xing::Serializers # Serializes a single page of a long paginated list. We assume the interface # provided by Kaminari: the object to be serialized needs to respond to: # # current_page, limit_value, total_pages, total_count, each(and various # Enumerable methods) class PagedList < List include Paged def page_num object.current_page end def self_link page_link(page: page_num) end def next_link page_link({page: page_num + 1}) unless page_num == total_pages end def previous_link page_link({page: page_num - 1}) unless page_num == 1 end def links super.merge( :next => next_link, :previous => previous_link ) end end end
Version data entries
5 entries across 5 versions & 1 rubygems