From 1fc1707acfb4cfb4c759f0039047502f947e0d41 Mon Sep 17 00:00:00 2001 From: Yuki Nishijima Date: Fri, 26 Dec 2014 04:29:16 -0800 Subject: [PATCH] Prefer to use `if`s over Array#max for performance https://gist.github.com/yuki24/e8d89597efa0fbdfe775 --- lib/kaminari/models/active_record_model_extension.rb | 2 +- lib/kaminari/models/array_extension.rb | 2 +- lib/kaminari/models/mongoid_extension.rb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/kaminari/models/active_record_model_extension.rb b/lib/kaminari/models/active_record_model_extension.rb index e4c8c8f..53333da 100644 --- a/lib/kaminari/models/active_record_model_extension.rb +++ b/lib/kaminari/models/active_record_model_extension.rb @@ -11,7 +11,7 @@ module Kaminari # Model.page(5) eval <<-RUBY def self.#{Kaminari.config.page_method_name}(num = nil) - limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1)).extending do + limit(default_per_page).offset(default_per_page * ((num = num.to_i - 1) < 0 ? 0 : num)).extending do include Kaminari::ActiveRecordRelationMethods include Kaminari::PageScopeMethods end diff --git a/lib/kaminari/models/array_extension.rb b/lib/kaminari/models/array_extension.rb index b7c0816..de01672 100644 --- a/lib/kaminari/models/array_extension.rb +++ b/lib/kaminari/models/array_extension.rb @@ -35,7 +35,7 @@ module Kaminari # items at the specified "page" class_eval <<-RUBY, __FILE__, __LINE__ + 1 def #{Kaminari.config.page_method_name}(num = 1) - offset(limit_value * ([num.to_i, 1].max - 1)) + offset(limit_value * ((num = num.to_i - 1) < 0 ? 0 : num)) end RUBY diff --git a/lib/kaminari/models/mongoid_extension.rb b/lib/kaminari/models/mongoid_extension.rb index 6af213a..d6fdedd 100644 --- a/lib/kaminari/models/mongoid_extension.rb +++ b/lib/kaminari/models/mongoid_extension.rb @@ -8,7 +8,7 @@ module Kaminari included do scope Kaminari.config.page_method_name, Proc.new {|num| - limit(default_per_page).offset(default_per_page * ([num.to_i, 1].max - 1)) + limit(default_per_page).offset(default_per_page * ((num = num.to_i - 1) < 0 ? 0 : num)) } do include Kaminari::MongoidCriteriaMethods include Kaminari::PageScopeMethods