Skip to content

Commit 2a546ed

Browse files
committed
Cleanup
Signed-off-by: David Celis <[email protected]>
1 parent 05bd2cd commit 2a546ed

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

lib/api-pagination.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,29 @@ class << self
55
attr_reader :paginator
66

77
def paginate(collection, options = {})
8-
options[:page] ||= 1
8+
options[:page] = options[:page].to_i
9+
options[:page] = 1 if options[:page] <= 0
10+
options[:per_page] = options[:per_page].to_i
911

1012
case ApiPagination.paginator
1113
when :kaminari
12-
options[:per_page] = (options[:per_page].to_i <= 0 ? Kaminari.config.default_per_page : options[:per_page])
13-
options[:per_page] = (options[:per_page].to_i > Kaminari.config.max_per_page ? Kaminari.config.max_per_page : options[:per_page]) if Kaminari.config.max_per_page
14+
if Kaminari.config.max_per_page && options[:per_page] > Kaminari.config.max_per_page
15+
options[:per_page] = Kaminari.config.max_per_page
16+
elsif options[:per_page] <= 0
17+
options[:per_page] = Kaminari.config.default_per_page
18+
end
1419
collection = Kaminari.paginate_array(collection) if collection.is_a?(Array)
1520
collection.page(options[:page]).per(options[:per_page])
1621
when :will_paginate
17-
options[:per_page] = (options[:per_page].to_i <= 0 ? WillPaginate.per_page : options[:per_page])
22+
options[:per_page] = WillPaginate.per_page if options[:per_page] <= 0
23+
1824
if defined?(Sequel::Dataset) && collection.kind_of?(Sequel::Dataset)
1925
collection.paginate(options[:page], options[:per_page])
2026
else
2127
collection.paginate(:page => options[:page], :per_page => options[:per_page])
2228
end
2329
else
24-
fail StandardError, "Unknown paginator: #{ApiPagination.paginator}"
30+
raise StandardError, "Unknown paginator: #{ApiPagination.paginator}"
2531
end
2632
end
2733

0 commit comments

Comments
 (0)