will_paginate 3.1.1 → 3.1.5
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 +4 -4
- data/lib/will_paginate/railtie.rb +13 -9
- data/lib/will_paginate/version.rb +1 -1
- data/lib/will_paginate/view_helpers/action_view.rb +1 -1
- data/lib/will_paginate/view_helpers/link_renderer.rb +6 -7
- data/lib/will_paginate/view_helpers/link_renderer_base.rb +1 -1
- data/spec/view_helpers/action_view_spec.rb +13 -5
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5b9c92a0ce3f9e697334ea1bf11c0b57bdfd9fe2
|
4
|
+
data.tar.gz: b2794b2de86ceaa34f86d06f2c1952484b5409f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe7a7e48c35bda6cd6648f5243f3992ebe576f586afd5d140066fa05ecdd83862681245f44e554f5483e5dc4fe9f957e3b84b6208cc91a8e1dd1804c8593a49b
|
7
|
+
data.tar.gz: 5c388ced4fd0b8ad3da2ce6c5e9b2323b4cff1b950fdf3b35cc6e148b1e12509e8b6c0b83156b483d1a732ce4fe2497a4c09553b2650775cc922803699bf4347
|
@@ -18,8 +18,6 @@ module WillPaginate
|
|
18
18
|
require 'will_paginate/view_helpers/action_view'
|
19
19
|
end
|
20
20
|
|
21
|
-
self.class.add_locale_path config
|
22
|
-
|
23
21
|
# early access to ViewHelpers.pagination_options
|
24
22
|
require 'will_paginate/view_helpers'
|
25
23
|
end
|
@@ -31,10 +29,6 @@ module WillPaginate
|
|
31
29
|
ActionController::Base.extend ControllerRescuePatch
|
32
30
|
end
|
33
31
|
|
34
|
-
def self.add_locale_path(config)
|
35
|
-
config.i18n.load_path.unshift(*WillPaginate::I18n.load_path)
|
36
|
-
end
|
37
|
-
|
38
32
|
# Extending the exception handler middleware so it properly detects
|
39
33
|
# WillPaginate::InvalidPage regardless of it being a tag module.
|
40
34
|
module ShowExceptionsPatch
|
@@ -44,9 +38,15 @@ module WillPaginate
|
|
44
38
|
alias_method :status_code, :status_code_with_paginate
|
45
39
|
end
|
46
40
|
def status_code_with_paginate(exception = @exception)
|
47
|
-
if exception.
|
48
|
-
|
49
|
-
|
41
|
+
actual_exception = if exception.respond_to?(:cause)
|
42
|
+
exception.cause
|
43
|
+
elsif exception.respond_to?(:original_exception)
|
44
|
+
exception.original_exception
|
45
|
+
else
|
46
|
+
exception
|
47
|
+
end
|
48
|
+
|
49
|
+
if actual_exception.is_a?(WillPaginate::InvalidPage)
|
50
50
|
Rack::Utils.status_code(:not_found)
|
51
51
|
else
|
52
52
|
original_method = method(:status_code_without_paginate)
|
@@ -69,3 +69,7 @@ module WillPaginate
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
72
|
+
|
73
|
+
ActiveSupport.on_load :i18n do
|
74
|
+
I18n.load_path.concat(WillPaginate::I18n.load_path)
|
75
|
+
end
|
@@ -41,10 +41,10 @@ module WillPaginate
|
|
41
41
|
protected
|
42
42
|
|
43
43
|
def page_number(page)
|
44
|
-
|
45
|
-
link(page, page, :rel => rel_value(page))
|
46
|
-
else
|
44
|
+
if page == current_page
|
47
45
|
tag(:em, page, :class => 'current')
|
46
|
+
else
|
47
|
+
link(page, page, :rel => rel_value(page))
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
@@ -108,19 +108,18 @@ module WillPaginate
|
|
108
108
|
|
109
109
|
def rel_value(page)
|
110
110
|
case page
|
111
|
-
when @collection.current_page - 1; 'prev'
|
111
|
+
when @collection.current_page - 1; 'prev'
|
112
112
|
when @collection.current_page + 1; 'next'
|
113
|
-
when 1; 'start'
|
114
113
|
end
|
115
114
|
end
|
116
115
|
|
117
116
|
def symbolized_update(target, other, blacklist = nil)
|
118
|
-
other.
|
117
|
+
other.each_pair do |key, value|
|
119
118
|
key = key.to_sym
|
120
119
|
existing = target[key]
|
121
120
|
next if blacklist && blacklist.include?(key)
|
122
121
|
|
123
|
-
if value.
|
122
|
+
if value.respond_to?(:each_pair) and (existing.is_a?(Hash) or existing.nil?)
|
124
123
|
symbolized_update(existing || (target[key] = {}), value)
|
125
124
|
else
|
126
125
|
target[key] = value
|
@@ -30,7 +30,7 @@ module WillPaginate
|
|
30
30
|
window_from = current_page - inner_window
|
31
31
|
window_to = current_page + inner_window
|
32
32
|
|
33
|
-
# adjust lower or upper limit if
|
33
|
+
# adjust lower or upper limit if either is out of bounds
|
34
34
|
if window_to > total_pages
|
35
35
|
window_from -= window_to - total_pages
|
36
36
|
window_to = total_pages
|
@@ -80,9 +80,9 @@ describe WillPaginate::ActionView do
|
|
80
80
|
validate_page_numbers [1,1,3,3], elements
|
81
81
|
# test rel attribute values:
|
82
82
|
text(elements[0]).should == 'Prev'
|
83
|
-
elements[0]['rel'].should == 'prev
|
83
|
+
elements[0]['rel'].should == 'prev'
|
84
84
|
text(elements[1]).should == '1'
|
85
|
-
elements[1]['rel'].should == 'prev
|
85
|
+
elements[1]['rel'].should == 'prev'
|
86
86
|
text(elements[3]).should == 'Next'
|
87
87
|
elements[3]['rel'].should == 'next'
|
88
88
|
end
|
@@ -203,7 +203,7 @@ describe WillPaginate::ActionView do
|
|
203
203
|
end
|
204
204
|
|
205
205
|
it "doesn't allow tampering with script_name" do
|
206
|
-
request.params :script_name => 'p0wned'
|
206
|
+
request.params :script_name => 'p0wned', :original_script_name => 'p0wned'
|
207
207
|
paginate
|
208
208
|
assert_links_match %r{^/foo/bar}
|
209
209
|
assert_no_links_match /p0wned/
|
@@ -416,7 +416,7 @@ class DummyRequest
|
|
416
416
|
def initialize(controller)
|
417
417
|
@controller = controller
|
418
418
|
@get = true
|
419
|
-
@params = {}
|
419
|
+
@params = {}.with_indifferent_access
|
420
420
|
@symbolized_path_parameters = { :controller => 'foo', :action => 'bar' }
|
421
421
|
end
|
422
422
|
|
@@ -442,7 +442,11 @@ class DummyRequest
|
|
442
442
|
|
443
443
|
def params(more = nil)
|
444
444
|
@params.update(more) if more
|
445
|
-
|
445
|
+
if defined?(ActionController::Parameters)
|
446
|
+
ActionController::Parameters.new(@params)
|
447
|
+
else
|
448
|
+
@params
|
449
|
+
end
|
446
450
|
end
|
447
451
|
|
448
452
|
def host_with_port
|
@@ -458,3 +462,7 @@ class DummyRequest
|
|
458
462
|
'http:'
|
459
463
|
end
|
460
464
|
end
|
465
|
+
|
466
|
+
if defined?(ActionController::Parameters)
|
467
|
+
ActionController::Parameters.permit_all_parameters = false
|
468
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: will_paginate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.
|
4
|
+
version: 3.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mislav Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: will_paginate provides a simple API for performing paginated queries
|
14
14
|
with Active Record, DataMapper and Sequel, and includes helpers for rendering pagination
|