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.
@@ -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
@@ -11,9 +11,8 @@ end
11
11
 
12
12
  require 'magic_grid/logger'
13
13
  require 'action_view'
14
- require 'rails'
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
@@ -1,3 +1,7 @@
1
+ if Module.const_defined? :WillPaginate
2
+ require 'will_paginate/array'
3
+ end
4
+
1
5
  class UsersController < ApplicationController
2
6
  # GET /users
3
7
  # GET /users.json
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.11.1
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-10-17 00:00:00.000000000 Z
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 in an
95
- html table with server\n side column sorting, filtering hooks, and search bar.
96
- Large collections can be\n paginated with either the will_paginate gem or kaminari
97
- gem if you use them, or a naive\n Enumerable based paginator (without pager links)
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/collection_spec.rb
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
- - test/magic_grid_test.rb
126
+ - spec/logger_spec.rb
124
127
  - test/test_helper.rb
125
- - test/dummy/public/500.html
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-icons_cd0a0a_256x240.png
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-bg_glass_75_e6e6e6_1x400.png
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-bg_glass_95_fef1ec_1x400.png
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-bg_glass_55_fbf9ee_1x400.png
137
- - test/dummy/public/css/smoothness/images/ui-icons_454545_256x240.png
138
- - test/dummy/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
139
- - test/dummy/public/css/smoothness/images/ui-icons_222222_256x240.png
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/app/models/post.rb
144
- - test/dummy/app/models/user.rb
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/posts/by_user.html.erb
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/Rakefile
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/mime_types.rb
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: 4254976689102437121
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: 4254976689102437121
227
+ hash: 2920138496229125563
224
228
  requirements: []
225
229
  rubyforge_project:
226
- rubygems_version: 1.8.23
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/collection_spec.rb
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
- - test/magic_grid_test.rb
241
+ - spec/logger_spec.rb
237
242
  - test/test_helper.rb
238
- - test/dummy/public/500.html
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-icons_cd0a0a_256x240.png
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-bg_glass_75_e6e6e6_1x400.png
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-bg_glass_95_fef1ec_1x400.png
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-bg_glass_55_fbf9ee_1x400.png
250
- - test/dummy/public/css/smoothness/images/ui-icons_454545_256x240.png
251
- - test/dummy/public/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
252
- - test/dummy/public/css/smoothness/images/ui-icons_222222_256x240.png
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/app/models/post.rb
257
- - test/dummy/app/models/user.rb
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/posts/by_user.html.erb
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/Rakefile
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/mime_types.rb
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