class Ckeditor::Paginatable
Simple paginate relation
def current_page
def current_page offset = (offset_value < 0 ? 0 : offset_value) (offset / limit_value) + 1 end
def first_page?
def first_page? current_page == 1 end
def initialize(scope, options = {})
def initialize(scope, options = {}) @scope = scope @limit_value = (options[:limit] || Ckeditor.default_per_page).to_i end
def last_page?
def last_page? current_page >= total_pages end
def next_page
def next_page current_page + 1 unless last_page? end
def page(num = 1)
def page(num = 1) @offset_value = limit_value * ([num.to_i, 1].max - 1) self end
def prev_page
def prev_page current_page - 1 unless first_page? end
def scoped
def scoped @scope.limit(limit_value).offset(offset_value) end
def total_count
def total_count @total_count ||= @scope.count end
def total_pages
def total_pages (total_count.to_f / limit_value).ceil end