module Filemaker::Model::Pagination
Public Instance Methods
__page()
click to toggle source
A simple getter to retrieve the current page value. If no one set it up through the `page(4)` way, then at least it defaults to 1.
# File lib/filemaker/model/pagination.rb, line 20 def __page @_page || 1 end
__per()
click to toggle source
A simple getter to retrieve the limit value. It will default to Model.per_page
Will have stacklevel too deep if we have `per(nil)`. Somehow, the `per_page` must be set either at the `Model.per_page`, `Kaminari.config.default_per_page`, or right here where I just throw a 25 value at it.
# File lib/filemaker/model/pagination.rb, line 31 def __per per(klass.per_page || 25) unless limit? options[:max] end
page(value)
click to toggle source
Calling `page` will trigger pagination.
# File lib/filemaker/model/pagination.rb, line 5 def page(value) value = 1 if value.nil? chains << :page @_page = positive_page(value.to_i) update_skip all end
per(value)
click to toggle source
# File lib/filemaker/model/pagination.rb, line 13 def per(value) limit(value) update_skip end
positive_page(page)
click to toggle source
# File lib/filemaker/model/pagination.rb, line 42 def positive_page(page) return 1 if page.nil? || !page.is_a?(Integer) page.positive? ? page : 1 end
update_skip()
click to toggle source
# File lib/filemaker/model/pagination.rb, line 36 def update_skip skip = (__page - 1) * __per skip(skip) unless skip.zero? self end