magic_grid 0.11.1 → 0.12.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.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
|