peiji-san 0.1.1 → 1.0.0
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.
- data/README.rdoc +25 -5
- data/TODO +0 -1
- data/VERSION.yml +4 -3
- data/{rails/init.rb → init.rb} +0 -0
- data/lib/peiji_san/view_helper.rb +8 -8
- data/lib/peiji_san.rb +28 -32
- data/rdoc/classes/PeijiSan/PaginationMethods.html +344 -0
- data/rdoc/classes/PeijiSan/ViewHelper.html +303 -0
- data/rdoc/classes/PeijiSan.html +306 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/LICENSE.html +129 -0
- data/rdoc/files/README_rdoc.html +157 -0
- data/rdoc/files/lib/peiji_san/view_helper_rb.html +101 -0
- data/rdoc/files/lib/peiji_san_rb.html +133 -0
- data/rdoc/fr_class_index.html +29 -0
- data/rdoc/fr_file_index.html +30 -0
- data/rdoc/fr_method_index.html +39 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/test/peiji_san_test.rb +23 -24
- data/test/test_helper.rb +8 -35
- data/test/view_helper_test.rb +18 -14
- metadata +34 -8
data/README.rdoc
CHANGED
@@ -1,22 +1,42 @@
|
|
1
1
|
= Peiji-San
|
2
2
|
|
3
|
-
Peiji-San uses
|
3
|
+
Peiji-San uses scopes to create a thin pagination layer.
|
4
4
|
|
5
|
-
|
5
|
+
We try to stay out of the way of your application as much as possible. That's
|
6
|
+
why you need to include Peiji in the places where you actually use it.
|
6
7
|
|
7
8
|
class Member < ActiveRecord::Base
|
8
9
|
extend PeijiSan
|
9
10
|
self.entries_per_page = 32
|
10
11
|
end
|
11
12
|
|
12
|
-
|
13
|
+
After that a special extended scope is defined on the model and you will be
|
14
|
+
able to select a collection that contains only records on that page.
|
13
15
|
|
14
16
|
@collection = Member.active.page(2)
|
15
17
|
|
16
|
-
|
18
|
+
In the view you can either build your own links to the pages or you can use
|
19
|
+
the helpers shipped with Peiji. Like with the model extension the view
|
20
|
+
helpers aren't defined by default, you will need to include them in another
|
21
|
+
helper class.
|
22
|
+
|
23
|
+
class ApplicationHelper
|
24
|
+
include PeijiSan::ViewHelper
|
25
|
+
end
|
26
|
+
|
27
|
+
After that the helpers will be usable in your view.
|
17
28
|
|
18
29
|
<% if @collection.page_count > 1 %>
|
19
|
-
<% pages_to_link_to(@collection).each do |page %>
|
30
|
+
<% pages_to_link_to(@collection).each do |page| %>
|
20
31
|
<%= page.is_a?(String) ? page : link_to_page(page, @collection) %>
|
21
32
|
<% end %>
|
22
33
|
<% end %>
|
34
|
+
|
35
|
+
== Rails 2.3 and earlier
|
36
|
+
|
37
|
+
The latest version of Peiji only works in Rails 3 because of extensive
|
38
|
+
changes to the scope API. However, earlier version work just fine in
|
39
|
+
Rails 2.3. Rails 3 support starts at version 1.0, so put the following
|
40
|
+
in environment.rb:
|
41
|
+
|
42
|
+
config.gem "peiji-san", :lib => "peiji_san", :version => "< 1.0"
|
data/TODO
CHANGED
data/VERSION.yml
CHANGED
data/{rails/init.rb → init.rb}
RENAMED
File without changes
|
@@ -1,11 +1,13 @@
|
|
1
1
|
module PeijiSan
|
2
|
-
#
|
3
|
-
# ApplicationController, for super paginating cow powers.
|
4
|
-
#
|
5
|
-
# Optionally define the peiji_san_options method in your helper to override
|
2
|
+
# Optionally defines the peiji_san_options method in your helper to override
|
6
3
|
# the default options.
|
7
4
|
#
|
8
|
-
#
|
5
|
+
# Include the PeijiSan::ViewHelper into one of your view helpers to acquire
|
6
|
+
# PeijiSan superpowers in your view.
|
7
|
+
#
|
8
|
+
# class ApplicationHelper
|
9
|
+
# include PeijiSan::ViewHelper
|
10
|
+
# end
|
9
11
|
#
|
10
12
|
# @collection = Member.active.page(2)
|
11
13
|
#
|
@@ -17,7 +19,7 @@ module PeijiSan
|
|
17
19
|
DEFAULT_PEIJI_SAN_OPTIONS = {
|
18
20
|
# For link_to_page
|
19
21
|
:page_parameter => :page,
|
20
|
-
:anchor =>
|
22
|
+
:anchor => nil,
|
21
23
|
:current_class => :current,
|
22
24
|
# For pages_to_link_to
|
23
25
|
:max_visible => 11,
|
@@ -65,8 +67,6 @@ module PeijiSan
|
|
65
67
|
# The separator string used to indicate a range between the first or last
|
66
68
|
# page and the ones surrounding the current page.
|
67
69
|
#
|
68
|
-
# Example:
|
69
|
-
#
|
70
70
|
# collection = Model.all.page(40)
|
71
71
|
# collection.page_count # => 80
|
72
72
|
#
|
data/lib/peiji_san.rb
CHANGED
@@ -1,7 +1,5 @@
|
|
1
1
|
# Peiji-San uses named scopes to create a thin pagination layer.
|
2
2
|
#
|
3
|
-
# Example:
|
4
|
-
#
|
5
3
|
# class Member < ActiveRecord::Base
|
6
4
|
# extend PeijiSan
|
7
5
|
# self.entries_per_page = 32
|
@@ -13,16 +11,18 @@
|
|
13
11
|
#
|
14
12
|
# Which will return 32 records with an offset of 32, as that's the second page.
|
15
13
|
#
|
16
|
-
# See PeijiSan::
|
14
|
+
# See PeijiSan::PaginationMethods and PeijiSan::ViewHelper for more info.
|
17
15
|
module PeijiSan
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
16
|
+
ENTRIES_PER_PAGE = 32
|
17
|
+
|
18
|
+
# The page scope is extended with the PaginationMethods. This means that all
|
19
|
+
# methods defined on this module will be available on the resulting
|
20
|
+
# collection.
|
21
|
+
#
|
22
|
+
# collection = Member.active.page(1)
|
23
|
+
# collection.has_next_page?
|
24
|
+
module PaginationMethods
|
25
|
+
attr_accessor :current_page, :entries_per_page, :scope_without_pagination
|
26
26
|
|
27
27
|
# Returns whether or not the given page is the current page.
|
28
28
|
def current_page?(page)
|
@@ -53,13 +53,13 @@ module PeijiSan
|
|
53
53
|
|
54
54
|
# Returns the row count for all the rows that would match the current
|
55
55
|
# scope, so not only on the current page.
|
56
|
-
def
|
57
|
-
|
56
|
+
def unpaged_count
|
57
|
+
scope_without_pagination.count
|
58
58
|
end
|
59
59
|
|
60
60
|
# Returns the number of pages for the current scope.
|
61
61
|
def page_count
|
62
|
-
(
|
62
|
+
(unpaged_count.to_f / @entries_per_page).ceil
|
63
63
|
end
|
64
64
|
end
|
65
65
|
|
@@ -67,7 +67,7 @@ module PeijiSan
|
|
67
67
|
#
|
68
68
|
# class Member < ActiveRecord::Base
|
69
69
|
# extend PeijiSan
|
70
|
-
# entries_per_page 32
|
70
|
+
# self.entries_per_page = 32
|
71
71
|
# end
|
72
72
|
def entries_per_page=(entries)
|
73
73
|
@entries_per_page = entries
|
@@ -77,7 +77,7 @@ module PeijiSan
|
|
77
77
|
#
|
78
78
|
# class Member < ActiveRecord::Base
|
79
79
|
# extend PeijiSan
|
80
|
-
# entries_per_page 32
|
80
|
+
# self.entries_per_page = 32
|
81
81
|
# end
|
82
82
|
# Member.entries_per_page #=> 32
|
83
83
|
def entries_per_page
|
@@ -90,7 +90,7 @@ module PeijiSan
|
|
90
90
|
#
|
91
91
|
# class Member < ActiveRecord::Base
|
92
92
|
# extend PeijiSan
|
93
|
-
# entries_per_page 32
|
93
|
+
# self.entries_per_page = 32
|
94
94
|
# end
|
95
95
|
#
|
96
96
|
# This adds <tt>{ :limit => 32, :offset => 0 }</tt> to the scope:
|
@@ -105,20 +105,16 @@ module PeijiSan
|
|
105
105
|
# second argument:
|
106
106
|
#
|
107
107
|
# Member.page(2, 5) # Page 2, 5 entries
|
108
|
-
def page(page, entries_per_page
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
#
|
120
|
-
# Member.respond_to? :page # => true
|
121
|
-
def self.extended(klass)
|
122
|
-
klass.scopes[:page] = lambda { |parent_scope, *args| PageScope.new(parent_scope, :page => args[0], :entries_per_page => args[1] || klass.entries_per_page) }
|
108
|
+
def page(page, entries_per_page=nil)
|
109
|
+
page = page.blank? ? 1 : page.to_i
|
110
|
+
entries_per_page = entries_per_page || self.entries_per_page || ENTRIES_PER_PAGE
|
111
|
+
|
112
|
+
entries = scoped
|
113
|
+
entries.extend(PeijiSan::PaginationMethods)
|
114
|
+
entries.current_page = page
|
115
|
+
entries.entries_per_page = entries_per_page
|
116
|
+
entries.scope_without_pagination = scoped
|
117
|
+
|
118
|
+
entries.limit(entries_per_page).offset((page - 1) * entries_per_page)
|
123
119
|
end
|
124
120
|
end
|
@@ -0,0 +1,344 @@
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<!DOCTYPE html
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
5
|
+
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
7
|
+
<head>
|
8
|
+
<title>Module: PeijiSan::PaginationMethods</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
12
|
+
<script type="text/javascript">
|
13
|
+
// <![CDATA[
|
14
|
+
|
15
|
+
function popupCode( url ) {
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
17
|
+
}
|
18
|
+
|
19
|
+
function toggleCode( id ) {
|
20
|
+
if ( document.getElementById )
|
21
|
+
elem = document.getElementById( id );
|
22
|
+
else if ( document.all )
|
23
|
+
elem = eval( "document.all." + id );
|
24
|
+
else
|
25
|
+
return false;
|
26
|
+
|
27
|
+
elemStyle = elem.style;
|
28
|
+
|
29
|
+
if ( elemStyle.display != "block" ) {
|
30
|
+
elemStyle.display = "block"
|
31
|
+
} else {
|
32
|
+
elemStyle.display = "none"
|
33
|
+
}
|
34
|
+
|
35
|
+
return true;
|
36
|
+
}
|
37
|
+
|
38
|
+
// Make codeblocks hidden by default
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
40
|
+
|
41
|
+
// ]]>
|
42
|
+
</script>
|
43
|
+
|
44
|
+
</head>
|
45
|
+
<body>
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
<div id="classHeader">
|
50
|
+
<table class="header-table">
|
51
|
+
<tr class="top-aligned-row">
|
52
|
+
<td><strong>Module</strong></td>
|
53
|
+
<td class="class-name-in-header">PeijiSan::PaginationMethods</td>
|
54
|
+
</tr>
|
55
|
+
<tr class="top-aligned-row">
|
56
|
+
<td><strong>In:</strong></td>
|
57
|
+
<td>
|
58
|
+
<a href="../../files/lib/peiji_san_rb.html">
|
59
|
+
lib/peiji_san.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
</td>
|
63
|
+
</tr>
|
64
|
+
|
65
|
+
</table>
|
66
|
+
</div>
|
67
|
+
<!-- banner header -->
|
68
|
+
|
69
|
+
<div id="bodyContent">
|
70
|
+
|
71
|
+
|
72
|
+
|
73
|
+
<div id="contextContent">
|
74
|
+
|
75
|
+
<div id="description">
|
76
|
+
<p>
|
77
|
+
The page scope is extended with the <a
|
78
|
+
href="PaginationMethods.html">PaginationMethods</a>. This means that all
|
79
|
+
methods defined on this module will be available on the resulting
|
80
|
+
collection.
|
81
|
+
</p>
|
82
|
+
<pre>
|
83
|
+
collection = Member.active.page(1)
|
84
|
+
collection.has_next_page?
|
85
|
+
</pre>
|
86
|
+
|
87
|
+
</div>
|
88
|
+
|
89
|
+
|
90
|
+
</div>
|
91
|
+
|
92
|
+
<div id="method-list">
|
93
|
+
<h3 class="section-bar">Methods</h3>
|
94
|
+
|
95
|
+
<div class="name-list">
|
96
|
+
<a href="#M000007">current_page?</a>
|
97
|
+
<a href="#M000008">has_next_page?</a>
|
98
|
+
<a href="#M000009">has_previous_page?</a>
|
99
|
+
<a href="#M000010">next_page</a>
|
100
|
+
<a href="#M000013">page_count</a>
|
101
|
+
<a href="#M000011">previous_page</a>
|
102
|
+
<a href="#M000012">unpaged_count</a>
|
103
|
+
</div>
|
104
|
+
</div>
|
105
|
+
|
106
|
+
</div>
|
107
|
+
|
108
|
+
|
109
|
+
<!-- if includes -->
|
110
|
+
|
111
|
+
<div id="section">
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
<div id="attribute-list">
|
118
|
+
<h3 class="section-bar">Attributes</h3>
|
119
|
+
|
120
|
+
<div class="name-list">
|
121
|
+
<table>
|
122
|
+
<tr class="top-aligned-row context-row">
|
123
|
+
<td class="context-item-name">current_page</td>
|
124
|
+
<td class="context-item-value"> [RW] </td>
|
125
|
+
<td class="context-item-desc"></td>
|
126
|
+
</tr>
|
127
|
+
<tr class="top-aligned-row context-row">
|
128
|
+
<td class="context-item-name">entries_per_page</td>
|
129
|
+
<td class="context-item-value"> [RW] </td>
|
130
|
+
<td class="context-item-desc"></td>
|
131
|
+
</tr>
|
132
|
+
<tr class="top-aligned-row context-row">
|
133
|
+
<td class="context-item-name">scope_without_pagination</td>
|
134
|
+
<td class="context-item-value"> [RW] </td>
|
135
|
+
<td class="context-item-desc"></td>
|
136
|
+
</tr>
|
137
|
+
</table>
|
138
|
+
</div>
|
139
|
+
</div>
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
<!-- if method_list -->
|
144
|
+
<div id="methods">
|
145
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
146
|
+
|
147
|
+
<div id="method-M000007" class="method-detail">
|
148
|
+
<a name="M000007"></a>
|
149
|
+
|
150
|
+
<div class="method-heading">
|
151
|
+
<a href="#M000007" class="method-signature">
|
152
|
+
<span class="method-name">current_page?</span><span class="method-args">(page)</span>
|
153
|
+
</a>
|
154
|
+
</div>
|
155
|
+
|
156
|
+
<div class="method-description">
|
157
|
+
<p>
|
158
|
+
Returns whether or not the given page is the current page.
|
159
|
+
</p>
|
160
|
+
<p><a class="source-toggle" href="#"
|
161
|
+
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
162
|
+
<div class="method-source-code" id="M000007-source">
|
163
|
+
<pre>
|
164
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 30</span>
|
165
|
+
30: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_page?</span>(<span class="ruby-identifier">page</span>)
|
166
|
+
31: <span class="ruby-ivar">@current_page</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">page</span>
|
167
|
+
32: <span class="ruby-keyword kw">end</span>
|
168
|
+
</pre>
|
169
|
+
</div>
|
170
|
+
</div>
|
171
|
+
</div>
|
172
|
+
|
173
|
+
<div id="method-M000008" class="method-detail">
|
174
|
+
<a name="M000008"></a>
|
175
|
+
|
176
|
+
<div class="method-heading">
|
177
|
+
<a href="#M000008" class="method-signature">
|
178
|
+
<span class="method-name">has_next_page?</span><span class="method-args">()</span>
|
179
|
+
</a>
|
180
|
+
</div>
|
181
|
+
|
182
|
+
<div class="method-description">
|
183
|
+
<p>
|
184
|
+
Returns whether or not there is a next page for the current scope.
|
185
|
+
</p>
|
186
|
+
<p><a class="source-toggle" href="#"
|
187
|
+
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
188
|
+
<div class="method-source-code" id="M000008-source">
|
189
|
+
<pre>
|
190
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 35</span>
|
191
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_next_page?</span>
|
192
|
+
36: <span class="ruby-ivar">@current_page</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">page_count</span>
|
193
|
+
37: <span class="ruby-keyword kw">end</span>
|
194
|
+
</pre>
|
195
|
+
</div>
|
196
|
+
</div>
|
197
|
+
</div>
|
198
|
+
|
199
|
+
<div id="method-M000009" class="method-detail">
|
200
|
+
<a name="M000009"></a>
|
201
|
+
|
202
|
+
<div class="method-heading">
|
203
|
+
<a href="#M000009" class="method-signature">
|
204
|
+
<span class="method-name">has_previous_page?</span><span class="method-args">()</span>
|
205
|
+
</a>
|
206
|
+
</div>
|
207
|
+
|
208
|
+
<div class="method-description">
|
209
|
+
<p>
|
210
|
+
Returns whether or not there is a previous page for the current scope.
|
211
|
+
</p>
|
212
|
+
<p><a class="source-toggle" href="#"
|
213
|
+
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
214
|
+
<div class="method-source-code" id="M000009-source">
|
215
|
+
<pre>
|
216
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 40</span>
|
217
|
+
40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_previous_page?</span>
|
218
|
+
41: <span class="ruby-ivar">@current_page</span> <span class="ruby-operator">!=</span> <span class="ruby-value">1</span>
|
219
|
+
42: <span class="ruby-keyword kw">end</span>
|
220
|
+
</pre>
|
221
|
+
</div>
|
222
|
+
</div>
|
223
|
+
</div>
|
224
|
+
|
225
|
+
<div id="method-M000010" class="method-detail">
|
226
|
+
<a name="M000010"></a>
|
227
|
+
|
228
|
+
<div class="method-heading">
|
229
|
+
<a href="#M000010" class="method-signature">
|
230
|
+
<span class="method-name">next_page</span><span class="method-args">()</span>
|
231
|
+
</a>
|
232
|
+
</div>
|
233
|
+
|
234
|
+
<div class="method-description">
|
235
|
+
<p>
|
236
|
+
Returns the next page number if there is a next page, returns <tt>nil</tt>
|
237
|
+
otherwise.
|
238
|
+
</p>
|
239
|
+
<p><a class="source-toggle" href="#"
|
240
|
+
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
241
|
+
<div class="method-source-code" id="M000010-source">
|
242
|
+
<pre>
|
243
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 46</span>
|
244
|
+
46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">next_page</span>
|
245
|
+
47: <span class="ruby-ivar">@current_page</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">has_next_page?</span>
|
246
|
+
48: <span class="ruby-keyword kw">end</span>
|
247
|
+
</pre>
|
248
|
+
</div>
|
249
|
+
</div>
|
250
|
+
</div>
|
251
|
+
|
252
|
+
<div id="method-M000013" class="method-detail">
|
253
|
+
<a name="M000013"></a>
|
254
|
+
|
255
|
+
<div class="method-heading">
|
256
|
+
<a href="#M000013" class="method-signature">
|
257
|
+
<span class="method-name">page_count</span><span class="method-args">()</span>
|
258
|
+
</a>
|
259
|
+
</div>
|
260
|
+
|
261
|
+
<div class="method-description">
|
262
|
+
<p>
|
263
|
+
Returns the number of pages for the current scope.
|
264
|
+
</p>
|
265
|
+
<p><a class="source-toggle" href="#"
|
266
|
+
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
267
|
+
<div class="method-source-code" id="M000013-source">
|
268
|
+
<pre>
|
269
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 63</span>
|
270
|
+
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">page_count</span>
|
271
|
+
64: (<span class="ruby-identifier">unpaged_count</span>.<span class="ruby-identifier">to_f</span> <span class="ruby-operator">/</span> <span class="ruby-ivar">@entries_per_page</span>).<span class="ruby-identifier">ceil</span>
|
272
|
+
65: <span class="ruby-keyword kw">end</span>
|
273
|
+
</pre>
|
274
|
+
</div>
|
275
|
+
</div>
|
276
|
+
</div>
|
277
|
+
|
278
|
+
<div id="method-M000011" class="method-detail">
|
279
|
+
<a name="M000011"></a>
|
280
|
+
|
281
|
+
<div class="method-heading">
|
282
|
+
<a href="#M000011" class="method-signature">
|
283
|
+
<span class="method-name">previous_page</span><span class="method-args">()</span>
|
284
|
+
</a>
|
285
|
+
</div>
|
286
|
+
|
287
|
+
<div class="method-description">
|
288
|
+
<p>
|
289
|
+
Returns the previous page number if there is a previous page, returns
|
290
|
+
<tt>nil</tt> otherwise.
|
291
|
+
</p>
|
292
|
+
<p><a class="source-toggle" href="#"
|
293
|
+
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
294
|
+
<div class="method-source-code" id="M000011-source">
|
295
|
+
<pre>
|
296
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 52</span>
|
297
|
+
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">previous_page</span>
|
298
|
+
53: <span class="ruby-ivar">@current_page</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">has_previous_page?</span>
|
299
|
+
54: <span class="ruby-keyword kw">end</span>
|
300
|
+
</pre>
|
301
|
+
</div>
|
302
|
+
</div>
|
303
|
+
</div>
|
304
|
+
|
305
|
+
<div id="method-M000012" class="method-detail">
|
306
|
+
<a name="M000012"></a>
|
307
|
+
|
308
|
+
<div class="method-heading">
|
309
|
+
<a href="#M000012" class="method-signature">
|
310
|
+
<span class="method-name">unpaged_count</span><span class="method-args">()</span>
|
311
|
+
</a>
|
312
|
+
</div>
|
313
|
+
|
314
|
+
<div class="method-description">
|
315
|
+
<p>
|
316
|
+
Returns the row count for all the rows that would match the current scope,
|
317
|
+
so not only on the current page.
|
318
|
+
</p>
|
319
|
+
<p><a class="source-toggle" href="#"
|
320
|
+
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
321
|
+
<div class="method-source-code" id="M000012-source">
|
322
|
+
<pre>
|
323
|
+
<span class="ruby-comment cmt"># File lib/peiji_san.rb, line 58</span>
|
324
|
+
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unpaged_count</span>
|
325
|
+
59: <span class="ruby-identifier">scope_without_pagination</span>.<span class="ruby-identifier">count</span>
|
326
|
+
60: <span class="ruby-keyword kw">end</span>
|
327
|
+
</pre>
|
328
|
+
</div>
|
329
|
+
</div>
|
330
|
+
</div>
|
331
|
+
|
332
|
+
|
333
|
+
</div>
|
334
|
+
|
335
|
+
|
336
|
+
</div>
|
337
|
+
|
338
|
+
|
339
|
+
<div id="validator-badges">
|
340
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
341
|
+
</div>
|
342
|
+
|
343
|
+
</body>
|
344
|
+
</html>
|