magic_grid 0.11.1 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +1 -0
- data/Rakefile +2 -2
- data/lib/assets/javascripts/magic_grid.js +7 -6
- data/lib/magic_grid/collection.rb +115 -67
- data/lib/magic_grid/column.rb +93 -0
- data/lib/magic_grid/definition.rb +67 -120
- data/lib/magic_grid/helpers.rb +5 -249
- data/lib/magic_grid/html_grid.rb +275 -0
- data/lib/magic_grid/version.rb +1 -1
- data/spec/collection_spec.rb +139 -8
- data/spec/column_spec.rb +72 -0
- data/spec/definition_spec.rb +63 -35
- data/spec/helpers_spec.rb +71 -93
- data/spec/html_grid_spec.rb +117 -0
- data/spec/spec_helper.rb +36 -4
- data/test/dummy/app/controllers/users_controller.rb +4 -0
- metadata +121 -115
@@ -0,0 +1,117 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'magic_grid/html_grid'
|
3
|
+
require 'magic_grid/definition'
|
4
|
+
|
5
|
+
describe MagicGrid::HtmlGrid do
|
6
|
+
|
7
|
+
let(:empty_collection) { [] }
|
8
|
+
let(:column_list) { [:name, :description] }
|
9
|
+
let(:controller) { make_controller }
|
10
|
+
# Kaminari uses view_renderer instead of controller
|
11
|
+
let(:view_renderer) { controller }
|
12
|
+
|
13
|
+
describe "#grid_row" do
|
14
|
+
let(:tracer) { "OMG A MAGIC CELL!" }
|
15
|
+
|
16
|
+
context "with a callable column option" do
|
17
|
+
let(:record) { 1 }
|
18
|
+
|
19
|
+
it "should use :to_s as a method if callable" do
|
20
|
+
callable = double.tap do |c|
|
21
|
+
c.should_receive(:call).with( record ) { tracer }
|
22
|
+
end
|
23
|
+
cols = [ {col: 'Col', to_s: callable} ]
|
24
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
25
|
+
grid.grid_row( record ).should include(tracer)
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should use :col as a method if callable" do
|
29
|
+
callable = double.tap do |c|
|
30
|
+
c.should_receive(:call).with( record ) { tracer }
|
31
|
+
end
|
32
|
+
cols = [ {col: callable, label: "Column"} ]
|
33
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
34
|
+
grid.grid_row( record ).should include(tracer)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "with a symbol that is a method on the record" do
|
39
|
+
let(:record) { double(1) }
|
40
|
+
|
41
|
+
it "should use :to_s as a method on record if it responds to it" do
|
42
|
+
record.should_receive(:some_inconceivable_method_name) { tracer }
|
43
|
+
cols = [ {col: :some_col, to_s: :some_inconceivable_method_name} ]
|
44
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
45
|
+
grid.grid_row( record ).should include(tracer)
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should use :col as a method on record if it responds to it" do
|
49
|
+
record.should_receive(:some_inconceivable_method_name) { tracer }
|
50
|
+
cols = [ {col: :some_inconceivable_method_name} ]
|
51
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
52
|
+
grid.grid_row( record ).should include(tracer)
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "#magic_column_headers" do
|
58
|
+
it "should allow a string as a column definition" do
|
59
|
+
title = "A String"
|
60
|
+
cols = [title]
|
61
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
62
|
+
grid.magic_column_headers.should include(title)
|
63
|
+
end
|
64
|
+
it "should use :label if no :sql is given" do
|
65
|
+
title = "A String"
|
66
|
+
cols = [{label: title}]
|
67
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
68
|
+
grid.magic_column_headers.should include(title)
|
69
|
+
end
|
70
|
+
it "should make a sortable header if :sql is specified" do
|
71
|
+
tracer = "A MAGIC BULL??"
|
72
|
+
col = {sql: 'some_col'}
|
73
|
+
cols = [col]
|
74
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols), self
|
75
|
+
# TODO: check parameters to sortable_header
|
76
|
+
#self.should_receive(:sortable_header).with(grid, col, {}) { tracer }
|
77
|
+
grid.should_receive(:sortable_header) { tracer }
|
78
|
+
grid.magic_column_headers.should include(tracer)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe "#searcher_input" do
|
83
|
+
searchable_opts = { needs_searcher: true }
|
84
|
+
it "renders a search field" do
|
85
|
+
cols = [:some_col]
|
86
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols, nil, nil, searchable_opts), self
|
87
|
+
grid.searcher_input.should match_select("input[type=search]")
|
88
|
+
end
|
89
|
+
it "renders a search button if told to" do
|
90
|
+
tracer = "ZOMG! A BUTTON!"
|
91
|
+
cols = [:some_col]
|
92
|
+
opts = searchable_opts.merge(search_button: true,
|
93
|
+
searcher_button: tracer)
|
94
|
+
grid = MagicGrid::HtmlGrid.new MagicGrid::Definition.new(cols, nil, nil, opts), self
|
95
|
+
grid.searcher_input.should match_select("button", text: tracer)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
describe "column sorting helpers" do
|
100
|
+
subject { MagicGrid::HtmlGrid.new nil, self }
|
101
|
+
it "#reverse_order" do
|
102
|
+
subject.reverse_order(0).should == 1
|
103
|
+
subject.reverse_order(1).should == 0
|
104
|
+
subject.reverse_order(2).should == 0
|
105
|
+
end
|
106
|
+
it "#order_icon" do
|
107
|
+
subject.order_icon(0).should match_select('span.ui-icon-triangle-1-n')
|
108
|
+
subject.order_icon(1).should match_select('span.ui-icon-triangle-1-s')
|
109
|
+
subject.order_icon(2).should match_select('span.ui-icon-carat-2-n-s')
|
110
|
+
end
|
111
|
+
it "#order_class" do
|
112
|
+
subject.order_class(0).should == 'sort-asc'
|
113
|
+
subject.order_class(1).should == 'sort-desc'
|
114
|
+
subject.order_class(2).should == 'sort-none'
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -11,9 +11,8 @@ end
|
|
11
11
|
|
12
12
|
require 'magic_grid/logger'
|
13
13
|
require 'action_view'
|
14
|
-
require '
|
14
|
+
require 'action_dispatch'
|
15
15
|
require 'test/unit'
|
16
|
-
require 'action_controller'
|
17
16
|
|
18
17
|
begin
|
19
18
|
require 'will_paginate'
|
@@ -32,8 +31,6 @@ rescue LoadError
|
|
32
31
|
puts "skipping Kaminari"
|
33
32
|
end
|
34
33
|
|
35
|
-
Rails.backtrace_cleaner.remove_silencers!
|
36
|
-
|
37
34
|
class NullObject
|
38
35
|
def method_missing(*args, &block) self; end
|
39
36
|
def nil?; true; end
|
@@ -44,6 +41,17 @@ module ActionFaker
|
|
44
41
|
def url_for(*args)
|
45
42
|
"fake_url(#{args.inspect})"
|
46
43
|
end
|
44
|
+
|
45
|
+
def make_controller
|
46
|
+
request = double.tap { |r|
|
47
|
+
r.stub(:fullpath, "/foo?page=bar")
|
48
|
+
}
|
49
|
+
double.tap { |v|
|
50
|
+
v.stub(:render)
|
51
|
+
v.stub(:params) { {} }
|
52
|
+
v.stub(:request) { request }
|
53
|
+
}
|
54
|
+
end
|
47
55
|
end
|
48
56
|
|
49
57
|
class TextSelector
|
@@ -60,6 +68,29 @@ RSpec::Matchers.define :match_select do |*expected|
|
|
60
68
|
end
|
61
69
|
end
|
62
70
|
|
71
|
+
module FakeCollections
|
72
|
+
def fake_connection
|
73
|
+
double(:connection).tap do |c|
|
74
|
+
c.stub(:quote_column_name) { |col| col.to_s }
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def fake_active_record_collection(table_name = 'some_table',
|
79
|
+
columns = [:name, :description])
|
80
|
+
(1..1000).to_a.tap do |c|
|
81
|
+
c.stub(connection: fake_connection)
|
82
|
+
c.stub(quoted_table_name: table_name)
|
83
|
+
c.stub(table_name: table_name)
|
84
|
+
c.stub(to_sql: "SELECT * FROM MONKEYS")
|
85
|
+
c.stub(:table) {
|
86
|
+
double.tap do |t|
|
87
|
+
t.stub(:columns) { columns.map{|c| {name: c} } }
|
88
|
+
end
|
89
|
+
}
|
90
|
+
c.stub(:where) { c }
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
63
94
|
|
64
95
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
65
96
|
RSpec.configure do |config|
|
@@ -71,6 +102,7 @@ RSpec.configure do |config|
|
|
71
102
|
config.include WillPaginate::ActionView if Module.const_defined? :WillPaginate
|
72
103
|
config.include Kaminari::ActionViewExtension if Module.const_defined? :Kaminari
|
73
104
|
config.include ActionFaker
|
105
|
+
config.include FakeCollections
|
74
106
|
|
75
107
|
config.before do
|
76
108
|
MagicGrid.logger = NullObject.new
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_grid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.12.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-09 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -91,112 +91,116 @@ dependencies:
|
|
91
91
|
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
version: 2.11.0
|
94
|
-
description: ! " Displays a collection (ActiveRelation or Array) wrapped
|
95
|
-
html table with server
|
96
|
-
Large collections can be
|
97
|
-
gem if you use them, or a naive
|
98
|
-
if neither is present.\n"
|
94
|
+
description: ! " Displays a collection (ActiveRelation or Array-like object) wrapped
|
95
|
+
in an\n html table with server side column sorting, filtering hooks, and search\n
|
96
|
+
\ bar. Large collections can be paginated with either the will_paginate gem\n
|
97
|
+
\ or kaminari gem if you use them, or a naive Enumerable based paginator\n (without
|
98
|
+
pager links) if neither is present.\n"
|
99
99
|
email:
|
100
100
|
- r.m.graham@gmail.com
|
101
101
|
executables: []
|
102
102
|
extensions: []
|
103
103
|
extra_rdoc_files: []
|
104
104
|
files:
|
105
|
+
- lib/tasks/magic_grid_tasks.rake
|
105
106
|
- lib/magic_grid.rb
|
106
107
|
- lib/assets/javascripts/magic_grid.js
|
107
|
-
- lib/tasks/magic_grid_tasks.rake
|
108
|
-
- lib/magic_grid/version.rb
|
109
|
-
- lib/magic_grid/helpers.rb
|
110
108
|
- lib/magic_grid/collection.rb
|
111
|
-
- lib/magic_grid/engine.rb
|
112
|
-
- lib/magic_grid/logger.rb
|
113
109
|
- lib/magic_grid/definition.rb
|
110
|
+
- lib/magic_grid/html_grid.rb
|
111
|
+
- lib/magic_grid/helpers.rb
|
112
|
+
- lib/magic_grid/column.rb
|
113
|
+
- lib/magic_grid/version.rb
|
114
|
+
- lib/magic_grid/logger.rb
|
115
|
+
- lib/magic_grid/engine.rb
|
114
116
|
- lib/locales/en.yml
|
115
117
|
- MIT-LICENSE
|
116
118
|
- Rakefile
|
117
119
|
- README.md
|
118
|
-
- spec/
|
119
|
-
- spec/logger_spec.rb
|
120
|
+
- spec/column_spec.rb
|
120
121
|
- spec/spec_helper.rb
|
121
122
|
- spec/helpers_spec.rb
|
123
|
+
- spec/html_grid_spec.rb
|
124
|
+
- spec/collection_spec.rb
|
122
125
|
- spec/definition_spec.rb
|
123
|
-
-
|
126
|
+
- spec/logger_spec.rb
|
124
127
|
- test/test_helper.rb
|
125
|
-
- test/
|
128
|
+
- test/magic_grid_test.rb
|
129
|
+
- test/dummy/config.ru
|
130
|
+
- test/dummy/Rakefile
|
126
131
|
- test/dummy/public/favicon.ico
|
127
|
-
- test/dummy/public/css/smoothness/images/ui-
|
132
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
|
133
|
+
- test/dummy/public/css/smoothness/images/ui-icons_454545_256x240.png
|
128
134
|
- test/dummy/public/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
|
129
|
-
- test/dummy/public/css/smoothness/images/ui-
|
130
|
-
- test/dummy/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
135
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
|
131
136
|
- test/dummy/public/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
|
132
|
-
- test/dummy/public/css/smoothness/images/ui-
|
133
|
-
- test/dummy/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
137
|
+
- test/dummy/public/css/smoothness/images/ui-icons_222222_256x240.png
|
134
138
|
- test/dummy/public/css/smoothness/images/ui-icons_888888_256x240.png
|
139
|
+
- test/dummy/public/css/smoothness/images/ui-icons_cd0a0a_256x240.png
|
135
140
|
- test/dummy/public/css/smoothness/images/ui-icons_2e83ff_256x240.png
|
136
|
-
- test/dummy/public/css/smoothness/images/ui-
|
137
|
-
- test/dummy/public/css/smoothness/images/ui-
|
138
|
-
- test/dummy/public/css/smoothness/images/ui-
|
139
|
-
- test/dummy/public/css/smoothness/images/ui-
|
141
|
+
- test/dummy/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
142
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
|
143
|
+
- test/dummy/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
144
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
|
140
145
|
- test/dummy/public/css/smoothness/jquery-ui-1.8.18.custom.css
|
141
|
-
- test/dummy/public/404.html
|
142
146
|
- test/dummy/public/422.html
|
143
|
-
- test/dummy/
|
144
|
-
- test/dummy/
|
145
|
-
- test/dummy/app/helpers/users_helper.rb
|
147
|
+
- test/dummy/public/404.html
|
148
|
+
- test/dummy/public/500.html
|
146
149
|
- test/dummy/app/helpers/posts_helper.rb
|
147
150
|
- test/dummy/app/helpers/application_helper.rb
|
151
|
+
- test/dummy/app/helpers/users_helper.rb
|
152
|
+
- test/dummy/app/controllers/users_controller.rb
|
153
|
+
- test/dummy/app/controllers/posts_controller.rb
|
154
|
+
- test/dummy/app/controllers/application_controller.rb
|
155
|
+
- test/dummy/app/models/user.rb
|
156
|
+
- test/dummy/app/models/post.rb
|
148
157
|
- test/dummy/app/assets/javascripts/application.js
|
149
158
|
- test/dummy/app/assets/javascripts/users.js
|
150
159
|
- test/dummy/app/assets/javascripts/posts.js
|
151
|
-
- test/dummy/app/assets/stylesheets/posts.css
|
152
160
|
- test/dummy/app/assets/stylesheets/users.css
|
153
161
|
- test/dummy/app/assets/stylesheets/scaffold.css
|
162
|
+
- test/dummy/app/assets/stylesheets/posts.css
|
154
163
|
- test/dummy/app/assets/stylesheets/application.css
|
155
|
-
- test/dummy/app/views/layouts/application.html.erb
|
156
|
-
- test/dummy/app/views/users/index.html.erb
|
157
|
-
- test/dummy/app/views/users/show.html.erb
|
158
164
|
- test/dummy/app/views/users/_form.html.erb
|
165
|
+
- test/dummy/app/views/users/index.html.erb
|
159
166
|
- test/dummy/app/views/users/edit.html.erb
|
167
|
+
- test/dummy/app/views/users/show.html.erb
|
160
168
|
- test/dummy/app/views/users/new.html.erb
|
161
|
-
- test/dummy/app/views/
|
162
|
-
- test/dummy/app/views/posts/index.html.erb
|
163
|
-
- test/dummy/app/views/posts/show.html.erb
|
169
|
+
- test/dummy/app/views/layouts/application.html.erb
|
164
170
|
- test/dummy/app/views/posts/_form.html.erb
|
171
|
+
- test/dummy/app/views/posts/index.html.erb
|
165
172
|
- test/dummy/app/views/posts/edit.html.erb
|
173
|
+
- test/dummy/app/views/posts/show.html.erb
|
174
|
+
- test/dummy/app/views/posts/by_user.html.erb
|
166
175
|
- test/dummy/app/views/posts/new.html.erb
|
167
|
-
- test/dummy/app/controllers/users_controller.rb
|
168
|
-
- test/dummy/app/controllers/application_controller.rb
|
169
|
-
- test/dummy/app/controllers/posts_controller.rb
|
170
|
-
- test/dummy/test/unit/helpers/posts_helper_test.rb
|
171
|
-
- test/dummy/test/unit/helpers/users_helper_test.rb
|
172
|
-
- test/dummy/test/unit/post_test.rb
|
173
|
-
- test/dummy/test/unit/user_test.rb
|
174
|
-
- test/dummy/test/integration/spider_test.rb
|
175
|
-
- test/dummy/test/fixtures/users.yml
|
176
|
-
- test/dummy/test/fixtures/posts.yml
|
177
|
-
- test/dummy/test/functional/posts_controller_test.rb
|
178
|
-
- test/dummy/test/functional/users_controller_test.rb
|
179
|
-
- test/dummy/db/migrate/20111025191809_create_users.rb
|
180
176
|
- test/dummy/db/migrate/20111025195229_create_posts.rb
|
177
|
+
- test/dummy/db/migrate/20111025191809_create_users.rb
|
181
178
|
- test/dummy/db/schema.rb
|
182
|
-
- test/dummy/config.ru
|
183
179
|
- test/dummy/script/rails
|
184
|
-
- test/dummy/
|
185
|
-
- test/dummy/config/application.rb
|
186
|
-
- test/dummy/config/database.yml
|
187
|
-
- test/dummy/config/routes.rb
|
188
|
-
- test/dummy/config/boot.rb
|
189
|
-
- test/dummy/config/environments/development.rb
|
190
|
-
- test/dummy/config/environments/production.rb
|
191
|
-
- test/dummy/config/environments/test.rb
|
192
|
-
- test/dummy/config/locales/en.yml
|
193
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
194
|
-
- test/dummy/config/initializers/session_store.rb
|
180
|
+
- test/dummy/config/initializers/mime_types.rb
|
195
181
|
- test/dummy/config/initializers/inflections.rb
|
182
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
196
183
|
- test/dummy/config/initializers/secret_token.rb
|
197
184
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
198
|
-
- test/dummy/config/initializers/
|
185
|
+
- test/dummy/config/initializers/session_store.rb
|
186
|
+
- test/dummy/config/boot.rb
|
187
|
+
- test/dummy/config/database.yml
|
188
|
+
- test/dummy/config/environments/production.rb
|
189
|
+
- test/dummy/config/environments/development.rb
|
190
|
+
- test/dummy/config/environments/test.rb
|
191
|
+
- test/dummy/config/application.rb
|
192
|
+
- test/dummy/config/routes.rb
|
199
193
|
- test/dummy/config/environment.rb
|
194
|
+
- test/dummy/config/locales/en.yml
|
195
|
+
- test/dummy/test/integration/spider_test.rb
|
196
|
+
- test/dummy/test/unit/user_test.rb
|
197
|
+
- test/dummy/test/unit/helpers/posts_helper_test.rb
|
198
|
+
- test/dummy/test/unit/helpers/users_helper_test.rb
|
199
|
+
- test/dummy/test/unit/post_test.rb
|
200
|
+
- test/dummy/test/functional/users_controller_test.rb
|
201
|
+
- test/dummy/test/functional/posts_controller_test.rb
|
202
|
+
- test/dummy/test/fixtures/users.yml
|
203
|
+
- test/dummy/test/fixtures/posts.yml
|
200
204
|
homepage: https://github.com/rmg/magic_grid
|
201
205
|
licenses: []
|
202
206
|
post_install_message:
|
@@ -211,7 +215,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
211
215
|
version: '0'
|
212
216
|
segments:
|
213
217
|
- 0
|
214
|
-
hash:
|
218
|
+
hash: 2920138496229125563
|
215
219
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
220
|
none: false
|
217
221
|
requirements:
|
@@ -220,94 +224,96 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
224
|
version: '0'
|
221
225
|
segments:
|
222
226
|
- 0
|
223
|
-
hash:
|
227
|
+
hash: 2920138496229125563
|
224
228
|
requirements: []
|
225
229
|
rubyforge_project:
|
226
|
-
rubygems_version: 1.8.
|
230
|
+
rubygems_version: 1.8.24
|
227
231
|
signing_key:
|
228
232
|
specification_version: 3
|
229
233
|
summary: Easy collection display grid with column sorting and pagination
|
230
234
|
test_files:
|
231
|
-
- spec/
|
232
|
-
- spec/logger_spec.rb
|
235
|
+
- spec/column_spec.rb
|
233
236
|
- spec/spec_helper.rb
|
234
237
|
- spec/helpers_spec.rb
|
238
|
+
- spec/html_grid_spec.rb
|
239
|
+
- spec/collection_spec.rb
|
235
240
|
- spec/definition_spec.rb
|
236
|
-
-
|
241
|
+
- spec/logger_spec.rb
|
237
242
|
- test/test_helper.rb
|
238
|
-
- test/
|
243
|
+
- test/magic_grid_test.rb
|
244
|
+
- test/dummy/config.ru
|
245
|
+
- test/dummy/Rakefile
|
239
246
|
- test/dummy/public/favicon.ico
|
240
|
-
- test/dummy/public/css/smoothness/images/ui-
|
247
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
|
248
|
+
- test/dummy/public/css/smoothness/images/ui-icons_454545_256x240.png
|
241
249
|
- test/dummy/public/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
|
242
|
-
- test/dummy/public/css/smoothness/images/ui-
|
243
|
-
- test/dummy/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
250
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
|
244
251
|
- test/dummy/public/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
|
245
|
-
- test/dummy/public/css/smoothness/images/ui-
|
246
|
-
- test/dummy/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
252
|
+
- test/dummy/public/css/smoothness/images/ui-icons_222222_256x240.png
|
247
253
|
- test/dummy/public/css/smoothness/images/ui-icons_888888_256x240.png
|
254
|
+
- test/dummy/public/css/smoothness/images/ui-icons_cd0a0a_256x240.png
|
248
255
|
- test/dummy/public/css/smoothness/images/ui-icons_2e83ff_256x240.png
|
249
|
-
- test/dummy/public/css/smoothness/images/ui-
|
250
|
-
- test/dummy/public/css/smoothness/images/ui-
|
251
|
-
- test/dummy/public/css/smoothness/images/ui-
|
252
|
-
- test/dummy/public/css/smoothness/images/ui-
|
256
|
+
- test/dummy/public/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
|
257
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
|
258
|
+
- test/dummy/public/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
|
259
|
+
- test/dummy/public/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
|
253
260
|
- test/dummy/public/css/smoothness/jquery-ui-1.8.18.custom.css
|
254
|
-
- test/dummy/public/404.html
|
255
261
|
- test/dummy/public/422.html
|
256
|
-
- test/dummy/
|
257
|
-
- test/dummy/
|
258
|
-
- test/dummy/app/helpers/users_helper.rb
|
262
|
+
- test/dummy/public/404.html
|
263
|
+
- test/dummy/public/500.html
|
259
264
|
- test/dummy/app/helpers/posts_helper.rb
|
260
265
|
- test/dummy/app/helpers/application_helper.rb
|
266
|
+
- test/dummy/app/helpers/users_helper.rb
|
267
|
+
- test/dummy/app/controllers/users_controller.rb
|
268
|
+
- test/dummy/app/controllers/posts_controller.rb
|
269
|
+
- test/dummy/app/controllers/application_controller.rb
|
270
|
+
- test/dummy/app/models/user.rb
|
271
|
+
- test/dummy/app/models/post.rb
|
261
272
|
- test/dummy/app/assets/javascripts/application.js
|
262
273
|
- test/dummy/app/assets/javascripts/users.js
|
263
274
|
- test/dummy/app/assets/javascripts/posts.js
|
264
|
-
- test/dummy/app/assets/stylesheets/posts.css
|
265
275
|
- test/dummy/app/assets/stylesheets/users.css
|
266
276
|
- test/dummy/app/assets/stylesheets/scaffold.css
|
277
|
+
- test/dummy/app/assets/stylesheets/posts.css
|
267
278
|
- test/dummy/app/assets/stylesheets/application.css
|
268
|
-
- test/dummy/app/views/layouts/application.html.erb
|
269
|
-
- test/dummy/app/views/users/index.html.erb
|
270
|
-
- test/dummy/app/views/users/show.html.erb
|
271
279
|
- test/dummy/app/views/users/_form.html.erb
|
280
|
+
- test/dummy/app/views/users/index.html.erb
|
272
281
|
- test/dummy/app/views/users/edit.html.erb
|
282
|
+
- test/dummy/app/views/users/show.html.erb
|
273
283
|
- test/dummy/app/views/users/new.html.erb
|
274
|
-
- test/dummy/app/views/
|
275
|
-
- test/dummy/app/views/posts/index.html.erb
|
276
|
-
- test/dummy/app/views/posts/show.html.erb
|
284
|
+
- test/dummy/app/views/layouts/application.html.erb
|
277
285
|
- test/dummy/app/views/posts/_form.html.erb
|
286
|
+
- test/dummy/app/views/posts/index.html.erb
|
278
287
|
- test/dummy/app/views/posts/edit.html.erb
|
288
|
+
- test/dummy/app/views/posts/show.html.erb
|
289
|
+
- test/dummy/app/views/posts/by_user.html.erb
|
279
290
|
- test/dummy/app/views/posts/new.html.erb
|
280
|
-
- test/dummy/app/controllers/users_controller.rb
|
281
|
-
- test/dummy/app/controllers/application_controller.rb
|
282
|
-
- test/dummy/app/controllers/posts_controller.rb
|
283
|
-
- test/dummy/test/unit/helpers/posts_helper_test.rb
|
284
|
-
- test/dummy/test/unit/helpers/users_helper_test.rb
|
285
|
-
- test/dummy/test/unit/post_test.rb
|
286
|
-
- test/dummy/test/unit/user_test.rb
|
287
|
-
- test/dummy/test/integration/spider_test.rb
|
288
|
-
- test/dummy/test/fixtures/users.yml
|
289
|
-
- test/dummy/test/fixtures/posts.yml
|
290
|
-
- test/dummy/test/functional/posts_controller_test.rb
|
291
|
-
- test/dummy/test/functional/users_controller_test.rb
|
292
|
-
- test/dummy/db/migrate/20111025191809_create_users.rb
|
293
291
|
- test/dummy/db/migrate/20111025195229_create_posts.rb
|
292
|
+
- test/dummy/db/migrate/20111025191809_create_users.rb
|
294
293
|
- test/dummy/db/schema.rb
|
295
|
-
- test/dummy/config.ru
|
296
294
|
- test/dummy/script/rails
|
297
|
-
- test/dummy/
|
298
|
-
- test/dummy/config/application.rb
|
299
|
-
- test/dummy/config/database.yml
|
300
|
-
- test/dummy/config/routes.rb
|
301
|
-
- test/dummy/config/boot.rb
|
302
|
-
- test/dummy/config/environments/development.rb
|
303
|
-
- test/dummy/config/environments/production.rb
|
304
|
-
- test/dummy/config/environments/test.rb
|
305
|
-
- test/dummy/config/locales/en.yml
|
306
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
307
|
-
- test/dummy/config/initializers/session_store.rb
|
295
|
+
- test/dummy/config/initializers/mime_types.rb
|
308
296
|
- test/dummy/config/initializers/inflections.rb
|
297
|
+
- test/dummy/config/initializers/wrap_parameters.rb
|
309
298
|
- test/dummy/config/initializers/secret_token.rb
|
310
299
|
- test/dummy/config/initializers/backtrace_silencers.rb
|
311
|
-
- test/dummy/config/initializers/
|
300
|
+
- test/dummy/config/initializers/session_store.rb
|
301
|
+
- test/dummy/config/boot.rb
|
302
|
+
- test/dummy/config/database.yml
|
303
|
+
- test/dummy/config/environments/production.rb
|
304
|
+
- test/dummy/config/environments/development.rb
|
305
|
+
- test/dummy/config/environments/test.rb
|
306
|
+
- test/dummy/config/application.rb
|
307
|
+
- test/dummy/config/routes.rb
|
312
308
|
- test/dummy/config/environment.rb
|
309
|
+
- test/dummy/config/locales/en.yml
|
310
|
+
- test/dummy/test/integration/spider_test.rb
|
311
|
+
- test/dummy/test/unit/user_test.rb
|
312
|
+
- test/dummy/test/unit/helpers/posts_helper_test.rb
|
313
|
+
- test/dummy/test/unit/helpers/users_helper_test.rb
|
314
|
+
- test/dummy/test/unit/post_test.rb
|
315
|
+
- test/dummy/test/functional/users_controller_test.rb
|
316
|
+
- test/dummy/test/functional/posts_controller_test.rb
|
317
|
+
- test/dummy/test/fixtures/users.yml
|
318
|
+
- test/dummy/test/fixtures/posts.yml
|
313
319
|
has_rdoc: yard
|