upfluence-utils 0.5.7 → 0.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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