upfluence-utils 0.5.7 → 0.5.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2214079a09310bf768cd1cec5c981ce1d2b5af2f1b86d0f2272f58d02f80b3b7
4
- data.tar.gz: fb06eb78e675b30979b1222d1f985179820748d771fe165000a399ac14d18fe8
3
+ metadata.gz: 5aca5497f9e9c16ca3caa95ca61249e44716015822eaa71ae808c2567b74461c
4
+ data.tar.gz: 74d09800e81c2c20ab0bd76ae0acc685bcd09bda39c0eaacdc5d44730f53b6ef
5
5
  SHA512:
6
- metadata.gz: 413550dc813e69892ff3aa277d607f112b18c822ddde4942bcdacf418afd0a0489e6f84661968721423bb0bb1c78b9abdb8d54d48b4fbee9053b678e204a3825
7
- data.tar.gz: 40c60381d27e31f7590b631849efc48eba04521cc39fe4a62bfd497657bf4890e8a33f29b614309ee0b3ee0c65ff7b8bcb651f7072c404b0125f377b35655edc
6
+ metadata.gz: f8147e189a52bf8e68b50de677359883c24300db1149c5bc10e4d260b7807ec5da007c90beb44beff73940bf785edabc6951dd691a843082e344fe4d8139ee6b
7
+ data.tar.gz: 1528acc5f534b6756e5d601a56694e896a07cd69e51cc8584a80e20e3f015900a3c6b0281577fe721fabbc6afa71484ba157d59b2dc51bf6f2a5714b27a85d11
@@ -3,6 +3,7 @@ module Upfluence
3
3
  module Pagination
4
4
  DEFAULT_PAGE = 1
5
5
  DEFAULT_PER_PAGE = 12
6
+ MAX_PER_PAGE = 200
6
7
 
7
8
  def paginated_model
8
9
  raise NotImplementedError
@@ -28,9 +29,23 @@ module Upfluence
28
29
 
29
30
  def per_page
30
31
  [
31
- params[:per_page].to_i,
32
- methods.include?(:default_per_page) ? default_per_page : DEFAULT_PER_PAGE
33
- ].max
32
+ [0, guess_per_page].max,
33
+ MAX_PER_PAGE
34
+ ].min
35
+ end
36
+
37
+ def guess_per_page
38
+ return params[:per_page].to_i if params[:per_page].present?
39
+
40
+ return default_per_page if methods.include?(:default_per_page)
41
+
42
+ DEFAULT_PER_PAGE
43
+ end
44
+
45
+ def total_pages
46
+ return paginated_total if per_page <= 1
47
+
48
+ (paginated_total.to_f / per_page.to_f).ceil
34
49
  end
35
50
 
36
51
  def respond_with_pagination(args = {})
@@ -39,7 +54,7 @@ module Upfluence
39
54
  args.merge(
40
55
  meta: {
41
56
  total: paginated_total,
42
- total_pages: (paginated_total.to_f / per_page.to_f).ceil,
57
+ total_pages: total_pages,
43
58
  per_page: per_page
44
59
  }
45
60
  ) { |_, x, y| x.merge(y) }
@@ -1,5 +1,5 @@
1
1
  module Upfluence
2
2
  module Utils
3
- VERSION = '0.5.7'.freeze
3
+ VERSION = '0.5.8'.freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: upfluence-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.7
4
+ version: 0.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Upfluence
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-13 00:00:00.000000000 Z
11
+ date: 2018-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler