krunaldo-dm-pagination 0.2.0.0 → 0.3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/dm-pagination/pagination.rb +11 -4
  2. metadata +1 -1
@@ -3,20 +3,27 @@ module DmPagination
3
3
  def initialize(collection, options)
4
4
  @page = (options[:page] || 1).to_i
5
5
  @per_page = (options[:per_page] || 10).to_i
6
+ @reverse = true if options[:reverse]
6
7
  @proxy_collection = collection
8
+ @offset = offset
9
+ @num_pages = (@proxy_collection.count + @per_page - 1) / @per_page
7
10
  @collection = collection.all(
8
- :offset => (@page - 1)*@per_page, :limit => @per_page)
9
- @num_pages = num_pages
11
+ :offset => @offset , :limit => @per_page)
10
12
  end
11
13
 
12
14
  def page
13
15
  @page
14
16
  end
15
17
 
16
- def num_pages
17
- (@proxy_collection.count + @per_page - 1) / @per_page
18
+ def offset
19
+ if @reverse
20
+ (@page - @numpages)*@per_page
21
+ else
22
+ (@page - 1)*@per_page
23
+ end
18
24
  end
19
25
 
26
+
20
27
  def pages(window = 5, left = 2, right = 2)
21
28
  return [] if @num_pages <= 1
22
29
  (1..@num_pages).inject([]) do |result, i|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: krunaldo-dm-pagination
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0.0
4
+ version: 0.3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Takiuchi