draper 0.18.0 → 1.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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: