pagy 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pagy.rb +4 -4
- data/lib/pagy/extras/initializer_example.rb +10 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac035613ae9e5c82b9d358f4e88f6d04dbad6bf665e58e9d24fbcbbc62038064
|
4
|
+
data.tar.gz: 0216c586e299a80f12a390726ff6246f18e251b3a3d7903faab91f295b2b40de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fdc2a76ae6492bf5d983ffb7899805d51c3b17e083742ad6f19c1d9f2c854dd47cb685ce018590ec0482ba62fac30957eccfe9f49b8921e4cd612f60aa3d8a52
|
7
|
+
data.tar.gz: 335243eccb83babf430f3d63a899384e01f01d05d6229775742157c873f08579783aec0136e52e5b591801a0154a2b358af3df758ff0417666b8adae96eab35a
|
data/lib/pagy.rb
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
require 'pathname'
|
4
4
|
|
5
|
-
class Pagy ; VERSION = '0.9.
|
5
|
+
class Pagy ; VERSION = '0.9.1'
|
6
6
|
|
7
|
-
class OutOfRangeError < StandardError; end
|
7
|
+
class OutOfRangeError < StandardError; attr_reader :pagy; def initialize(pagy) @pagy = pagy end; end
|
8
8
|
|
9
9
|
# Root pathname to get the path of Pagy files like templates or dictionaries
|
10
10
|
def self.root; Pathname.new(__FILE__).dirname end
|
11
11
|
|
12
12
|
# default vars
|
13
|
-
VARS = { page:1, items:20, outset:0, size:[1,4,4,1], page_param: :page, params:
|
13
|
+
VARS = { page:1, items:20, outset:0, size:[1,4,4,1], page_param: :page, params:{}, anchor:''.freeze, link_extra:''.freeze, item_path:'pagy.info.item_name'.freeze }
|
14
14
|
|
15
15
|
attr_reader :count, :page, :items, :vars, :pages, :last, :offset, :from, :to, :prev, :next
|
16
16
|
|
@@ -22,7 +22,7 @@ class Pagy ; VERSION = '0.9.0'
|
|
22
22
|
or raise(ArgumentError, "expected :#{k} >= #{min}; got #{instance_variable_get(:"@#{k}").inspect}")
|
23
23
|
end
|
24
24
|
@pages = @last = [(@count.to_f / @items).ceil, 1].max # cardinal and ordinal meanings
|
25
|
-
@page >= 1 && @page <= @last or raise(OutOfRangeError, "expected :page in 1..#{@last}; got #{@page.inspect}")
|
25
|
+
@page >= 1 && @page <= @last or raise(OutOfRangeError.new(self), "expected :page in 1..#{@last}; got #{@page.inspect}")
|
26
26
|
@offset = @items * (@page - 1) + @outset # pagination offset + outset (initial offset)
|
27
27
|
@items = @count - ((@pages-1) * @items) if @page == @last # adjust items for last page
|
28
28
|
@from = @count == 0 ? 0 : @offset+1 - @outset # page begins from item
|
@@ -35,13 +35,16 @@
|
|
35
35
|
|
36
36
|
|
37
37
|
# Pagy Variables
|
38
|
-
#
|
39
|
-
#
|
38
|
+
# See https://ddnexus.github.io/pagy/api/pagy#variables
|
39
|
+
# All the Pagy::VARS are set for all the Pagy instances but can be overridden
|
40
|
+
# per instance by just passing them to Pagy.new or the #pagy controller method
|
40
41
|
|
41
|
-
# Instance variables
|
42
|
+
# Instance variables
|
43
|
+
# See https://ddnexus.github.io/pagy/api/pagy#instance-variables
|
42
44
|
# Pagy::VARS[:items] = 20 # default
|
43
45
|
|
44
|
-
# Other Variables
|
46
|
+
# Other Variables
|
47
|
+
# See https://ddnexus.github.io/pagy/api/pagy#other-variables
|
45
48
|
# Pagy::VARS[:size] = [1,4,4,1] # default
|
46
49
|
# Pagy::VARS[:page_param] = :page # default
|
47
50
|
# Pagy::VARS[:params] = {} # default
|
@@ -49,12 +52,13 @@
|
|
49
52
|
# Pagy::VARS[:link_extra] = 'data-remote="true"' # example
|
50
53
|
# Pagy::VARS[:item_path] = 'activerecord.models.product' # example
|
51
54
|
|
55
|
+
|
52
56
|
# Pagy::Frontend::I18N Constant
|
53
57
|
# See https://ddnexus.github.io/pagy/api/frontend#i18n
|
54
58
|
# Pagy::Frontend::I18N[:plurals] = -> (c) {([:zero, :one][c] || :other).to_s # default
|
55
59
|
# Pagy::Frontend::I18N.load_file('path/to/dictionary.yml') # load a custom file
|
56
60
|
|
57
61
|
|
58
|
-
# Rails: extras assets path required by compact, items
|
59
|
-
# See https://ddnexus.github.io/pagy/extras
|
62
|
+
# Rails: extras assets path required by compact, items and responsive extras
|
63
|
+
# See https://ddnexus.github.io/pagy/extras
|
60
64
|
# Rails.application.config.assets.paths << Pagy.root.join('pagy', 'extras', 'javascripts')
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Domizio Demichelis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-06-
|
11
|
+
date: 2018-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: 'Agnostic pagination in plain ruby: it works with any framework, ORM
|
14
14
|
and DB type, with all kinds of collections, even pre-paginated, scopes, Arrays,
|