draper 0.18.0 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/.gitignore +3 -0
  2. data/.travis.yml +5 -0
  3. data/CHANGELOG.markdown +8 -0
  4. data/Gemfile +4 -0
  5. data/Rakefile +50 -31
  6. data/Readme.markdown +42 -48
  7. data/draper.gemspec +2 -1
  8. data/lib/draper.rb +42 -7
  9. data/lib/draper/collection_decorator.rb +88 -0
  10. data/lib/draper/decoratable.rb +44 -0
  11. data/lib/draper/decorated_association.rb +55 -0
  12. data/lib/draper/decorator.rb +208 -0
  13. data/lib/draper/finders.rb +44 -0
  14. data/lib/draper/helper_proxy.rb +16 -0
  15. data/lib/draper/railtie.rb +17 -21
  16. data/lib/draper/security.rb +48 -0
  17. data/lib/draper/tasks/tu.rake +5 -0
  18. data/lib/draper/test/minitest_integration.rb +1 -1
  19. data/lib/draper/test/test_unit_integration.rb +9 -0
  20. data/lib/draper/version.rb +1 -1
  21. data/lib/draper/view_context.rb +6 -13
  22. data/lib/draper/view_helpers.rb +36 -0
  23. data/lib/generators/decorator/decorator_generator.rb +1 -1
  24. data/lib/generators/decorator/templates/decorator.rb +0 -1
  25. data/spec/draper/collection_decorator_spec.rb +240 -0
  26. data/spec/draper/decoratable_spec.rb +164 -0
  27. data/spec/draper/decorated_association_spec.rb +130 -0
  28. data/spec/draper/decorator_spec.rb +497 -0
  29. data/spec/draper/finders_spec.rb +156 -0
  30. data/spec/draper/helper_proxy_spec.rb +12 -0
  31. data/spec/draper/security_spec.rb +158 -0
  32. data/spec/draper/view_helpers_spec.rb +41 -0
  33. data/spec/dummy/.rspec +2 -0
  34. data/spec/dummy/README.rdoc +261 -0
  35. data/spec/dummy/Rakefile +7 -0
  36. data/spec/dummy/app/controllers/application_controller.rb +4 -0
  37. data/spec/dummy/app/controllers/localized_urls.rb +5 -0
  38. data/spec/dummy/app/controllers/posts_controller.rb +17 -0
  39. data/spec/dummy/app/decorators/post_decorator.rb +25 -0
  40. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  41. data/spec/dummy/app/mailers/application_mailer.rb +3 -0
  42. data/spec/dummy/app/mailers/post_mailer.rb +9 -0
  43. data/spec/dummy/app/models/post.rb +3 -0
  44. data/spec/dummy/app/views/layouts/application.html.erb +11 -0
  45. data/spec/dummy/app/views/post_mailer/decorated_email.html.erb +1 -0
  46. data/spec/dummy/app/views/posts/_post.html.erb +19 -0
  47. data/spec/dummy/app/views/posts/show.html.erb +1 -0
  48. data/spec/dummy/config.ru +4 -0
  49. data/spec/dummy/config/application.rb +64 -0
  50. data/spec/dummy/config/boot.rb +10 -0
  51. data/spec/dummy/config/database.yml +25 -0
  52. data/spec/dummy/config/environment.rb +5 -0
  53. data/spec/dummy/config/environments/development.rb +34 -0
  54. data/spec/dummy/config/environments/production.rb +55 -0
  55. data/spec/dummy/config/environments/test.rb +32 -0
  56. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  57. data/spec/dummy/config/initializers/inflections.rb +15 -0
  58. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  59. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  60. data/spec/dummy/config/initializers/session_store.rb +8 -0
  61. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  62. data/spec/dummy/config/locales/en.yml +5 -0
  63. data/spec/dummy/config/routes.rb +7 -0
  64. data/spec/dummy/db/migrate/20121019115657_create_posts.rb +8 -0
  65. data/spec/dummy/db/schema.rb +21 -0
  66. data/spec/dummy/db/seeds.rb +2 -0
  67. data/spec/dummy/lib/tasks/spec.rake +5 -0
  68. data/spec/dummy/public/404.html +26 -0
  69. data/spec/dummy/public/422.html +26 -0
  70. data/spec/dummy/public/500.html +25 -0
  71. data/spec/dummy/public/favicon.ico +0 -0
  72. data/spec/dummy/script/rails +6 -0
  73. data/spec/dummy/spec/decorators/post_decorator_spec.rb +23 -0
  74. data/spec/dummy/spec/mailers/post_mailer_spec.rb +29 -0
  75. data/spec/dummy/spec/spec_helper.rb +9 -0
  76. data/spec/generators/decorator/decorator_generator_spec.rb +3 -4
  77. data/spec/integration/integration_spec.rb +33 -0
  78. data/{performance → spec/performance}/active_record.rb +0 -0
  79. data/{performance/bechmark.rb → spec/performance/benchmark.rb} +0 -0
  80. data/{performance → spec/performance}/decorators.rb +2 -4
  81. data/{performance → spec/performance}/models.rb +0 -0
  82. data/spec/spec_helper.rb +20 -41
  83. data/spec/support/action_controller.rb +12 -0
  84. data/spec/support/active_model.rb +7 -0
  85. data/spec/support/{samples/active_record.rb → active_record.rb} +5 -0
  86. data/spec/support/{samples → decorators}/decorator_with_application_helper.rb +1 -1
  87. data/spec/support/decorators/namespaced_product_decorator.rb +5 -0
  88. data/spec/support/decorators/non_active_model_product_decorator.rb +2 -0
  89. data/spec/support/decorators/product_decorator.rb +19 -0
  90. data/spec/support/{samples → decorators}/products_decorator.rb +1 -1
  91. data/spec/support/decorators/some_thing_decorator.rb +2 -0
  92. data/spec/support/{samples → decorators}/specific_product_decorator.rb +0 -2
  93. data/spec/support/{samples → decorators}/widget_decorator.rb +0 -0
  94. data/spec/support/dummy_app.rb +84 -0
  95. data/spec/support/matchers/have_text.rb +50 -0
  96. data/spec/support/{samples → models}/namespaced_product.rb +1 -3
  97. data/spec/support/{samples → models}/non_active_model_product.rb +1 -0
  98. data/spec/support/{samples → models}/product.rb +13 -2
  99. data/spec/support/models/some_thing.rb +5 -0
  100. data/spec/support/models/uninferrable_decorator_model.rb +3 -0
  101. data/spec/support/{samples → models}/widget.rb +0 -0
  102. metadata +185 -68
  103. data/lib/draper/active_model_support.rb +0 -27
  104. data/lib/draper/base.rb +0 -312
  105. data/lib/draper/decorated_enumerable_proxy.rb +0 -90
  106. data/lib/draper/model_support.rb +0 -25
  107. data/lib/draper/rspec_integration.rb +0 -2
  108. data/lib/draper/system.rb +0 -18
  109. data/spec/draper/base_spec.rb +0 -873
  110. data/spec/draper/decorated_enumerable_proxy_spec.rb +0 -45
  111. data/spec/draper/model_support_spec.rb +0 -48
  112. data/spec/support/samples/decorator.rb +0 -5
  113. data/spec/support/samples/decorator_with_allows.rb +0 -3
  114. data/spec/support/samples/decorator_with_denies.rb +0 -3
  115. data/spec/support/samples/decorator_with_denies_all.rb +0 -3
  116. data/spec/support/samples/decorator_with_multiple_allows.rb +0 -4
  117. data/spec/support/samples/decorator_with_special_methods.rb +0 -13
  118. data/spec/support/samples/enumerable_proxy.rb +0 -3
  119. data/spec/support/samples/namespaced_product_decorator.rb +0 -7
  120. data/spec/support/samples/product_decorator.rb +0 -7
  121. data/spec/support/samples/sequel_product.rb +0 -13
  122. data/spec/support/samples/some_thing.rb +0 -2
  123. data/spec/support/samples/some_thing_decorator.rb +0 -3
@@ -1,4 +1,4 @@
1
- class ProductsDecorator < Draper::DecoratedEnumerableProxy
1
+ class ProductsDecorator < Draper::CollectionDecorator
2
2
 
3
3
  def link_to
4
4
  h.link_to 'sample', "#"
@@ -0,0 +1,2 @@
1
+ class SomeThingDecorator < Draper::Decorator
2
+ end
@@ -1,4 +1,2 @@
1
- require './spec/support/samples/product_decorator'
2
-
3
1
  class SpecificProductDecorator < ProductDecorator
4
2
  end
@@ -0,0 +1,84 @@
1
+ require 'socket'
2
+ require 'net/http'
3
+
4
+ # Adapted from code by Jon Leighton
5
+ # https://github.com/jonleighton/focused_controller/blob/ec7ccf1/test/acceptance/app_test.rb
6
+
7
+ class DummyApp
8
+
9
+ def initialize(environment)
10
+ raise ArgumentError, "Environment must be development or production" unless ["development", "production"].include?(environment.to_s)
11
+ @environment = environment
12
+ end
13
+
14
+ attr_reader :environment
15
+
16
+ def url
17
+ "http://#{localhost}:#{port}"
18
+ end
19
+
20
+ def get(path)
21
+ Net::HTTP.get(URI(url + path))
22
+ end
23
+
24
+ def within_app(&block)
25
+ Dir.chdir(root, &block)
26
+ end
27
+
28
+ def start_server
29
+ within_app do
30
+ IO.popen("bundle exec rails s -e #{@environment} -p #{port} 2>&1") do |out|
31
+ start = Time.now
32
+ started = false
33
+ output = ""
34
+ timeout = 60.0
35
+
36
+ while !started && !out.eof? && Time.now - start <= timeout
37
+ output << read_output(out)
38
+ sleep 0.1
39
+
40
+ begin
41
+ TCPSocket.new(localhost, port)
42
+ rescue Errno::ECONNREFUSED
43
+ else
44
+ started = true
45
+ end
46
+ end
47
+
48
+ raise "Server failed to start:\n#{output}" unless started
49
+
50
+ yield
51
+
52
+ Process.kill('KILL', out.pid)
53
+ end
54
+ end
55
+ end
56
+
57
+ private
58
+
59
+ def root
60
+ File.expand_path('../../dummy', __FILE__)
61
+ end
62
+
63
+ def localhost
64
+ '127.0.0.1'
65
+ end
66
+
67
+ def port
68
+ @port ||= begin
69
+ server = TCPServer.new(localhost, 0)
70
+ server.addr[1]
71
+ ensure
72
+ server.close if server
73
+ end
74
+ end
75
+
76
+ def read_output(stream)
77
+ read = IO.select([stream], [], [stream], 0.1)
78
+ output = ""
79
+ loop { output << stream.read_nonblock(1024) } if read
80
+ output
81
+ rescue Errno::EAGAIN, Errno::EWOULDBLOCK, EOFError
82
+ output
83
+ end
84
+ end
@@ -0,0 +1,50 @@
1
+ require 'capybara'
2
+
3
+ module HaveTextMatcher
4
+ def have_text(text)
5
+ HaveText.new(text)
6
+ end
7
+
8
+ class HaveText
9
+ def initialize(text)
10
+ @text = text
11
+ end
12
+
13
+ def in(css)
14
+ @css = css
15
+ self
16
+ end
17
+
18
+ def matches?(subject)
19
+ @subject = Capybara.string(subject)
20
+
21
+ @subject.has_css?(@css || "*", text: @text)
22
+ end
23
+
24
+ def failure_message_for_should
25
+ "expected to find #{@text.inspect} #{within}"
26
+ end
27
+
28
+ def failure_message_for_should_not
29
+ "expected not to find #{@text.inspect} #{within}"
30
+ end
31
+
32
+ private
33
+
34
+ def within
35
+ if @css && @subject.has_css?(@css)
36
+ "within\n#{@subject.find(@css).native}"
37
+ else
38
+ "#{inside} within\n#{@subject.native}"
39
+ end
40
+ end
41
+
42
+ def inside
43
+ @css ? "inside #{@css.inspect}" : "anywhere"
44
+ end
45
+ end
46
+ end
47
+
48
+ RSpec.configure do |config|
49
+ config.include HaveTextMatcher
50
+ end
@@ -1,8 +1,6 @@
1
- require './spec/support/samples/product'
2
-
3
1
  module Namespace
4
2
  class Product < ActiveRecord::Base
5
- include Draper::ModelSupport
3
+ include Draper::Decoratable
6
4
 
7
5
  def self.first
8
6
  @@first ||= Namespace::Product.new
@@ -1,2 +1,3 @@
1
1
  class NonActiveModelProduct
2
+ include Draper::Decoratable
2
3
  end
@@ -1,5 +1,8 @@
1
1
  class Product < ActiveRecord::Base
2
- include Draper::ModelSupport
2
+ include Draper::Decoratable
3
+ include ActiveModel::Serialization
4
+
5
+ delegate :delegated_method, to: :thing
3
6
 
4
7
  def self.find_by_name(name)
5
8
  @@dummy ||= Product.new
@@ -22,7 +25,7 @@ class Product < ActiveRecord::Base
22
25
  end
23
26
 
24
27
  def self.model_name
25
- "Product"
28
+ name
26
29
  end
27
30
 
28
31
  def self.find(id)
@@ -77,4 +80,12 @@ class Product < ActiveRecord::Base
77
80
  Product.new
78
81
  end
79
82
 
83
+ def overridable
84
+ :overridable
85
+ end
86
+
87
+ private
88
+
89
+ def private_title
90
+ end
80
91
  end
@@ -0,0 +1,5 @@
1
+ class SomeThing < Product
2
+ def delegated_method
3
+ 'Yay, delegation'
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ class UninferrableDecoratorModel
2
+ include Draper::Decoratable
3
+ end
File without changes
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: draper
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
5
- prerelease:
4
+ version: 1.0.0.beta1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jeff Casimir
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-10-09 00:00:00.000000000 Z
13
+ date: 2012-11-30 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport
@@ -124,6 +124,22 @@ dependencies:
124
124
  - - ~>
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0.2'
127
+ - !ruby/object:Gem::Dependency
128
+ name: capybara
129
+ requirement: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ type: :development
136
+ prerelease: false
137
+ version_requirements: !ruby/object:Gem::Requirement
138
+ none: false
139
+ requirements:
140
+ - - ! '>='
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
127
143
  description: Draper implements a decorator or presenter pattern for Rails applications.
128
144
  email:
129
145
  - jeff@casimircreative.com
@@ -143,19 +159,23 @@ files:
143
159
  - Readme.markdown
144
160
  - draper.gemspec
145
161
  - lib/draper.rb
146
- - lib/draper/active_model_support.rb
147
- - lib/draper/base.rb
148
- - lib/draper/decorated_enumerable_proxy.rb
162
+ - lib/draper/collection_decorator.rb
163
+ - lib/draper/decoratable.rb
164
+ - lib/draper/decorated_association.rb
165
+ - lib/draper/decorator.rb
166
+ - lib/draper/finders.rb
167
+ - lib/draper/helper_proxy.rb
149
168
  - lib/draper/helper_support.rb
150
169
  - lib/draper/lazy_helpers.rb
151
- - lib/draper/model_support.rb
152
170
  - lib/draper/railtie.rb
153
- - lib/draper/rspec_integration.rb
154
- - lib/draper/system.rb
171
+ - lib/draper/security.rb
172
+ - lib/draper/tasks/tu.rake
155
173
  - lib/draper/test/minitest_integration.rb
156
174
  - lib/draper/test/rspec_integration.rb
175
+ - lib/draper/test/test_unit_integration.rb
157
176
  - lib/draper/version.rb
158
177
  - lib/draper/view_context.rb
178
+ - lib/draper/view_helpers.rb
159
179
  - lib/generators/decorator/decorator_generator.rb
160
180
  - lib/generators/decorator/templates/decorator.rb
161
181
  - lib/generators/resource_override.rb
@@ -163,38 +183,86 @@ files:
163
183
  - lib/generators/rspec/templates/decorator_spec.rb
164
184
  - lib/generators/test_unit/decorator_generator.rb
165
185
  - lib/generators/test_unit/templates/decorator_test.rb
166
- - performance/active_record.rb
167
- - performance/bechmark.rb
168
- - performance/decorators.rb
169
- - performance/models.rb
170
- - spec/draper/base_spec.rb
171
- - spec/draper/decorated_enumerable_proxy_spec.rb
172
- - spec/draper/model_support_spec.rb
186
+ - spec/draper/collection_decorator_spec.rb
187
+ - spec/draper/decoratable_spec.rb
188
+ - spec/draper/decorated_association_spec.rb
189
+ - spec/draper/decorator_spec.rb
190
+ - spec/draper/finders_spec.rb
191
+ - spec/draper/helper_proxy_spec.rb
192
+ - spec/draper/security_spec.rb
193
+ - spec/draper/view_helpers_spec.rb
194
+ - spec/dummy/.rspec
195
+ - spec/dummy/README.rdoc
196
+ - spec/dummy/Rakefile
197
+ - spec/dummy/app/controllers/application_controller.rb
198
+ - spec/dummy/app/controllers/localized_urls.rb
199
+ - spec/dummy/app/controllers/posts_controller.rb
200
+ - spec/dummy/app/decorators/post_decorator.rb
201
+ - spec/dummy/app/helpers/application_helper.rb
202
+ - spec/dummy/app/mailers/application_mailer.rb
203
+ - spec/dummy/app/mailers/post_mailer.rb
204
+ - spec/dummy/app/models/post.rb
205
+ - spec/dummy/app/views/layouts/application.html.erb
206
+ - spec/dummy/app/views/post_mailer/decorated_email.html.erb
207
+ - spec/dummy/app/views/posts/_post.html.erb
208
+ - spec/dummy/app/views/posts/show.html.erb
209
+ - spec/dummy/config.ru
210
+ - spec/dummy/config/application.rb
211
+ - spec/dummy/config/boot.rb
212
+ - spec/dummy/config/database.yml
213
+ - spec/dummy/config/environment.rb
214
+ - spec/dummy/config/environments/development.rb
215
+ - spec/dummy/config/environments/production.rb
216
+ - spec/dummy/config/environments/test.rb
217
+ - spec/dummy/config/initializers/backtrace_silencers.rb
218
+ - spec/dummy/config/initializers/inflections.rb
219
+ - spec/dummy/config/initializers/mime_types.rb
220
+ - spec/dummy/config/initializers/secret_token.rb
221
+ - spec/dummy/config/initializers/session_store.rb
222
+ - spec/dummy/config/initializers/wrap_parameters.rb
223
+ - spec/dummy/config/locales/en.yml
224
+ - spec/dummy/config/routes.rb
225
+ - spec/dummy/db/migrate/20121019115657_create_posts.rb
226
+ - spec/dummy/db/schema.rb
227
+ - spec/dummy/db/seeds.rb
228
+ - spec/dummy/lib/tasks/spec.rake
229
+ - spec/dummy/log/.gitkeep
230
+ - spec/dummy/public/404.html
231
+ - spec/dummy/public/422.html
232
+ - spec/dummy/public/500.html
233
+ - spec/dummy/public/favicon.ico
234
+ - spec/dummy/script/rails
235
+ - spec/dummy/spec/decorators/post_decorator_spec.rb
236
+ - spec/dummy/spec/mailers/post_mailer_spec.rb
237
+ - spec/dummy/spec/spec_helper.rb
173
238
  - spec/generators/decorator/decorator_generator_spec.rb
239
+ - spec/integration/integration_spec.rb
174
240
  - spec/minitest-rails/spec_type_spec.rb
241
+ - spec/performance/active_record.rb
242
+ - spec/performance/benchmark.rb
243
+ - spec/performance/decorators.rb
244
+ - spec/performance/models.rb
175
245
  - spec/spec_helper.rb
176
- - spec/support/samples/active_record.rb
177
- - spec/support/samples/decorator.rb
178
- - spec/support/samples/decorator_with_allows.rb
179
- - spec/support/samples/decorator_with_application_helper.rb
180
- - spec/support/samples/decorator_with_denies.rb
181
- - spec/support/samples/decorator_with_denies_all.rb
182
- - spec/support/samples/decorator_with_multiple_allows.rb
183
- - spec/support/samples/decorator_with_special_methods.rb
184
- - spec/support/samples/enumerable_proxy.rb
185
- - spec/support/samples/namespaced_product.rb
186
- - spec/support/samples/namespaced_product_decorator.rb
187
- - spec/support/samples/non_active_model_product.rb
188
- - spec/support/samples/product.rb
189
- - spec/support/samples/product_decorator.rb
190
- - spec/support/samples/products_decorator.rb
191
- - spec/support/samples/sequel_product.rb
192
- - spec/support/samples/some_thing.rb
193
- - spec/support/samples/some_thing_decorator.rb
194
- - spec/support/samples/specific_product_decorator.rb
195
- - spec/support/samples/widget.rb
196
- - spec/support/samples/widget_decorator.rb
197
- homepage: http://github.com/jcasimir/draper
246
+ - spec/support/action_controller.rb
247
+ - spec/support/active_model.rb
248
+ - spec/support/active_record.rb
249
+ - spec/support/decorators/decorator_with_application_helper.rb
250
+ - spec/support/decorators/namespaced_product_decorator.rb
251
+ - spec/support/decorators/non_active_model_product_decorator.rb
252
+ - spec/support/decorators/product_decorator.rb
253
+ - spec/support/decorators/products_decorator.rb
254
+ - spec/support/decorators/some_thing_decorator.rb
255
+ - spec/support/decorators/specific_product_decorator.rb
256
+ - spec/support/decorators/widget_decorator.rb
257
+ - spec/support/dummy_app.rb
258
+ - spec/support/matchers/have_text.rb
259
+ - spec/support/models/namespaced_product.rb
260
+ - spec/support/models/non_active_model_product.rb
261
+ - spec/support/models/product.rb
262
+ - spec/support/models/some_thing.rb
263
+ - spec/support/models/uninferrable_decorator_model.rb
264
+ - spec/support/models/widget.rb
265
+ homepage: http://github.com/drapergem/draper
198
266
  licenses: []
199
267
  post_install_message:
200
268
  rdoc_options: []
@@ -208,16 +276,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
208
276
  version: '0'
209
277
  segments:
210
278
  - 0
211
- hash: 3407414068195492297
279
+ hash: -4120022348081627788
212
280
  required_rubygems_version: !ruby/object:Gem::Requirement
213
281
  none: false
214
282
  requirements:
215
- - - ! '>='
283
+ - - ! '>'
216
284
  - !ruby/object:Gem::Version
217
- version: '0'
218
- segments:
219
- - 0
220
- hash: 3407414068195492297
285
+ version: 1.3.1
221
286
  requirements: []
222
287
  rubyforge_project: draper
223
288
  rubygems_version: 1.8.24
@@ -225,31 +290,83 @@ signing_key:
225
290
  specification_version: 3
226
291
  summary: Decorator pattern implementation for Rails.
227
292
  test_files:
228
- - spec/draper/base_spec.rb
229
- - spec/draper/decorated_enumerable_proxy_spec.rb
230
- - spec/draper/model_support_spec.rb
293
+ - spec/draper/collection_decorator_spec.rb
294
+ - spec/draper/decoratable_spec.rb
295
+ - spec/draper/decorated_association_spec.rb
296
+ - spec/draper/decorator_spec.rb
297
+ - spec/draper/finders_spec.rb
298
+ - spec/draper/helper_proxy_spec.rb
299
+ - spec/draper/security_spec.rb
300
+ - spec/draper/view_helpers_spec.rb
301
+ - spec/dummy/.rspec
302
+ - spec/dummy/README.rdoc
303
+ - spec/dummy/Rakefile
304
+ - spec/dummy/app/controllers/application_controller.rb
305
+ - spec/dummy/app/controllers/localized_urls.rb
306
+ - spec/dummy/app/controllers/posts_controller.rb
307
+ - spec/dummy/app/decorators/post_decorator.rb
308
+ - spec/dummy/app/helpers/application_helper.rb
309
+ - spec/dummy/app/mailers/application_mailer.rb
310
+ - spec/dummy/app/mailers/post_mailer.rb
311
+ - spec/dummy/app/models/post.rb
312
+ - spec/dummy/app/views/layouts/application.html.erb
313
+ - spec/dummy/app/views/post_mailer/decorated_email.html.erb
314
+ - spec/dummy/app/views/posts/_post.html.erb
315
+ - spec/dummy/app/views/posts/show.html.erb
316
+ - spec/dummy/config.ru
317
+ - spec/dummy/config/application.rb
318
+ - spec/dummy/config/boot.rb
319
+ - spec/dummy/config/database.yml
320
+ - spec/dummy/config/environment.rb
321
+ - spec/dummy/config/environments/development.rb
322
+ - spec/dummy/config/environments/production.rb
323
+ - spec/dummy/config/environments/test.rb
324
+ - spec/dummy/config/initializers/backtrace_silencers.rb
325
+ - spec/dummy/config/initializers/inflections.rb
326
+ - spec/dummy/config/initializers/mime_types.rb
327
+ - spec/dummy/config/initializers/secret_token.rb
328
+ - spec/dummy/config/initializers/session_store.rb
329
+ - spec/dummy/config/initializers/wrap_parameters.rb
330
+ - spec/dummy/config/locales/en.yml
331
+ - spec/dummy/config/routes.rb
332
+ - spec/dummy/db/migrate/20121019115657_create_posts.rb
333
+ - spec/dummy/db/schema.rb
334
+ - spec/dummy/db/seeds.rb
335
+ - spec/dummy/lib/tasks/spec.rake
336
+ - spec/dummy/log/.gitkeep
337
+ - spec/dummy/public/404.html
338
+ - spec/dummy/public/422.html
339
+ - spec/dummy/public/500.html
340
+ - spec/dummy/public/favicon.ico
341
+ - spec/dummy/script/rails
342
+ - spec/dummy/spec/decorators/post_decorator_spec.rb
343
+ - spec/dummy/spec/mailers/post_mailer_spec.rb
344
+ - spec/dummy/spec/spec_helper.rb
231
345
  - spec/generators/decorator/decorator_generator_spec.rb
346
+ - spec/integration/integration_spec.rb
232
347
  - spec/minitest-rails/spec_type_spec.rb
348
+ - spec/performance/active_record.rb
349
+ - spec/performance/benchmark.rb
350
+ - spec/performance/decorators.rb
351
+ - spec/performance/models.rb
233
352
  - spec/spec_helper.rb
234
- - spec/support/samples/active_record.rb
235
- - spec/support/samples/decorator.rb
236
- - spec/support/samples/decorator_with_allows.rb
237
- - spec/support/samples/decorator_with_application_helper.rb
238
- - spec/support/samples/decorator_with_denies.rb
239
- - spec/support/samples/decorator_with_denies_all.rb
240
- - spec/support/samples/decorator_with_multiple_allows.rb
241
- - spec/support/samples/decorator_with_special_methods.rb
242
- - spec/support/samples/enumerable_proxy.rb
243
- - spec/support/samples/namespaced_product.rb
244
- - spec/support/samples/namespaced_product_decorator.rb
245
- - spec/support/samples/non_active_model_product.rb
246
- - spec/support/samples/product.rb
247
- - spec/support/samples/product_decorator.rb
248
- - spec/support/samples/products_decorator.rb
249
- - spec/support/samples/sequel_product.rb
250
- - spec/support/samples/some_thing.rb
251
- - spec/support/samples/some_thing_decorator.rb
252
- - spec/support/samples/specific_product_decorator.rb
253
- - spec/support/samples/widget.rb
254
- - spec/support/samples/widget_decorator.rb
353
+ - spec/support/action_controller.rb
354
+ - spec/support/active_model.rb
355
+ - spec/support/active_record.rb
356
+ - spec/support/decorators/decorator_with_application_helper.rb
357
+ - spec/support/decorators/namespaced_product_decorator.rb
358
+ - spec/support/decorators/non_active_model_product_decorator.rb
359
+ - spec/support/decorators/product_decorator.rb
360
+ - spec/support/decorators/products_decorator.rb
361
+ - spec/support/decorators/some_thing_decorator.rb
362
+ - spec/support/decorators/specific_product_decorator.rb
363
+ - spec/support/decorators/widget_decorator.rb
364
+ - spec/support/dummy_app.rb
365
+ - spec/support/matchers/have_text.rb
366
+ - spec/support/models/namespaced_product.rb
367
+ - spec/support/models/non_active_model_product.rb
368
+ - spec/support/models/product.rb
369
+ - spec/support/models/some_thing.rb
370
+ - spec/support/models/uninferrable_decorator_model.rb
371
+ - spec/support/models/widget.rb
255
372
  has_rdoc: