kaminari--kaminari/kaminari-activerecord/lib/kaminari/activerecord/active_record_model_extensi...

26 lines
794 B
Ruby

# frozen_string_literal: true
require 'kaminari/activerecord/active_record_relation_methods'
module Kaminari
module ActiveRecordModelExtension
extend ActiveSupport::Concern
included do
include Kaminari::ConfigurationMethods
# Fetch the values at the specified page number
# Model.page(5)
eval <<-RUBY, nil, __FILE__, __LINE__ + 1
def self.#{Kaminari.config.page_method_name}(num = nil)
per_page = max_per_page && (default_per_page > max_per_page) ? max_per_page : default_per_page
limit(per_page).offset(per_page * ((num = num.to_i - 1) < 0 ? 0 : num)).extending do
include Kaminari::ActiveRecordRelationMethods
include Kaminari::PageScopeMethods
end
end
RUBY
end
end
end