Sha256: fa8e443b1fadd6c0cbd1f0ea0652e02890ed8701f6204e32b6df81f43be42430
Contents?: true
Size: 1.11 KB
Versions: 3
Compression:
Stored size: 1.11 KB
Contents
module Kaminari module ActiveRecordRelationMethods extend ActiveSupport::Concern module InstanceMethods # a workaround for AR 3.0.x that returns 0 for #count when page > 1 # if +limit_value+ is specified, load all the records and count them if ActiveRecord::VERSION::STRING < '3.1' def count #:nodoc: limit_value ? length : super end end def total_count #:nodoc: # #count overrides the #select which could include generated columns referenced in #order, so skip #order here, where it's irrelevant to the result anyway c = except(:offset, :limit, :order) # a workaround for 3.1.beta1 bug. see: https://github.com/rails/rails/issues/406 c = c.reorder nil # Remove includes only if they are irrelevant c = c.except(:includes) unless references_eager_loaded_tables? # Allow to override default count behaviour c = c.respond_to?(:smart_count) ? c.smart_count : c.count # .group returns an OrderdHash that responds to #count c.respond_to?(:count) ? c.count : c end end end end
Version data entries
3 entries across 3 versions & 1 rubygems