fish0 0.0.11 → 0.0.12

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
  SHA1:
3
- metadata.gz: 68ad008f501706091d3cf602b636333982e72320
4
- data.tar.gz: 148e3cd7a84c008d4e5e2a6a494457c95906e030
3
+ metadata.gz: 048704aaeb4383c08255111e8b66d8273daea0c7
4
+ data.tar.gz: 4a74e88910112b37d4f17f8f8750fbf8a006e1b4
5
5
  SHA512:
6
- metadata.gz: b44448b52d5423bfa0f965a5fb6f35e97c9e4b0776a36ff1ea4043bc87a316d9de709237e07306fb8c2f4f3b562b4acadd528fa2f1e75095816326ec30ffba72
7
- data.tar.gz: e0a8e3441868b6c7f81bcb2e2e49ecc6cab33829b618cef0e0cfcd4a5e46a5a42d0d3ff1d9901944a3bd0489b0e0d8e98537e0103a83f9db175fae525f9e2865
6
+ metadata.gz: eeb878243f1e950b2b90f21e188aeb25156412504863964732bd54eb23785520c0543fd564110158ef3fb03bd364664e0b36c79169e5cf59e1805a616a17811c
7
+ data.tar.gz: ce76dc82914d6dbec6d6021a762e1c9ca6385da183d3f6d49bf4e621a71a02603105f8852dafc2a9294ddee61223c57537c48a2278759efe9d3af135ea057273
@@ -1,14 +1,14 @@
1
1
  module Fish0
2
2
  class Paginator
3
3
  include Enumerable
4
- delegate :each, :all, :skip, :limit, :padding, to: :collection
4
+ delegate :each, :all, :skip, :limit, :padding, :fetch, to: :collection
5
5
 
6
6
  attr_reader :collection
7
7
 
8
8
  def initialize(collection, page_number: 1, per_page: 22, padding: 0)
9
9
  @collection = collection || (raise ArgumentError)
10
10
  @per = per_page
11
- @page = page_number - 1
11
+ @page = page_number
12
12
  @padding = padding
13
13
  per(per_page)
14
14
  page(page_number)
@@ -16,13 +16,13 @@ module Fish0
16
16
 
17
17
  def page(value = @page)
18
18
  @page = value
19
- skip(@page * @per + @padding)
19
+ skip((@page - 1) * @per + @padding)
20
20
  self
21
21
  end
22
22
 
23
23
  def per(value = @per)
24
24
  @per = value
25
- skip(@page * @per + @padding)
25
+ skip((@page - 1) * @per + @padding)
26
26
  limit(@per)
27
27
  self
28
28
  end
@@ -33,5 +33,21 @@ module Fish0
33
33
  skip
34
34
  self
35
35
  end
36
+
37
+ def total
38
+ collection.count
39
+ end
40
+
41
+ def current_page
42
+ @page
43
+ end
44
+
45
+ def pages
46
+ (total.to_f / @per).ceil
47
+ end
48
+
49
+ def last_page?
50
+ current_page >= pages
51
+ end
36
52
  end
37
53
  end
data/lib/fish0/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Fish0
2
- VERSION = '0.0.11'.freeze
2
+ VERSION = '0.0.12'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fish0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Zuev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-07 00:00:00.000000000 Z
11
+ date: 2016-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport