will_paginate 3.1.1 → 3.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|