paginated_table 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +132 -0
  3. data/Rakefile +38 -0
  4. data/lib/paginated_table.rb +7 -0
  5. data/lib/paginated_table/controller_helpers.rb +14 -0
  6. data/lib/paginated_table/engine.rb +7 -0
  7. data/lib/paginated_table/page.rb +87 -0
  8. data/lib/paginated_table/railtie.rb +12 -0
  9. data/lib/paginated_table/version.rb +3 -0
  10. data/lib/paginated_table/view_helpers.rb +168 -0
  11. data/lib/tasks/paginated_table_tasks.rake +4 -0
  12. data/test/dummy/README.rdoc +261 -0
  13. data/test/dummy/Rakefile +7 -0
  14. data/test/dummy/app/assets/javascripts/application.js +16 -0
  15. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  16. data/test/dummy/app/controllers/application_controller.rb +3 -0
  17. data/test/dummy/app/controllers/data_controller.rb +27 -0
  18. data/test/dummy/app/helpers/application_helper.rb +2 -0
  19. data/test/dummy/app/views/data/_data.html.erb +7 -0
  20. data/test/dummy/app/views/data/index.html.erb +3 -0
  21. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  22. data/test/dummy/config.ru +4 -0
  23. data/test/dummy/config/application.rb +59 -0
  24. data/test/dummy/config/boot.rb +10 -0
  25. data/test/dummy/config/database.yml +25 -0
  26. data/test/dummy/config/environment.rb +5 -0
  27. data/test/dummy/config/environments/development.rb +37 -0
  28. data/test/dummy/config/environments/production.rb +67 -0
  29. data/test/dummy/config/environments/test.rb +37 -0
  30. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  31. data/test/dummy/config/initializers/inflections.rb +15 -0
  32. data/test/dummy/config/initializers/mime_types.rb +5 -0
  33. data/test/dummy/config/initializers/secret_token.rb +7 -0
  34. data/test/dummy/config/initializers/session_store.rb +8 -0
  35. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  36. data/test/dummy/config/locales/en.yml +5 -0
  37. data/test/dummy/config/routes.rb +59 -0
  38. data/test/dummy/db/test.sqlite3 +0 -0
  39. data/test/dummy/log/test.log +56930 -0
  40. data/test/dummy/public/404.html +26 -0
  41. data/test/dummy/public/422.html +26 -0
  42. data/test/dummy/public/500.html +25 -0
  43. data/test/dummy/public/favicon.ico +0 -0
  44. data/test/dummy/script/rails +6 -0
  45. data/test/dummy/tmp/cache/assets/CB7/360/sprockets%2F8334f01490cb91467dfd76ad25b67780 +0 -0
  46. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  47. data/test/dummy/tmp/cache/assets/D25/810/sprockets%2F4ff88255fbab9775241c5d8c8c6e2088 +0 -0
  48. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  49. data/test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655 +0 -0
  50. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  51. data/test/dummy/tmp/cache/assets/D62/6D0/sprockets%2F9b8014b0c5371c3bf5dd4f018a5ec71e +0 -0
  52. data/test/dummy/tmp/cache/assets/D71/1A0/sprockets%2F32c631252aee35736d93e06f3edffd6d +0 -0
  53. data/test/dummy/tmp/cache/assets/DD3/F90/sprockets%2Fc24290dff33aff9c3d2f971f6d8ae04b +0 -0
  54. data/test/dummy/tmp/cache/assets/DD4/950/sprockets%2F09e7f24ef1ff59b4fc390bdf415c60af +0 -0
  55. data/test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994 +9809 -0
  56. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +9809 -0
  57. data/test/dummy/tmp/capybara/capybara-201204041545476374284085.html +12 -0
  58. data/test/integration/paginated_table_integration_test.rb +235 -0
  59. data/test/test_helper.rb +31 -0
  60. data/test/units/controller_helpers_test.rb +43 -0
  61. data/test/units/page_test.rb +192 -0
  62. data/test/units/view_helpers_test.rb +317 -0
  63. metadata +276 -0
@@ -0,0 +1,317 @@
1
+ require 'test_helper'
2
+
3
+ module PaginatedTable
4
+ describe ViewHelpers do
5
+ let(:params) { stub("params") }
6
+ let(:view) {
7
+ view = Object.new
8
+ view.send(:extend, ViewHelpers)
9
+ view.stubs("params" => params)
10
+ view
11
+ }
12
+ let(:data_page) { stub("data_page") }
13
+ let(:description_block) { lambda {} }
14
+
15
+ describe "#paginated_table" do
16
+ it "renders a table" do
17
+ table_description = stub("table_description")
18
+ TableDescription.stubs("new").with(description_block).returns(table_description)
19
+ page = stub("page")
20
+ PageParams.stubs("create_page_from_params").with(params).returns(page)
21
+ link_renderer = stub("link_renderer")
22
+ LinkRenderer.stubs("new").with(page).returns(link_renderer)
23
+ table_renderer = stub("table_renderer")
24
+ RendersTable.stubs("new").
25
+ with(view, table_description, data_page, link_renderer).
26
+ returns(table_renderer)
27
+ table_renderer.expects("render")
28
+ view.paginated_table(data_page, &description_block)
29
+ end
30
+ end
31
+ end
32
+
33
+ describe TableDescription do
34
+ describe "#initialize" do
35
+ it "creates a new instance with empty columns" do
36
+ TableDescription.new.columns.must_equal []
37
+ end
38
+
39
+ it "calls the given block with itself" do
40
+ fake_proc = stub("proc")
41
+ fake_proc.expects(:call)
42
+ TableDescription.new(fake_proc)
43
+ end
44
+ end
45
+
46
+ describe "#column" do
47
+ it "constructs a new Column and appends it to the columns array" do
48
+ column = stub("column")
49
+ TableDescription::Column.stubs(:new).with(:foo).returns(column)
50
+ description = TableDescription.new
51
+ description.column(:foo)
52
+ description.columns.must_equal [column]
53
+ end
54
+ end
55
+ end
56
+
57
+ describe TableDescription::Column do
58
+ describe "#initialize" do
59
+ it "creates a new instance with a name and an optional block" do
60
+ TableDescription::Column.new(:foo) { true }
61
+ end
62
+
63
+ it "accepts an options hash" do
64
+ TableDescription::Column.new(:foo, :baz => 'bat')
65
+ end
66
+ end
67
+
68
+ describe "#sortable?" do
69
+ it "returns true by default" do
70
+ TableDescription::Column.new(:foo).sortable?.must_equal true
71
+ end
72
+
73
+ it "returns false if the :sortable option is false" do
74
+ TableDescription::Column.new(:foo, :sortable => false).sortable?.must_equal false
75
+ end
76
+ end
77
+
78
+ describe "#render_header" do
79
+ it "returns the titleized name" do
80
+ TableDescription::Column.new(:foo).render_header.must_equal "Foo"
81
+ end
82
+
83
+ it "returns the :title option if given" do
84
+ TableDescription::Column.new(:foo, :title => 'bar').
85
+ render_header.must_equal "bar"
86
+ end
87
+ end
88
+
89
+ describe "#render_cell" do
90
+ let(:results) { stub("results") }
91
+
92
+ describe "on a column with no block" do
93
+ let(:column) { TableDescription::Column.new(:foo) }
94
+
95
+ it "sends its name to the datum" do
96
+ datum = stub("datum", :foo => results)
97
+ column.render_cell(datum).must_equal results
98
+ end
99
+ end
100
+
101
+ describe "on a column with a block" do
102
+ it "calls its block with the datum" do
103
+ datum = stub("datum")
104
+ column = TableDescription::Column.new(:foo) do |block_arg|
105
+ results if block_arg == datum
106
+ end
107
+ column.render_cell(datum).must_equal results
108
+ end
109
+ end
110
+ end
111
+ end
112
+
113
+ describe LinkRenderer do
114
+ let(:page) { Page.new(:number => 2, :rows => 5, :sort_column => 'to_s', :sort_direction => 'desc') }
115
+ let(:data) { (1..10).to_a }
116
+ let(:data_page) { data.paginate(:page => 2, :per_page => 5) }
117
+ let(:view) { stub("view") }
118
+ let(:renderer) do
119
+ renderer = LinkRenderer.new(page)
120
+ renderer.prepare(data, {}, view)
121
+ renderer
122
+ end
123
+ let(:text) { stub("text") }
124
+ let(:href) { stub("href") }
125
+ let(:link) { stub("link") }
126
+
127
+
128
+ describe "#sort_link" do
129
+ it "calls link_to on the view with the sort url and the :remote option" do
130
+ view.stubs("url_for").
131
+ with(:sort_direction => 'asc', :per_page => '5', :page => '1', :sort_column => 'to_s').
132
+ returns(href)
133
+ view.stubs("link_to").with(text, href, :remote => true).returns(link)
134
+ renderer.sort_link(text, 'to_s').must_equal link
135
+ end
136
+ end
137
+
138
+ describe "#tag" do
139
+ it "calls link_to on the view with the :remote option for :a tags" do
140
+ view.expects(:link_to).
141
+ with(text, href, { :class => 'highlight', :remote => true }).
142
+ returns(link)
143
+ renderer.tag(:a, text, :class => 'highlight', :href => href).must_equal link
144
+ end
145
+
146
+ it "delegates to its parent for all other tags" do
147
+ view.expects(:link_to).never
148
+ renderer.tag(:span, "foo")
149
+ end
150
+ end
151
+
152
+ end
153
+
154
+ describe RendersTable do
155
+ let(:view) { stub("view") }
156
+ let(:description) { stub("description") }
157
+ let(:data) { stub("data") }
158
+ let(:page) { stub("page", :sort_column => 'title', :sort_direction => 'asc') }
159
+ let(:data_page) { stub("data_page", :data => data, :page => page) }
160
+ let(:link_renderer) { stub("link_renderer") }
161
+ let(:table) { RendersTable.new(view, description, data_page, link_renderer) }
162
+
163
+ describe "#initialize" do
164
+ it "creates a new instance with the view, description, and data_page" do
165
+ table
166
+ end
167
+ end
168
+
169
+ describe "#render" do
170
+ it "makes a div.paginated_table with the table and a pagination header and footer" do
171
+ table.stubs(:render_pagination_area).returns("<pagination/>")
172
+ table.stubs(:render_table).returns("<table/>")
173
+ view.expects(:content_tag).with('div', "<pagination/><table/><pagination/>", :class => 'paginated_table')
174
+ table.render
175
+ end
176
+ end
177
+
178
+ describe "#render_pagination_area" do
179
+ it "makes a div.header with the pagination info and links" do
180
+ table.stubs(:render_pagination_info).returns("<info/>")
181
+ table.stubs(:render_pagination_links).returns("<links/>")
182
+ view.expects(:content_tag).with('div', "<info/><links/>", :class => 'header')
183
+ table.render_pagination_area
184
+ end
185
+ end
186
+
187
+ describe "#render_pagination_info" do
188
+ it "makes a div.info with the page_entries_info from will_paginate" do
189
+ view.stubs(:page_entries_info).with(data).returns("<info/>")
190
+ view.expects(:content_tag).with('div', "<info/>", :class => 'info')
191
+ table.render_pagination_info
192
+ end
193
+ end
194
+
195
+ describe "#render_pagination_links" do
196
+ it "makes a div.links with the will_paginate links from will_paginate" do
197
+ view.stubs(:will_paginate).
198
+ with(data, :renderer => link_renderer).
199
+ returns("<links/>")
200
+ view.expects(:content_tag).with('div', "<links/>", :class => 'links')
201
+ table.render_pagination_links
202
+ end
203
+ end
204
+
205
+ describe "#render_table" do
206
+ it "makes a table.paginated with the table header and body" do
207
+ table.stubs(:render_table_header).returns("<header/>")
208
+ table.stubs(:render_table_body).returns("<body/>")
209
+ view.expects(:content_tag).with('table', "<header/><body/>", :class => 'paginated')
210
+ table.render_table
211
+ end
212
+ end
213
+
214
+ describe "#render_table_header" do
215
+ it "makes a thead with the table header row" do
216
+ table.stubs(:render_table_header_row).returns("<header/>")
217
+ view.expects(:content_tag).with('thead', "<header/>")
218
+ table.render_table_header
219
+ end
220
+ end
221
+
222
+ describe "#render_table_header_row" do
223
+ it "makes a tr with the table header columns" do
224
+ columns = [stub("column1"), stub("column2")]
225
+ description.stubs(:columns).returns(columns)
226
+ table.stubs(:render_table_header_column).with(columns.first).returns("<col1/>")
227
+ table.stubs(:render_table_header_column).with(columns.last).returns("<col2/>")
228
+ view.expects(:content_tag).with('tr', "<col1/><col2/>")
229
+ table.render_table_header_row
230
+ end
231
+ end
232
+
233
+ describe "#render_table_header_column" do
234
+ it "makes a th with the render_header from the column" do
235
+ column = stub("column", :name => 'foo', :sortable? => false)
236
+ table.stubs(:render_table_header_column_content).with(column).returns("<header/>")
237
+ view.expects(:content_tag).with('th', "<header/>", {})
238
+ table.render_table_header_column(column)
239
+ end
240
+
241
+ describe "when the table is sorted on the column ascending" do
242
+ it "makes a th with css class 'sortable sorted_asc'" do
243
+ column = stub("column", :name => 'title', :sortable? => true)
244
+ table.stubs(:render_table_header_column_content).with(column).returns("<header/>")
245
+ view.expects(:content_tag).
246
+ with('th', "<header/>", :class => 'sortable sorted_asc')
247
+ table.render_table_header_column(column)
248
+ end
249
+ end
250
+
251
+ describe "when the table is sorted on the column descending" do
252
+ it "makes a th with css class 'sortable sorted_asc'" do
253
+ column = stub("column", :name => 'title', :sortable? => true)
254
+ page.stubs(:sort_direction => 'desc')
255
+ table.stubs(:render_table_header_column_content).with(column).returns("<header/>")
256
+ view.expects(:content_tag).
257
+ with('th', "<header/>", :class => 'sortable sorted_desc')
258
+ table.render_table_header_column(column)
259
+ end
260
+ end
261
+ end
262
+
263
+ describe "#render_table_header_column_content" do
264
+ describe "with a sortable column" do
265
+ let(:column) { stub("column", :name => :foo, :render_header => '<header/>', :sortable? => true) }
266
+
267
+ it "asks the link renderer to render a link to sort the column" do
268
+ result = stub("result")
269
+ link_renderer.stubs(:sort_link).with("<header/>", 'foo').returns(result)
270
+ table.render_table_header_column_content(column).must_equal result
271
+ end
272
+ end
273
+
274
+ describe "with an unsortable column" do
275
+ let(:column) { stub("column", :render_header => '<header/>', :sortable? => false) }
276
+
277
+ it "simply renders the column's header" do
278
+ table.render_table_header_column_content(column).must_equal '<header/>'
279
+ end
280
+ end
281
+ end
282
+
283
+ describe "#render_table_body" do
284
+ it "makes a tbody with the table body rows" do
285
+ data = [stub("datum1"), stub("datum2")]
286
+ data_page = stub("data_page", :data => data)
287
+ table = RendersTable.new(view, description, data_page, link_renderer)
288
+ table.stubs(:render_table_body_row).with(data.first).returns("<row1/>")
289
+ table.stubs(:render_table_body_row).with(data.last).returns("<row2/>")
290
+ view.expects(:content_tag).with('tbody', "<row1/><row2/>")
291
+ table.render_table_body
292
+ end
293
+ end
294
+
295
+ describe "#render_table_body_row" do
296
+ it "makes a tr with the table body cells" do
297
+ datum = stub("datum")
298
+ columns = [stub("column1"), stub("column2")]
299
+ description.stubs(:columns).returns(columns)
300
+ table.stubs(:render_table_body_cell).with(datum, columns.first).returns("<cell1/>")
301
+ table.stubs(:render_table_body_cell).with(datum, columns.last).returns("<cell2/>")
302
+ view.expects(:content_tag).with('tr', "<cell1/><cell2/>")
303
+ table.render_table_body_row(datum)
304
+ end
305
+ end
306
+
307
+ describe "#render_table_body_cell" do
308
+ it "makes a td with the render_cell from the column" do
309
+ datum = stub("datum")
310
+ column = stub("column")
311
+ column.stubs(:render_cell).with(datum).returns("<datum/>")
312
+ view.expects(:content_tag).with('td', "<datum/>")
313
+ table.render_table_body_cell(datum, column)
314
+ end
315
+ end
316
+ end
317
+ end
metadata ADDED
@@ -0,0 +1,276 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paginated_table
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - Donald Ball
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2012-04-10 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ none: false
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ hash: 3
27
+ segments:
28
+ - 3
29
+ - 2
30
+ version: "3.2"
31
+ name: rails
32
+ type: :runtime
33
+ prerelease: false
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ hash: 7
42
+ segments:
43
+ - 3
44
+ - 0
45
+ version: "3.0"
46
+ name: will_paginate
47
+ type: :runtime
48
+ prerelease: false
49
+ requirement: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ version_requirements: &id003 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ hash: 3
57
+ segments:
58
+ - 0
59
+ version: "0"
60
+ name: jquery-rails
61
+ type: :runtime
62
+ prerelease: false
63
+ requirement: *id003
64
+ - !ruby/object:Gem::Dependency
65
+ version_requirements: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ name: minitest
75
+ type: :development
76
+ prerelease: false
77
+ requirement: *id004
78
+ - !ruby/object:Gem::Dependency
79
+ version_requirements: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ name: capybara
89
+ type: :development
90
+ prerelease: false
91
+ requirement: *id005
92
+ - !ruby/object:Gem::Dependency
93
+ version_requirements: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ name: capybara-webkit
103
+ type: :development
104
+ prerelease: false
105
+ requirement: *id006
106
+ - !ruby/object:Gem::Dependency
107
+ version_requirements: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ name: mocha
117
+ type: :development
118
+ prerelease: false
119
+ requirement: *id007
120
+ description: Provides AJAX paginated, sorted tables in rails with will_paginate and arel
121
+ email:
122
+ - donald.ball@gmail.com
123
+ executables: []
124
+
125
+ extensions: []
126
+
127
+ extra_rdoc_files: []
128
+
129
+ files:
130
+ - lib/paginated_table/controller_helpers.rb
131
+ - lib/paginated_table/engine.rb
132
+ - lib/paginated_table/page.rb
133
+ - lib/paginated_table/railtie.rb
134
+ - lib/paginated_table/version.rb
135
+ - lib/paginated_table/view_helpers.rb
136
+ - lib/paginated_table.rb
137
+ - lib/tasks/paginated_table_tasks.rake
138
+ - MIT-LICENSE
139
+ - Rakefile
140
+ - README.md
141
+ - test/dummy/app/assets/javascripts/application.js
142
+ - test/dummy/app/assets/stylesheets/application.css
143
+ - test/dummy/app/controllers/application_controller.rb
144
+ - test/dummy/app/controllers/data_controller.rb
145
+ - test/dummy/app/helpers/application_helper.rb
146
+ - test/dummy/app/views/data/_data.html.erb
147
+ - test/dummy/app/views/data/index.html.erb
148
+ - test/dummy/app/views/layouts/application.html.erb
149
+ - test/dummy/config/application.rb
150
+ - test/dummy/config/boot.rb
151
+ - test/dummy/config/database.yml
152
+ - test/dummy/config/environment.rb
153
+ - test/dummy/config/environments/development.rb
154
+ - test/dummy/config/environments/production.rb
155
+ - test/dummy/config/environments/test.rb
156
+ - test/dummy/config/initializers/backtrace_silencers.rb
157
+ - test/dummy/config/initializers/inflections.rb
158
+ - test/dummy/config/initializers/mime_types.rb
159
+ - test/dummy/config/initializers/secret_token.rb
160
+ - test/dummy/config/initializers/session_store.rb
161
+ - test/dummy/config/initializers/wrap_parameters.rb
162
+ - test/dummy/config/locales/en.yml
163
+ - test/dummy/config/routes.rb
164
+ - test/dummy/config.ru
165
+ - test/dummy/db/test.sqlite3
166
+ - test/dummy/log/test.log
167
+ - test/dummy/public/404.html
168
+ - test/dummy/public/422.html
169
+ - test/dummy/public/500.html
170
+ - test/dummy/public/favicon.ico
171
+ - test/dummy/Rakefile
172
+ - test/dummy/README.rdoc
173
+ - test/dummy/script/rails
174
+ - test/dummy/tmp/cache/assets/CB7/360/sprockets%2F8334f01490cb91467dfd76ad25b67780
175
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
176
+ - test/dummy/tmp/cache/assets/D25/810/sprockets%2F4ff88255fbab9775241c5d8c8c6e2088
177
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
178
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
179
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
180
+ - test/dummy/tmp/cache/assets/D62/6D0/sprockets%2F9b8014b0c5371c3bf5dd4f018a5ec71e
181
+ - test/dummy/tmp/cache/assets/D71/1A0/sprockets%2F32c631252aee35736d93e06f3edffd6d
182
+ - test/dummy/tmp/cache/assets/DD3/F90/sprockets%2Fc24290dff33aff9c3d2f971f6d8ae04b
183
+ - test/dummy/tmp/cache/assets/DD4/950/sprockets%2F09e7f24ef1ff59b4fc390bdf415c60af
184
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
185
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
186
+ - test/dummy/tmp/capybara/capybara-201204041545476374284085.html
187
+ - test/integration/paginated_table_integration_test.rb
188
+ - test/test_helper.rb
189
+ - test/units/controller_helpers_test.rb
190
+ - test/units/page_test.rb
191
+ - test/units/view_helpers_test.rb
192
+ homepage: http://github.com/dball/paginated_table
193
+ licenses: []
194
+
195
+ post_install_message:
196
+ rdoc_options: []
197
+
198
+ require_paths:
199
+ - lib
200
+ required_ruby_version: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ hash: 3
206
+ segments:
207
+ - 0
208
+ version: "0"
209
+ required_rubygems_version: !ruby/object:Gem::Requirement
210
+ none: false
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ hash: 3
215
+ segments:
216
+ - 0
217
+ version: "0"
218
+ requirements: []
219
+
220
+ rubyforge_project:
221
+ rubygems_version: 1.8.21
222
+ signing_key:
223
+ specification_version: 3
224
+ summary: Easy paginated, sorted tables in rails
225
+ test_files:
226
+ - test/dummy/app/assets/javascripts/application.js
227
+ - test/dummy/app/assets/stylesheets/application.css
228
+ - test/dummy/app/controllers/application_controller.rb
229
+ - test/dummy/app/controllers/data_controller.rb
230
+ - test/dummy/app/helpers/application_helper.rb
231
+ - test/dummy/app/views/data/_data.html.erb
232
+ - test/dummy/app/views/data/index.html.erb
233
+ - test/dummy/app/views/layouts/application.html.erb
234
+ - test/dummy/config/application.rb
235
+ - test/dummy/config/boot.rb
236
+ - test/dummy/config/database.yml
237
+ - test/dummy/config/environment.rb
238
+ - test/dummy/config/environments/development.rb
239
+ - test/dummy/config/environments/production.rb
240
+ - test/dummy/config/environments/test.rb
241
+ - test/dummy/config/initializers/backtrace_silencers.rb
242
+ - test/dummy/config/initializers/inflections.rb
243
+ - test/dummy/config/initializers/mime_types.rb
244
+ - test/dummy/config/initializers/secret_token.rb
245
+ - test/dummy/config/initializers/session_store.rb
246
+ - test/dummy/config/initializers/wrap_parameters.rb
247
+ - test/dummy/config/locales/en.yml
248
+ - test/dummy/config/routes.rb
249
+ - test/dummy/config.ru
250
+ - test/dummy/db/test.sqlite3
251
+ - test/dummy/log/test.log
252
+ - test/dummy/public/404.html
253
+ - test/dummy/public/422.html
254
+ - test/dummy/public/500.html
255
+ - test/dummy/public/favicon.ico
256
+ - test/dummy/Rakefile
257
+ - test/dummy/README.rdoc
258
+ - test/dummy/script/rails
259
+ - test/dummy/tmp/cache/assets/CB7/360/sprockets%2F8334f01490cb91467dfd76ad25b67780
260
+ - test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953
261
+ - test/dummy/tmp/cache/assets/D25/810/sprockets%2F4ff88255fbab9775241c5d8c8c6e2088
262
+ - test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705
263
+ - test/dummy/tmp/cache/assets/D4E/1B0/sprockets%2Ff7cbd26ba1d28d48de824f0e94586655
264
+ - test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6
265
+ - test/dummy/tmp/cache/assets/D62/6D0/sprockets%2F9b8014b0c5371c3bf5dd4f018a5ec71e
266
+ - test/dummy/tmp/cache/assets/D71/1A0/sprockets%2F32c631252aee35736d93e06f3edffd6d
267
+ - test/dummy/tmp/cache/assets/DD3/F90/sprockets%2Fc24290dff33aff9c3d2f971f6d8ae04b
268
+ - test/dummy/tmp/cache/assets/DD4/950/sprockets%2F09e7f24ef1ff59b4fc390bdf415c60af
269
+ - test/dummy/tmp/cache/assets/DDC/400/sprockets%2Fcffd775d018f68ce5dba1ee0d951a994
270
+ - test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af
271
+ - test/dummy/tmp/capybara/capybara-201204041545476374284085.html
272
+ - test/integration/paginated_table_integration_test.rb
273
+ - test/test_helper.rb
274
+ - test/units/controller_helpers_test.rb
275
+ - test/units/page_test.rb
276
+ - test/units/view_helpers_test.rb