Module: Pageable::ActiveRecord::Base::ClassMethods

Defined in:
lib/pageable/active_record/base.rb

Instance Method Summary collapse

Instance Method Details

#default_per_page(value = nil) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/pageable/active_record/base.rb', line 21

def default_per_page(value=nil)
  unless value.nil?
    value = [value.to_i, 1].max
    @default_per_page = value
  end
  defined?(@default_per_page).nil? ? Rails.application.config.pagination.default_per_page : @default_per_page 
end

#inherited(subclass) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/pageable/active_record/base.rb', line 8

def inherited(subclass)
  subclass.class_eval do
    if superclass == ::ActiveRecord::Base
      scope :page, ->(number) {
        limit(default_per_page).offset(default_per_page * ([number.to_i, 1].max - 1))
      } do
        include Pageable::ActiveRecord::Relation
      end
    end
  end
  super
end