dancroak-sortable_table 0.0.4 → 0.1.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.
Files changed (70) hide show
  1. data/README.markdown +72 -0
  2. data/Rakefile +9 -9
  3. data/VERSION.yml +4 -0
  4. data/lib/sortable_table/app/controllers/application_controller.rb +15 -47
  5. data/lib/sortable_table/app/helpers/application_helper.rb +47 -31
  6. data/lib/sortable_table/test/test_helper.rb +65 -0
  7. data/lib/sortable_table.rb +1 -0
  8. data/test/rails_root/Rakefile +10 -0
  9. data/test/rails_root/app/controllers/application.rb +5 -0
  10. data/test/rails_root/app/controllers/users_controller.rb +9 -0
  11. data/test/rails_root/app/helpers/application_helper.rb +3 -0
  12. data/test/rails_root/app/helpers/users_helper.rb +2 -0
  13. data/test/rails_root/app/models/user.rb +2 -0
  14. data/test/rails_root/app/views/layouts/users.html.erb +17 -0
  15. data/test/rails_root/app/views/users/index.html.erb +19 -0
  16. data/test/rails_root/config/boot.rb +109 -0
  17. data/test/rails_root/config/database.yml +19 -0
  18. data/test/rails_root/config/environment.rb +26 -0
  19. data/test/rails_root/config/environments/development.rb +17 -0
  20. data/test/rails_root/config/environments/test.rb +22 -0
  21. data/test/rails_root/config/initializers/new_rails_defaults.rb +15 -0
  22. data/test/rails_root/config/routes.rb +6 -0
  23. data/test/rails_root/db/development.sqlite3 +0 -0
  24. data/test/rails_root/db/migrate/20080819225020_create_users.rb +15 -0
  25. data/test/rails_root/db/production.sqlite3 +0 -0
  26. data/test/rails_root/db/schema.rb +23 -0
  27. data/test/rails_root/db/test.sqlite3 +0 -0
  28. data/test/rails_root/log/development.log +2710 -0
  29. data/test/rails_root/log/production.log +0 -0
  30. data/test/rails_root/log/server.log +0 -0
  31. data/test/rails_root/public/404.html +30 -0
  32. data/test/rails_root/public/422.html +30 -0
  33. data/test/rails_root/public/500.html +30 -0
  34. data/test/rails_root/public/dispatch.cgi +10 -0
  35. data/test/rails_root/public/dispatch.fcgi +24 -0
  36. data/test/rails_root/public/dispatch.rb +10 -0
  37. data/test/rails_root/public/favicon.ico +0 -0
  38. data/test/rails_root/public/images/rails.png +0 -0
  39. data/test/rails_root/public/images/sort-ascending-arrow.gif +0 -0
  40. data/test/rails_root/public/images/sort-descending-arrow.gif +0 -0
  41. data/test/rails_root/public/index.html +274 -0
  42. data/test/rails_root/public/javascripts/application.js +2 -0
  43. data/test/rails_root/public/javascripts/controls.js +963 -0
  44. data/test/rails_root/public/javascripts/dragdrop.js +972 -0
  45. data/test/rails_root/public/javascripts/effects.js +1120 -0
  46. data/test/rails_root/public/javascripts/prototype.js +4225 -0
  47. data/test/rails_root/public/robots.txt +5 -0
  48. data/test/rails_root/public/stylesheets/scaffold.css +53 -0
  49. data/test/rails_root/public/stylesheets/sortable.css +10 -0
  50. data/test/rails_root/script/about +3 -0
  51. data/test/rails_root/script/console +3 -0
  52. data/test/rails_root/script/dbconsole +3 -0
  53. data/test/rails_root/script/destroy +3 -0
  54. data/test/rails_root/script/generate +3 -0
  55. data/test/rails_root/script/performance/benchmarker +3 -0
  56. data/test/rails_root/script/performance/profiler +3 -0
  57. data/test/rails_root/script/performance/request +3 -0
  58. data/test/rails_root/script/plugin +3 -0
  59. data/test/rails_root/script/process/inspector +3 -0
  60. data/test/rails_root/script/process/reaper +3 -0
  61. data/test/rails_root/script/process/spawner +3 -0
  62. data/test/rails_root/script/runner +3 -0
  63. data/test/rails_root/script/server +3 -0
  64. data/test/rails_root/test/factories/user_factory.rb +17 -0
  65. data/test/rails_root/test/functional/users_controller_test.rb +15 -0
  66. data/test/rails_root/test/test_helper.rb +32 -0
  67. data/test/rails_root/test/units/helpers/application_helper_test.rb +46 -0
  68. metadata +220 -4
  69. data/README.textile +0 -136
  70. data/TODO.textile +0 -2
@@ -0,0 +1,5 @@
1
+ # See http://www.robotstxt.org/wc/norobots.html for documentation on how to use the robots.txt file
2
+ #
3
+ # To ban all spiders from the entire site uncomment the next two lines:
4
+ # User-Agent: *
5
+ # Disallow: /
@@ -0,0 +1,53 @@
1
+ body { background-color: #fff; color: #333; }
2
+
3
+ body, p, ol, ul, td {
4
+ font-family: verdana, arial, helvetica, sans-serif;
5
+ font-size: 13px;
6
+ line-height: 18px;
7
+ }
8
+
9
+ pre {
10
+ background-color: #eee;
11
+ padding: 10px;
12
+ font-size: 11px;
13
+ }
14
+
15
+ a { color: #000; }
16
+ a:hover { color: #666; }
17
+
18
+ .fieldWithErrors {
19
+ padding: 2px;
20
+ background-color: red;
21
+ display: table;
22
+ }
23
+
24
+ #errorExplanation {
25
+ width: 400px;
26
+ border: 2px solid red;
27
+ padding: 7px;
28
+ padding-bottom: 12px;
29
+ margin-bottom: 20px;
30
+ background-color: #f0f0f0;
31
+ }
32
+
33
+ #errorExplanation h2 {
34
+ text-align: left;
35
+ font-weight: bold;
36
+ padding: 5px 5px 5px 15px;
37
+ font-size: 12px;
38
+ margin: -7px;
39
+ background-color: #c00;
40
+ color: #fff;
41
+ }
42
+
43
+ #errorExplanation p {
44
+ color: #333;
45
+ margin-bottom: 0;
46
+ padding: 5px;
47
+ }
48
+
49
+ #errorExplanation ul li {
50
+ font-size: 12px;
51
+ list-style: square;
52
+ }
53
+
@@ -0,0 +1,10 @@
1
+ /* SORTABLE_TABLE */
2
+
3
+ th.ascending a {
4
+ background: url(/images/sort-ascending-arrow.gif) 0% 50% no-repeat;
5
+ padding-left: 15px;
6
+ }
7
+ th.descending a {
8
+ background: url(/images/sort-descending-arrow.gif) 0% 50% no-repeat;
9
+ padding-left: 15px;
10
+ }
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/about'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/console'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/dbconsole'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/destroy'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/generate'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/benchmarker'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/profiler'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/performance/request'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/plugin'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/inspector'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/reaper'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../../config/boot'
3
+ require 'commands/process/spawner'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/runner'
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require File.dirname(__FILE__) + '/../config/boot'
3
+ require 'commands/server'
@@ -0,0 +1,17 @@
1
+ Factory.define :user do |user|
2
+ user.email { Factory.next :email }
3
+ user.name { Factory.next :name }
4
+ user.age { Factory.next :age }
5
+ end
6
+
7
+ Factory.sequence :email do |each|
8
+ "email#{each}@example.com"
9
+ end
10
+
11
+ Factory.sequence :name do |each|
12
+ "name#{each}"
13
+ end
14
+
15
+ Factory.sequence :age do |each|
16
+ each
17
+ end
@@ -0,0 +1,15 @@
1
+ require File.dirname(__FILE__) + '/../test_helper'
2
+
3
+ class UsersControllerTest < ActionController::TestCase
4
+
5
+ context 'GET to index with sort and order params' do
6
+ setup do
7
+ 2.times { |each| Factory :user }
8
+ end
9
+
10
+ # should_sort_by :name
11
+ should_sort_by :email # Hash syntax
12
+ should_sort_by :age
13
+ end
14
+
15
+ end
@@ -0,0 +1,32 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3
+ require 'test_help'
4
+ require 'rubygems'
5
+
6
+ gem 'mocha'
7
+ gem 'thoughtbot-quietbacktrace'
8
+ gem 'thoughtbot-shoulda'
9
+ gem 'thoughtbot-factory_girl'
10
+ gem 'redgreen'
11
+
12
+ require 'mocha'
13
+ require 'quietbacktrace'
14
+ require 'shoulda'
15
+ require 'factory_girl'
16
+ require 'redgreen'
17
+
18
+ Dir[File.join(RAILS_ROOT, 'test', 'factories', '*.rb')].each do |file|
19
+ require file
20
+ end
21
+
22
+ class Test::Unit::TestCase
23
+
24
+ self.backtrace_silencers << :rails_vendor
25
+ self.backtrace_filters << :rails_root
26
+
27
+ self.use_transactional_fixtures = true
28
+ self.use_instantiated_fixtures = false
29
+
30
+ include SortableTable::Test::TestHelper
31
+
32
+ end
@@ -0,0 +1,46 @@
1
+ # this needs way more tests
2
+ context 'sortable_table_header' do
3
+ setup do
4
+ self.stubs(:params).returns({ :controller => :jobs, :action => :index, :sort => nil, :order => nil })
5
+ end
6
+
7
+ [:name, :sort].each do |param|
8
+ should "raise an error without default param #{param}" do
9
+ opts = { :name => 'name', :sort => 'sort' }
10
+ opts.delete param
11
+ assert_raise(ArgumentError) do
12
+ sortable_table_header opts
13
+ end
14
+ end
15
+ end
16
+
17
+ context 'with no params[:sort] or params[:order]' do
18
+ setup do
19
+ @html = sortable_table_header(:name => 'Title', :sort => 'title', :title => 'Sort by title')
20
+ end
21
+
22
+ should 'return a table header without a class attribute' do
23
+ assert @html.include?('<th>')
24
+ end
25
+ end
26
+
27
+ context "without an :anchor" do
28
+ setup do
29
+ @html = sortable_table_header(:name => 'Title', :sort => 'title', :title => 'Sort by title')
30
+ end
31
+
32
+ should 'return a link that contains a url with no anchor' do
33
+ assert @html.match(/href="[^#]+?"/)
34
+ end
35
+ end
36
+
37
+ context "with an :anchor" do
38
+ setup do
39
+ @html = sortable_table_header(:name => 'Title', :sort => 'title', :title => 'Sort by title', :anchor => 'search-results')
40
+ end
41
+
42
+ should 'return a link that contains a url with that anchor' do
43
+ assert @html.match(/href="[^"]*?#search-results"/)
44
+ end
45
+ end
46
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dancroak-sortable_table
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Croak
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2009-01-01 21:00:00 -08:00
14
+ date: 2008-10-16 00:00:00 -07:00
15
15
  default_executable:
16
16
  dependencies: []
17
17
 
@@ -26,16 +26,232 @@ extra_rdoc_files: []
26
26
  files:
27
27
  - MIT-LICENSE
28
28
  - Rakefile
29
- - README.textile
30
- - TODO.textile
29
+ - README.markdown
30
+ - VERSION.yml
31
31
  - lib/sortable_table
32
32
  - lib/sortable_table/app
33
33
  - lib/sortable_table/app/controllers
34
34
  - lib/sortable_table/app/controllers/application_controller.rb
35
35
  - lib/sortable_table/app/helpers
36
36
  - lib/sortable_table/app/helpers/application_helper.rb
37
+ - lib/sortable_table/test
38
+ - lib/sortable_table/test/test_helper.rb
37
39
  - lib/sortable_table.rb
38
40
  - rails/init.rb
41
+ - test/rails_root
42
+ - test/rails_root/app
43
+ - test/rails_root/app/controllers
44
+ - test/rails_root/app/controllers/application.rb
45
+ - test/rails_root/app/controllers/users_controller.rb
46
+ - test/rails_root/app/helpers
47
+ - test/rails_root/app/helpers/application_helper.rb
48
+ - test/rails_root/app/helpers/users_helper.rb
49
+ - test/rails_root/app/models
50
+ - test/rails_root/app/models/user.rb
51
+ - test/rails_root/app/views
52
+ - test/rails_root/app/views/layouts
53
+ - test/rails_root/app/views/layouts/users.html.erb
54
+ - test/rails_root/app/views/users
55
+ - test/rails_root/app/views/users/index.html.erb
56
+ - test/rails_root/config
57
+ - test/rails_root/config/boot.rb
58
+ - test/rails_root/config/database.yml
59
+ - test/rails_root/config/environment.rb
60
+ - test/rails_root/config/environments
61
+ - test/rails_root/config/environments/development.rb
62
+ - test/rails_root/config/environments/test.rb
63
+ - test/rails_root/config/initializers
64
+ - test/rails_root/config/initializers/new_rails_defaults.rb
65
+ - test/rails_root/config/routes.rb
66
+ - test/rails_root/db
67
+ - test/rails_root/db/development.sqlite3
68
+ - test/rails_root/db/migrate
69
+ - test/rails_root/db/migrate/20080819225020_create_users.rb
70
+ - test/rails_root/db/production.sqlite3
71
+ - test/rails_root/db/schema.rb
72
+ - test/rails_root/db/test.sqlite3
73
+ - test/rails_root/log
74
+ - test/rails_root/log/development.log
75
+ - test/rails_root/log/production.log
76
+ - test/rails_root/log/server.log
77
+ - test/rails_root/public
78
+ - test/rails_root/public/404.html
79
+ - test/rails_root/public/422.html
80
+ - test/rails_root/public/500.html
81
+ - test/rails_root/public/dispatch.cgi
82
+ - test/rails_root/public/dispatch.fcgi
83
+ - test/rails_root/public/dispatch.rb
84
+ - test/rails_root/public/favicon.ico
85
+ - test/rails_root/public/images
86
+ - test/rails_root/public/images/rails.png
87
+ - test/rails_root/public/images/sort-ascending-arrow.gif
88
+ - test/rails_root/public/images/sort-descending-arrow.gif
89
+ - test/rails_root/public/index.html
90
+ - test/rails_root/public/javascripts
91
+ - test/rails_root/public/javascripts/application.js
92
+ - test/rails_root/public/javascripts/controls.js
93
+ - test/rails_root/public/javascripts/dragdrop.js
94
+ - test/rails_root/public/javascripts/effects.js
95
+ - test/rails_root/public/javascripts/prototype.js
96
+ - test/rails_root/public/robots.txt
97
+ - test/rails_root/public/stylesheets
98
+ - test/rails_root/public/stylesheets/scaffold.css
99
+ - test/rails_root/public/stylesheets/sortable.css
100
+ - test/rails_root/Rakefile
101
+ - test/rails_root/script
102
+ - test/rails_root/script/about
103
+ - test/rails_root/script/console
104
+ - test/rails_root/script/dbconsole
105
+ - test/rails_root/script/destroy
106
+ - test/rails_root/script/generate
107
+ - test/rails_root/script/performance
108
+ - test/rails_root/script/performance/benchmarker
109
+ - test/rails_root/script/performance/profiler
110
+ - test/rails_root/script/performance/request
111
+ - test/rails_root/script/plugin
112
+ - test/rails_root/script/process
113
+ - test/rails_root/script/process/inspector
114
+ - test/rails_root/script/process/reaper
115
+ - test/rails_root/script/process/spawner
116
+ - test/rails_root/script/runner
117
+ - test/rails_root/script/server
118
+ - test/rails_root/test
119
+ - test/rails_root/test/factories
120
+ - test/rails_root/test/factories/user_factory.rb
121
+ - test/rails_root/test/functional
122
+ - test/rails_root/test/functional/users_controller_test.rb
123
+ - test/rails_root/test/test_helper.rb
124
+ - test/rails_root/test/units
125
+ - test/rails_root/test/units/helpers
126
+ - test/rails_root/test/units/helpers/application_helper_test.rb
127
+ - test/rails_root/tmp
128
+ - test/rails_root/tmp/cache
129
+ - test/rails_root/tmp/pids
130
+ - test/rails_root/tmp/sessions
131
+ - test/rails_root/tmp/sockets
132
+ - test/rails_root/vendor
133
+ - test/rails_root/vendor/plugins
134
+ - test/rails_root/vendor/plugins/shoulda
135
+ - test/rails_root/vendor/plugins/shoulda/bin
136
+ - test/rails_root/vendor/plugins/shoulda/bin/convert_to_should_syntax
137
+ - test/rails_root/vendor/plugins/shoulda/CONTRIBUTION_GUIDELINES.rdoc
138
+ - test/rails_root/vendor/plugins/shoulda/init.rb
139
+ - test/rails_root/vendor/plugins/shoulda/lib
140
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda
141
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/active_record_helpers.rb
142
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/color.rb
143
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/controller_tests
144
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/controller_tests/controller_tests.rb
145
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats
146
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/html.rb
147
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/controller_tests/formats/xml.rb
148
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/gem
149
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/gem/proc_extensions.rb
150
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/gem/shoulda.rb
151
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/general.rb
152
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda/private_helpers.rb
153
+ - test/rails_root/vendor/plugins/shoulda/lib/shoulda.rb
154
+ - test/rails_root/vendor/plugins/shoulda/MIT-LICENSE
155
+ - test/rails_root/vendor/plugins/shoulda/Rakefile
156
+ - test/rails_root/vendor/plugins/shoulda/README.rdoc
157
+ - test/rails_root/vendor/plugins/shoulda/tasks
158
+ - test/rails_root/vendor/plugins/shoulda/tasks/list_tests.rake
159
+ - test/rails_root/vendor/plugins/shoulda/tasks/yaml_to_shoulda.rake
160
+ - test/rails_root/vendor/plugins/shoulda/test
161
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures
162
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/addresses.yml
163
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/posts.yml
164
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/products.yml
165
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/taggings.yml
166
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/tags.yml
167
+ - test/rails_root/vendor/plugins/shoulda/test/fixtures/users.yml
168
+ - test/rails_root/vendor/plugins/shoulda/test/functional
169
+ - test/rails_root/vendor/plugins/shoulda/test/functional/posts_controller_test.rb
170
+ - test/rails_root/vendor/plugins/shoulda/test/functional/users_controller_test.rb
171
+ - test/rails_root/vendor/plugins/shoulda/test/other
172
+ - test/rails_root/vendor/plugins/shoulda/test/other/context_test.rb
173
+ - test/rails_root/vendor/plugins/shoulda/test/other/convert_to_should_syntax_test.rb
174
+ - test/rails_root/vendor/plugins/shoulda/test/other/helpers_test.rb
175
+ - test/rails_root/vendor/plugins/shoulda/test/other/private_helpers_test.rb
176
+ - test/rails_root/vendor/plugins/shoulda/test/other/should_test.rb
177
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root
178
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app
179
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/controllers
180
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/controllers/application.rb
181
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/controllers/posts_controller.rb
182
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/controllers/users_controller.rb
183
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/helpers
184
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/helpers/application_helper.rb
185
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/helpers/posts_helper.rb
186
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/helpers/users_helper.rb
187
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models
188
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/address.rb
189
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/dog.rb
190
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/flea.rb
191
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/post.rb
192
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/product.rb
193
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/tag.rb
194
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/tagging.rb
195
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/models/user.rb
196
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views
197
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/layouts
198
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/layouts/posts.rhtml
199
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/layouts/users.rhtml
200
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/posts
201
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/posts/edit.rhtml
202
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/posts/index.rhtml
203
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/posts/new.rhtml
204
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/posts/show.rhtml
205
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/users
206
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/users/edit.rhtml
207
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/users/index.rhtml
208
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/users/new.rhtml
209
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/app/views/users/show.rhtml
210
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config
211
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/boot.rb
212
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/database.yml
213
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/environment.rb
214
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/environments
215
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/environments/sqlite3.rb
216
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/initializers
217
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/initializers/new_rails_defaults.rb
218
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/initializers/shoulda.rb
219
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/config/routes.rb
220
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db
221
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate
222
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/001_create_users.rb
223
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/002_create_posts.rb
224
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/003_create_taggings.rb
225
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/004_create_tags.rb
226
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/005_create_dogs.rb
227
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/006_create_addresses.rb
228
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/007_create_fleas.rb
229
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/008_create_dogs_fleas.rb
230
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/migrate/009_create_products.rb
231
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/db/schema.rb
232
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/log
233
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/public
234
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/public/404.html
235
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/public/422.html
236
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/public/500.html
237
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/script
238
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/script/console
239
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/script/generate
240
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/vendor
241
+ - test/rails_root/vendor/plugins/shoulda/test/rails_root/vendor/plugins
242
+ - test/rails_root/vendor/plugins/shoulda/test/README
243
+ - test/rails_root/vendor/plugins/shoulda/test/test_helper.rb
244
+ - test/rails_root/vendor/plugins/shoulda/test/unit
245
+ - test/rails_root/vendor/plugins/shoulda/test/unit/address_test.rb
246
+ - test/rails_root/vendor/plugins/shoulda/test/unit/dog_test.rb
247
+ - test/rails_root/vendor/plugins/shoulda/test/unit/flea_test.rb
248
+ - test/rails_root/vendor/plugins/shoulda/test/unit/post_test.rb
249
+ - test/rails_root/vendor/plugins/shoulda/test/unit/product_test.rb
250
+ - test/rails_root/vendor/plugins/shoulda/test/unit/tag_test.rb
251
+ - test/rails_root/vendor/plugins/shoulda/test/unit/tagging_test.rb
252
+ - test/rails_root/vendor/plugins/shoulda/test/unit/user_test.rb
253
+ - test/rails_root/vendor/plugins/sortable
254
+ - test/rails_root/vendor/plugins/sortable/init.rb
39
255
  has_rdoc: false
40
256
  homepage: http://github.com/dancroak/sortable_table
41
257
  post_install_message:
data/README.textile DELETED
@@ -1,136 +0,0 @@
1
- h1. Sortable Table
2
-
3
- Sort HTML tables in a Rails app.
4
-
5
- h2. Install
6
-
7
- script/plugin install git://github.com/dancroak/sortable_table.git
8
-
9
- In app/controllers/application_controller.rb:
10
-
11
- class ApplicationController < ActionController::Base
12
- include SortableTable::App::Controllers::ApplicationController
13
- end
14
-
15
- In app/helpers/application_helper.rb:
16
-
17
- module ApplicationHelper
18
- include SortableTable::App::Helpers::ApplicationHelper
19
- end
20
-
21
- h2. Testing
22
-
23
- context "enough Users to sort" do
24
- setup do
25
- 5.times { Factory :user }
26
- end
27
-
28
- should_sort_by_attributes :name, :email, :age, :group => "groups.name"
29
-
30
- context "GET to #index" do
31
- setup { get :index }
32
-
33
- should_display_sortable_table_header_for :name, :email, :age, :group
34
- end
35
- end
36
-
37
- This is the common case for a RESTful UsersController.
38
-
39
- * should_sort_by_attributes tests that the controller's index action can sort by the attributes.
40
- * should_display_sortable_header_for tests that a sortable header displays for the attributes.
41
-
42
- h2. Controller
43
-
44
- class UsersController < Admin::BaseController
45
- sortable_attributes :name, :email, :age, :group => "groups.name"
46
-
47
- def index
48
- @users = User.paginate :page => params[:page], :order => sort_order
49
- end
50
- end
51
-
52
- sortable_attributes defines a sort_order method that gets called in your action.
53
-
54
- If the index action is rendered without a params[:sort] option, @users will be sorted by :name, the first option in the list of sortable_attributes.
55
-
56
- h2. View
57
-
58
- <pre><code>
59
- <h1>Users</h1>
60
- <table>
61
- <tr>
62
- <%= sortable_table_header :name => "Name", :sort => "name" %>
63
- <%= sortable_table_header :name => "Email", :sort => "email" %>
64
- <%= sortable_table_header :name => "Age", :sort => "age" %>
65
- <%= sortable_table_header :name => "Group", :sort => "group" %>
66
- </tr>
67
- <% @users.each do |user| %>
68
- <tr>
69
- <td><%= html_escape(user.name) %></td>
70
- <td><%= html_escape(user.email) %></td>
71
- <td><%= html_escape(user.age) %></td>
72
- <td><%= html_escape(user.group.name) %></td>
73
- </tr>
74
- <% end %>
75
- </table>
76
- </code></pre>
77
-
78
- sortable_table_header creates a table header containing a link with the correct :sort and :order params. It also has a class of "ascending" or "descending" so you can add styles with arrows.
79
-
80
- h2. Example styles
81
-
82
- th.ascending a {
83
- background: url(/images/sort-ascending-arrow.gif) 0% 50% no-repeat;
84
- padding-left: 15px;
85
- }
86
-
87
- th.descending a {
88
- background: url(/images/sort-descending-arrow.gif) 0% 50% no-repeat;
89
- padding-left: 15px;
90
- }
91
-
92
- h2. Overriding defaults
93
-
94
- h3. should_sort_by_attributes
95
-
96
- Opinionated defaults:
97
-
98
- * GET to :index
99
- * collection same name as controller (@users for UsersController)
100
- * model name same name as controller (User for UsersController
101
-
102
- If you need to test another action (or a nested controller), pass a block:
103
-
104
- should_sort_by_attributes :age do |sort, order|
105
- get :show, :sort => sort, :order => order, :group_id => @group.id
106
- end
107
-
108
- If you need to test another collection or model name, use should_sort_by.
109
-
110
- h3. should_sort_by
111
-
112
- The :collection, :model_name, and :action options of should_sort_by.
113
-
114
- context "with a non-standard collection name" do
115
- action = lambda { |sort, order| get :members, :sort => sort, :order => order }
116
- should_sort_by :name, { :collection => "members",
117
- :model_name => "user",
118
- :action => action } do |user|
119
- user.name
120
- end
121
- end
122
-
123
- h3. sort_order
124
-
125
- The default sort order is descending. This applies to the first time you click on a table header. You can override this to be ascending:
126
-
127
- def index
128
- @users = User.find :all, :order => sort_order("ascending")
129
- end
130
-
131
- Authors
132
- -------
133
-
134
- Dan Croak, Joe Ferris, Jason Morrison and Boston.rb.
135
-
136
- Copyright (c) 2008 Dan Croak, released under the MIT license
data/TODO.textile DELETED
@@ -1,2 +0,0 @@
1
- * replace created_on with created_at
2
-