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/rdoc/rdoc-style.css
ADDED
@@ -0,0 +1,208 @@
|
|
1
|
+
|
2
|
+
body {
|
3
|
+
font-family: Verdana,Arial,Helvetica,sans-serif;
|
4
|
+
font-size: 90%;
|
5
|
+
margin: 0;
|
6
|
+
margin-left: 40px;
|
7
|
+
padding: 0;
|
8
|
+
background: white;
|
9
|
+
}
|
10
|
+
|
11
|
+
h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
|
12
|
+
h1 { font-size: 150%; }
|
13
|
+
h2,h3,h4 { margin-top: 1em; }
|
14
|
+
|
15
|
+
a { background: #eef; color: #039; text-decoration: none; }
|
16
|
+
a:hover { background: #039; color: #eef; }
|
17
|
+
|
18
|
+
/* Override the base stylesheet's Anchor inside a table cell */
|
19
|
+
td > a {
|
20
|
+
background: transparent;
|
21
|
+
color: #039;
|
22
|
+
text-decoration: none;
|
23
|
+
}
|
24
|
+
|
25
|
+
/* and inside a section title */
|
26
|
+
.section-title > a {
|
27
|
+
background: transparent;
|
28
|
+
color: #eee;
|
29
|
+
text-decoration: none;
|
30
|
+
}
|
31
|
+
|
32
|
+
/* === Structural elements =================================== */
|
33
|
+
|
34
|
+
div#index {
|
35
|
+
margin: 0;
|
36
|
+
margin-left: -40px;
|
37
|
+
padding: 0;
|
38
|
+
font-size: 90%;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
div#index a {
|
43
|
+
margin-left: 0.7em;
|
44
|
+
}
|
45
|
+
|
46
|
+
div#index .section-bar {
|
47
|
+
margin-left: 0px;
|
48
|
+
padding-left: 0.7em;
|
49
|
+
background: #ccc;
|
50
|
+
font-size: small;
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
div#classHeader, div#fileHeader {
|
55
|
+
width: auto;
|
56
|
+
color: white;
|
57
|
+
padding: 0.5em 1.5em 0.5em 1.5em;
|
58
|
+
margin: 0;
|
59
|
+
margin-left: -40px;
|
60
|
+
border-bottom: 3px solid #006;
|
61
|
+
}
|
62
|
+
|
63
|
+
div#classHeader a, div#fileHeader a {
|
64
|
+
background: inherit;
|
65
|
+
color: white;
|
66
|
+
}
|
67
|
+
|
68
|
+
div#classHeader td, div#fileHeader td {
|
69
|
+
background: inherit;
|
70
|
+
color: white;
|
71
|
+
}
|
72
|
+
|
73
|
+
|
74
|
+
div#fileHeader {
|
75
|
+
background: #057;
|
76
|
+
}
|
77
|
+
|
78
|
+
div#classHeader {
|
79
|
+
background: #048;
|
80
|
+
}
|
81
|
+
|
82
|
+
|
83
|
+
.class-name-in-header {
|
84
|
+
font-size: 180%;
|
85
|
+
font-weight: bold;
|
86
|
+
}
|
87
|
+
|
88
|
+
|
89
|
+
div#bodyContent {
|
90
|
+
padding: 0 1.5em 0 1.5em;
|
91
|
+
}
|
92
|
+
|
93
|
+
div#description {
|
94
|
+
padding: 0.5em 1.5em;
|
95
|
+
background: #efefef;
|
96
|
+
border: 1px dotted #999;
|
97
|
+
}
|
98
|
+
|
99
|
+
div#description h1,h2,h3,h4,h5,h6 {
|
100
|
+
color: #125;;
|
101
|
+
background: transparent;
|
102
|
+
}
|
103
|
+
|
104
|
+
div#validator-badges {
|
105
|
+
text-align: center;
|
106
|
+
}
|
107
|
+
div#validator-badges img { border: 0; }
|
108
|
+
|
109
|
+
div#copyright {
|
110
|
+
color: #333;
|
111
|
+
background: #efefef;
|
112
|
+
font: 0.75em sans-serif;
|
113
|
+
margin-top: 5em;
|
114
|
+
margin-bottom: 0;
|
115
|
+
padding: 0.5em 2em;
|
116
|
+
}
|
117
|
+
|
118
|
+
|
119
|
+
/* === Classes =================================== */
|
120
|
+
|
121
|
+
table.header-table {
|
122
|
+
color: white;
|
123
|
+
font-size: small;
|
124
|
+
}
|
125
|
+
|
126
|
+
.type-note {
|
127
|
+
font-size: small;
|
128
|
+
color: #DEDEDE;
|
129
|
+
}
|
130
|
+
|
131
|
+
.xxsection-bar {
|
132
|
+
background: #eee;
|
133
|
+
color: #333;
|
134
|
+
padding: 3px;
|
135
|
+
}
|
136
|
+
|
137
|
+
.section-bar {
|
138
|
+
color: #333;
|
139
|
+
border-bottom: 1px solid #999;
|
140
|
+
margin-left: -20px;
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
.section-title {
|
145
|
+
background: #79a;
|
146
|
+
color: #eee;
|
147
|
+
padding: 3px;
|
148
|
+
margin-top: 2em;
|
149
|
+
margin-left: -30px;
|
150
|
+
border: 1px solid #999;
|
151
|
+
}
|
152
|
+
|
153
|
+
.top-aligned-row { vertical-align: top }
|
154
|
+
.bottom-aligned-row { vertical-align: bottom }
|
155
|
+
|
156
|
+
/* --- Context section classes ----------------------- */
|
157
|
+
|
158
|
+
.context-row { }
|
159
|
+
.context-item-name { font-family: monospace; font-weight: bold; color: black; }
|
160
|
+
.context-item-value { font-size: small; color: #448; }
|
161
|
+
.context-item-desc { color: #333; padding-left: 2em; }
|
162
|
+
|
163
|
+
/* --- Method classes -------------------------- */
|
164
|
+
.method-detail {
|
165
|
+
background: #efefef;
|
166
|
+
padding: 0;
|
167
|
+
margin-top: 0.5em;
|
168
|
+
margin-bottom: 1em;
|
169
|
+
border: 1px dotted #ccc;
|
170
|
+
}
|
171
|
+
.method-heading {
|
172
|
+
color: black;
|
173
|
+
background: #ccc;
|
174
|
+
border-bottom: 1px solid #666;
|
175
|
+
padding: 0.2em 0.5em 0 0.5em;
|
176
|
+
}
|
177
|
+
.method-signature { color: black; background: inherit; }
|
178
|
+
.method-name { font-weight: bold; }
|
179
|
+
.method-args { font-style: italic; }
|
180
|
+
.method-description { padding: 0 0.5em 0 0.5em; }
|
181
|
+
|
182
|
+
/* --- Source code sections -------------------- */
|
183
|
+
|
184
|
+
a.source-toggle { font-size: 90%; }
|
185
|
+
div.method-source-code {
|
186
|
+
background: #262626;
|
187
|
+
color: #ffdead;
|
188
|
+
margin: 1em;
|
189
|
+
padding: 0.5em;
|
190
|
+
border: 1px dashed #999;
|
191
|
+
overflow: hidden;
|
192
|
+
}
|
193
|
+
|
194
|
+
div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
195
|
+
|
196
|
+
/* --- Ruby keyword styles --------------------- */
|
197
|
+
|
198
|
+
.standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
|
199
|
+
|
200
|
+
.ruby-constant { color: #7fffd4; background: transparent; }
|
201
|
+
.ruby-keyword { color: #00ffff; background: transparent; }
|
202
|
+
.ruby-ivar { color: #eedd82; background: transparent; }
|
203
|
+
.ruby-operator { color: #00ffee; background: transparent; }
|
204
|
+
.ruby-identifier { color: #ffdead; background: transparent; }
|
205
|
+
.ruby-node { color: #ffa07a; background: transparent; }
|
206
|
+
.ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
|
207
|
+
.ruby-regexp { color: #ffa07a; background: transparent; }
|
208
|
+
.ruby-value { color: #7fffd4; background: transparent; }
|
data/test/peiji_san_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require File.expand_path('../test_helper', __FILE__)
|
2
2
|
|
3
|
-
describe "PeijiSan
|
3
|
+
describe "A model extended by PeijiSan" do
|
4
4
|
it "should define an #entries_per_page= class method with which the max amount of entries per page is specified" do
|
5
5
|
Member.should.respond_to :entries_per_page=
|
6
6
|
Member.instance_variable_get(:@entries_per_page).should.be 10
|
@@ -15,7 +15,7 @@ describe "PeijiSan mixin" do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
describe "PeijiSan
|
18
|
+
describe "The PeijiSan extended scope" do
|
19
19
|
before do
|
20
20
|
PeijiSanTest::Initializer.setup_database
|
21
21
|
199.times { |i| Member.create(:name => "KRS #{i}") }
|
@@ -25,68 +25,67 @@ describe "PeijiSan::PageScope" do
|
|
25
25
|
PeijiSanTest::Initializer.teardown_database
|
26
26
|
end
|
27
27
|
|
28
|
-
it "
|
28
|
+
it "returns entries for the specified page" do
|
29
29
|
page_1 = Member.page(1)
|
30
|
-
page_1.class.should.be PeijiSan::PageScope
|
31
30
|
page_1.length.should.be 10
|
32
31
|
page_1.should == Member.find(:all, :offset => 0, :limit => 10)
|
33
32
|
end
|
34
33
|
|
35
|
-
it "
|
34
|
+
it "returns the correct count of pages" do
|
36
35
|
Member.all_like_krs_1.page(1).page_count.should.be 11
|
37
36
|
end
|
38
37
|
|
39
|
-
it "
|
38
|
+
it "knows the current page number" do
|
40
39
|
Member.page(2).current_page.should.be 2
|
41
40
|
Member.page(4).current_page.should.be 4
|
42
41
|
end
|
43
42
|
|
44
|
-
it "
|
45
|
-
Member.page(1).should.
|
46
|
-
Member.page(20).should.not.
|
47
|
-
Member.all_like_krs_1.but_ending_with_9.page(1).should.not.
|
43
|
+
it "knows if there's a next page" do
|
44
|
+
Member.page(1).should.next_page
|
45
|
+
Member.page(20).should.not.next_page
|
46
|
+
Member.all_like_krs_1.but_ending_with_9.page(1).should.not.next_page
|
48
47
|
end
|
49
48
|
|
50
|
-
it "
|
49
|
+
it "returns the next page number" do
|
51
50
|
Member.page(1).next_page.should.be 2
|
52
51
|
Member.page(20).next_page.should.be nil
|
53
52
|
end
|
54
53
|
|
55
|
-
it "
|
56
|
-
Member.page(1).should.not.
|
57
|
-
Member.page(20).should.
|
54
|
+
it "knows if there's a previous page" do
|
55
|
+
Member.page(1).should.not.previous_page
|
56
|
+
Member.page(20).should.previous_page
|
58
57
|
end
|
59
58
|
|
60
|
-
it "
|
59
|
+
it "returns the previous page" do
|
61
60
|
Member.page(1).previous_page.should.be nil
|
62
61
|
Member.page(20).previous_page.should.be 19
|
63
62
|
end
|
64
63
|
|
65
|
-
it "
|
64
|
+
it "knows if a given page number is the current page" do
|
66
65
|
assert Member.page(1).current_page?(1)
|
67
66
|
assert !Member.page(1).current_page?(2)
|
68
67
|
end
|
69
68
|
|
70
|
-
it "
|
69
|
+
it "defaults to page 1 if no valid page argument was given" do
|
71
70
|
Member.page(nil).current_page.should.be 1
|
72
71
|
Member.page('').current_page.should.be 1
|
73
72
|
end
|
74
73
|
|
75
|
-
it "
|
74
|
+
it "casts the page argument to an integer" do
|
76
75
|
Member.page('2').current_page.should.be 2
|
77
76
|
end
|
78
77
|
|
79
|
-
it "
|
78
|
+
it "takes an optional second argument which overrides the entries_per_page setting" do
|
80
79
|
Member.all_like_krs_1.page(1, 20).page_count.should.be 6
|
81
80
|
end
|
82
81
|
|
83
|
-
it "
|
84
|
-
Member.all_like_krs_1.page(1).
|
85
|
-
Member.all_like_krs_1.page(2).
|
86
|
-
Member.all_like_krs_1.but_ending_with_9.page(1).
|
82
|
+
it "returns the count of all the entries across all pages for the current scope" do
|
83
|
+
Member.all_like_krs_1.page(1).unpaged_count.should.be 110
|
84
|
+
Member.all_like_krs_1.page(2).unpaged_count.should.be 110
|
85
|
+
Member.all_like_krs_1.but_ending_with_9.page(1).unpaged_count.should.be 10
|
87
86
|
end
|
88
87
|
|
89
|
-
it "
|
88
|
+
it "works when chained with other regular named scopes" do
|
90
89
|
Member.all_like_krs_1.page(1).page_count.should.be 11
|
91
90
|
Member.all_like_krs_1.but_ending_with_9.page(2).page_count.should.be 1
|
92
91
|
|
data/test/test_helper.rb
CHANGED
@@ -1,40 +1,22 @@
|
|
1
1
|
module PeijiSanTest
|
2
2
|
module Initializer
|
3
|
-
VENDOR_RAILS = File.expand_path('../../../../rails', __FILE__)
|
4
|
-
OTHER_RAILS = File.expand_path('../../../rails', __FILE__)
|
5
|
-
PLUGIN_ROOT = File.expand_path('../../', __FILE__)
|
6
|
-
|
7
|
-
def self.rails_directory
|
8
|
-
if File.exist?(File.join(VENDOR_RAILS, 'railties'))
|
9
|
-
VENDOR_RAILS
|
10
|
-
elsif File.exist?(File.join(OTHER_RAILS, 'railties'))
|
11
|
-
OTHER_RAILS
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
3
|
def self.load_dependencies
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
$:.unshift(File.join(rails_directory, 'actionpack', 'lib'))
|
20
|
-
else
|
21
|
-
require 'rubygems' rescue LoadError
|
22
|
-
end
|
4
|
+
$:.unshift File.expand_path('../../lib', __FILE__)
|
5
|
+
|
6
|
+
require 'rubygems' rescue LoadError
|
23
7
|
|
24
8
|
require 'active_support'
|
25
9
|
require 'active_record'
|
26
10
|
require 'action_view'
|
27
11
|
|
28
|
-
require 'rubygems' rescue LoadError
|
29
|
-
|
30
12
|
require 'test/spec'
|
31
13
|
require 'mocha'
|
32
14
|
|
33
|
-
require File.
|
15
|
+
require File.expand_path('../../init', __FILE__)
|
34
16
|
end
|
35
17
|
|
36
18
|
def self.configure_database
|
37
|
-
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :
|
19
|
+
ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
|
38
20
|
ActiveRecord::Migration.verbose = false
|
39
21
|
end
|
40
22
|
|
@@ -68,21 +50,12 @@ end
|
|
68
50
|
|
69
51
|
PeijiSanTest::Initializer.start
|
70
52
|
|
71
|
-
class PeijiSan::PageScope
|
72
|
-
instance_methods.each { |method| alias_method method.sub(/^has_/, 'have_'), method if method =~ /^has_/ }
|
73
|
-
|
74
|
-
# The delegation of all methods in NamedScope breaks #should.
|
75
|
-
def should
|
76
|
-
Test::Spec::Should.new(self)
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
53
|
class Member < ActiveRecord::Base
|
81
54
|
extend PeijiSan
|
82
55
|
self.entries_per_page = 10
|
83
56
|
|
84
|
-
|
85
|
-
|
57
|
+
scope :all_like_krs_1, where("name LIKE 'KRS 1%'")
|
58
|
+
scope :but_ending_with_9, where("name LIKE '%9'")
|
86
59
|
|
87
60
|
has_many :works
|
88
61
|
end
|
@@ -91,5 +64,5 @@ class Work < ActiveRecord::Base
|
|
91
64
|
extend PeijiSan
|
92
65
|
self.entries_per_page = 5
|
93
66
|
|
94
|
-
|
67
|
+
scope :uploaded, where(:status => 'uploaded')
|
95
68
|
end
|
data/test/view_helper_test.rb
CHANGED
@@ -4,15 +4,6 @@ class TestController
|
|
4
4
|
def params
|
5
5
|
@params ||= {}
|
6
6
|
end
|
7
|
-
|
8
|
-
def url_for(options)
|
9
|
-
url = "/collections"
|
10
|
-
url += "?page=#{options[:page]}" if options[:page]
|
11
|
-
url += "?pagina=#{options[:pagina]}" if options[:pagina]
|
12
|
-
url += "&starts_with=#{options[:starts_with]}" if options[:starts_with]
|
13
|
-
url += "##{options[:anchor]}" if options[:anchor]
|
14
|
-
url
|
15
|
-
end
|
16
7
|
end
|
17
8
|
|
18
9
|
module PeijiSanHelperTestHelper
|
@@ -31,6 +22,19 @@ module PeijiSanHelperTestHelper
|
|
31
22
|
collection.stubs(:current_page?).with(2).returns(false)
|
32
23
|
collection.stubs(:page_count).returns(125)
|
33
24
|
end
|
25
|
+
|
26
|
+
def url_for(options)
|
27
|
+
return options if options.kind_of?(String)
|
28
|
+
|
29
|
+
options = options.with_indifferent_access
|
30
|
+
|
31
|
+
url = "/collections"
|
32
|
+
url += "?page=#{options[:page]}" if options[:page]
|
33
|
+
url += "?pagina=#{options[:pagina]}" if options[:pagina]
|
34
|
+
url += "&starts_with=#{options[:starts_with]}" if options[:starts_with]
|
35
|
+
url += "##{options[:anchor]}" if options[:anchor]
|
36
|
+
url
|
37
|
+
end
|
34
38
|
end
|
35
39
|
end
|
36
40
|
end
|
@@ -40,11 +44,11 @@ describe "PeijiSan::ViewHelper::link_to_page" do
|
|
40
44
|
include PeijiSan::ViewHelper
|
41
45
|
|
42
46
|
it "should return a link for a given page number" do
|
43
|
-
link_to_page(2, collection).should == '<a href="/collections?page=2
|
47
|
+
link_to_page(2, collection).should == '<a href="/collections?page=2">2</a>'
|
44
48
|
end
|
45
49
|
|
46
50
|
it "should return a link for a given page number with the specified page parameter" do
|
47
|
-
link_to_page(2, collection, :page_parameter => 'pagina').should == '<a href="/collections?pagina=2
|
51
|
+
link_to_page(2, collection, :page_parameter => 'pagina').should == '<a href="/collections?pagina=2">2</a>'
|
48
52
|
end
|
49
53
|
|
50
54
|
it "should return a link for a given page number with the specified anchor" do
|
@@ -53,7 +57,7 @@ describe "PeijiSan::ViewHelper::link_to_page" do
|
|
53
57
|
|
54
58
|
it "should return a link for a given page number and include the original params" do
|
55
59
|
controller.params[:starts_with] = 'h'
|
56
|
-
link_to_page(2, collection).should == '<a href="/collections?page=2&starts_with=h
|
60
|
+
link_to_page(2, collection).should == '<a href="/collections?page=2&starts_with=h">2</a>'
|
57
61
|
end
|
58
62
|
|
59
63
|
it "should return a link which does not include the page GET variable if it's page number 1" do
|
@@ -63,12 +67,12 @@ describe "PeijiSan::ViewHelper::link_to_page" do
|
|
63
67
|
|
64
68
|
it "should return a link with the class current if it's for the currently selected page" do
|
65
69
|
collection.stubs(:current_page?).with(2).returns(true)
|
66
|
-
link_to_page(2, collection).should == '<a href="/collections?page=2
|
70
|
+
link_to_page(2, collection).should == '<a href="/collections?page=2" class="current">2</a>'
|
67
71
|
end
|
68
72
|
|
69
73
|
it "should return a link with the class current if it's for the currently selected page" do
|
70
74
|
collection.stubs(:current_page?).with(2).returns(true)
|
71
|
-
link_to_page(2, collection, :current_class => 'looking_at').should == '<a href="/collections?page=2
|
75
|
+
link_to_page(2, collection, :current_class => 'looking_at').should == '<a href="/collections?page=2" class="looking_at">2</a>'
|
72
76
|
end
|
73
77
|
end
|
74
78
|
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: peiji-san
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 23
|
5
|
+
prerelease:
|
6
|
+
segments:
|
7
|
+
- 1
|
8
|
+
- 0
|
9
|
+
- 0
|
10
|
+
version: 1.0.0
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Eloy Duran
|
@@ -9,7 +15,7 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2011-04-05 00:00:00 +02:00
|
13
19
|
default_executable:
|
14
20
|
dependencies: []
|
15
21
|
|
@@ -22,16 +28,30 @@ extensions: []
|
|
22
28
|
extra_rdoc_files:
|
23
29
|
- LICENSE
|
24
30
|
- README.rdoc
|
31
|
+
- TODO
|
25
32
|
files:
|
26
33
|
- LICENSE
|
27
34
|
- README.rdoc
|
28
35
|
- Rakefile
|
29
36
|
- TODO
|
30
37
|
- VERSION.yml
|
38
|
+
- init.rb
|
31
39
|
- lib/peiji_san.rb
|
32
40
|
- lib/peiji_san/view_helper.rb
|
33
41
|
- peiji-san.gemspec
|
34
|
-
-
|
42
|
+
- rdoc/classes/PeijiSan.html
|
43
|
+
- rdoc/classes/PeijiSan/PaginationMethods.html
|
44
|
+
- rdoc/classes/PeijiSan/ViewHelper.html
|
45
|
+
- rdoc/created.rid
|
46
|
+
- rdoc/files/LICENSE.html
|
47
|
+
- rdoc/files/README_rdoc.html
|
48
|
+
- rdoc/files/lib/peiji_san/view_helper_rb.html
|
49
|
+
- rdoc/files/lib/peiji_san_rb.html
|
50
|
+
- rdoc/fr_class_index.html
|
51
|
+
- rdoc/fr_file_index.html
|
52
|
+
- rdoc/fr_method_index.html
|
53
|
+
- rdoc/index.html
|
54
|
+
- rdoc/rdoc-style.css
|
35
55
|
- test/peiji_san_test.rb
|
36
56
|
- test/test_helper.rb
|
37
57
|
- test/view_helper_test.rb
|
@@ -40,26 +60,32 @@ homepage: http://github.com/Fingertips/peiji-san
|
|
40
60
|
licenses: []
|
41
61
|
|
42
62
|
post_install_message:
|
43
|
-
rdoc_options:
|
44
|
-
|
63
|
+
rdoc_options: []
|
64
|
+
|
45
65
|
require_paths:
|
46
66
|
- lib
|
47
67
|
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
none: false
|
48
69
|
requirements:
|
49
70
|
- - ">="
|
50
71
|
- !ruby/object:Gem::Version
|
72
|
+
hash: 3
|
73
|
+
segments:
|
74
|
+
- 0
|
51
75
|
version: "0"
|
52
|
-
version:
|
53
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
54
78
|
requirements:
|
55
79
|
- - ">="
|
56
80
|
- !ruby/object:Gem::Version
|
81
|
+
hash: 3
|
82
|
+
segments:
|
83
|
+
- 0
|
57
84
|
version: "0"
|
58
|
-
version:
|
59
85
|
requirements: []
|
60
86
|
|
61
87
|
rubyforge_project:
|
62
|
-
rubygems_version: 1.
|
88
|
+
rubygems_version: 1.5.2
|
63
89
|
signing_key:
|
64
90
|
specification_version: 3
|
65
91
|
summary: PeijiSan is a Rails plugin which uses named scopes to create a thin pagination layer.
|