Module Sequel::Dataset::Pagination
In: lib/sequel/extensions/pagination.rb

Holds methods that only relate to paginated datasets. Paginated dataset have pages starting at 1 (page 1 is offset 0, page 2 is offset 1 * page_size).

Methods

Public Instance methods

The current page of the dataset, starting at 1 and not 0.

[Source]

    # File lib/sequel/extensions/pagination.rb, line 83
83:       def current_page
84:         @opts[:current_page]
85:       end

Returns the number of records in the current page

[Source]

     # File lib/sequel/extensions/pagination.rb, line 103
103:       def current_page_record_count
104:         return 0 if current_page > page_count
105:         
106:         a = 1 + (current_page - 1) * page_size
107:         b = a + page_size - 1
108:         b = pagination_record_count if b > pagination_record_count
109:         b - a + 1
110:       end

Returns the record range for the current page

[Source]

     # File lib/sequel/extensions/pagination.rb, line 93
 93:       def current_page_record_range
 94:         return (0..0) if current_page > page_count
 95:         
 96:         a = 1 + (current_page - 1) * page_size
 97:         b = a + page_size - 1
 98:         b = pagination_record_count if b > pagination_record_count
 99:         a..b
100:       end

Returns true if the current page is the first page

[Source]

     # File lib/sequel/extensions/pagination.rb, line 113
113:       def first_page?
114:         current_page == 1
115:       end

Returns true if the current page is the last page

[Source]

     # File lib/sequel/extensions/pagination.rb, line 118
118:       def last_page?
119:         current_page == page_count
120:       end

Returns the next page number or nil if the current page is the last page

[Source]

     # File lib/sequel/extensions/pagination.rb, line 123
123:       def next_page
124:         current_page < page_count ? (current_page + 1) : nil
125:       end

The number of pages in the dataset before pagination, of which this paginated dataset is one. Empty datasets are considered to have a single page.

[Source]

    # File lib/sequel/extensions/pagination.rb, line 78
78:       def page_count
79:         @opts[:page_count]
80:       end

Returns the page range

[Source]

     # File lib/sequel/extensions/pagination.rb, line 128
128:       def page_range
129:         1..page_count
130:       end

The number of records per page (the final page may have fewer than this number of records).

[Source]

    # File lib/sequel/extensions/pagination.rb, line 71
71:       def page_size
72:         @opts[:page_size]
73:       end

The total number of records in the dataset before pagination.

[Source]

    # File lib/sequel/extensions/pagination.rb, line 88
88:       def pagination_record_count
89:         @opts[:pagination_record_count]
90:       end

Returns the previous page number or nil if the current page is the first

[Source]

     # File lib/sequel/extensions/pagination.rb, line 133
133:       def prev_page
134:         current_page > 1 ? (current_page - 1) : nil
135:       end

[Validate]