draper 1.1.0 → 1.2.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.
Files changed (40) hide show
  1. checksums.yaml +7 -0
  2. data/.travis.yml +7 -0
  3. data/CHANGELOG.md +140 -120
  4. data/Gemfile +5 -3
  5. data/Guardfile +22 -1
  6. data/README.md +4 -3
  7. data/draper.gemspec +3 -1
  8. data/lib/draper.rb +6 -0
  9. data/lib/draper/automatic_delegation.rb +8 -2
  10. data/lib/draper/collection_decorator.rb +17 -28
  11. data/lib/draper/decoratable.rb +6 -3
  12. data/lib/draper/decoratable/equality.rb +15 -3
  13. data/lib/draper/decorated_association.rb +11 -50
  14. data/lib/draper/decorates_assigned.rb +44 -0
  15. data/lib/draper/decorator.rb +19 -6
  16. data/lib/draper/factory.rb +87 -0
  17. data/lib/draper/helper_proxy.rb +2 -0
  18. data/lib/draper/railtie.rb +8 -2
  19. data/lib/draper/version.rb +1 -1
  20. data/lib/generators/decorator/decorator_generator.rb +9 -9
  21. data/spec/draper/collection_decorator_spec.rb +48 -28
  22. data/spec/draper/decoratable_spec.rb +13 -4
  23. data/spec/draper/decorated_association_spec.rb +53 -114
  24. data/spec/draper/decorates_assigned_spec.rb +71 -0
  25. data/spec/draper/decorator_spec.rb +58 -8
  26. data/spec/draper/factory_spec.rb +238 -0
  27. data/spec/draper/helper_proxy_spec.rb +11 -0
  28. data/spec/draper/lazy_helpers_spec.rb +21 -0
  29. data/spec/dummy/app/controllers/posts_controller.rb +3 -1
  30. data/spec/dummy/app/decorators/mongoid_post_decorator.rb +2 -0
  31. data/spec/dummy/app/views/posts/show.html.erb +1 -1
  32. data/spec/dummy/config/application.rb +1 -0
  33. data/spec/dummy/spec/decorators/active_model_serializers_spec.rb +11 -0
  34. data/spec/dummy/spec/decorators/post_decorator_spec.rb +12 -0
  35. data/spec/dummy/spec/models/mongoid_post_spec.rb +2 -4
  36. data/spec/dummy/spec/models/post_spec.rb +2 -10
  37. data/spec/dummy/spec/shared_examples/decoratable.rb +24 -0
  38. data/spec/generators/decorator/decorator_generator_spec.rb +83 -91
  39. data/spec/spec_helper.rb +1 -0
  40. metadata +50 -43
@@ -1,5 +1,6 @@
1
1
  require 'bundler/setup'
2
2
  require 'draper'
3
+ require 'rails/version'
3
4
  require 'action_controller'
4
5
  require 'action_controller/test_case'
5
6
 
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: draper
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
5
- prerelease:
4
+ version: 1.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeff Casimir
@@ -10,44 +9,39 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-01-28 00:00:00.000000000 Z
12
+ date: 2013-04-01 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: activesupport
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ! '>='
18
+ - - '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '3.0'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ! '>='
25
+ - - '>='
29
26
  - !ruby/object:Gem::Version
30
27
  version: '3.0'
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: actionpack
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - '>='
37
33
  - !ruby/object:Gem::Version
38
34
  version: '3.0'
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - '>='
45
40
  - !ruby/object:Gem::Version
46
41
  version: '3.0'
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: request_store
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
46
  - - ~>
53
47
  - !ruby/object:Gem::Version
@@ -55,7 +49,6 @@ dependencies:
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
53
  - - ~>
61
54
  - !ruby/object:Gem::Version
@@ -63,39 +56,34 @@ dependencies:
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: ammeter
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - '>='
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - '>='
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: rake
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - '>='
85
75
  - !ruby/object:Gem::Version
86
76
  version: 0.9.2
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - '>='
93
82
  - !ruby/object:Gem::Version
94
83
  version: 0.9.2
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: rspec
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
88
  - - ~>
101
89
  - !ruby/object:Gem::Version
@@ -103,7 +91,6 @@ dependencies:
103
91
  type: :development
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
95
  - - ~>
109
96
  - !ruby/object:Gem::Version
@@ -111,23 +98,20 @@ dependencies:
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: rspec-mocks
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
- - - ! '>='
102
+ - - '>='
117
103
  - !ruby/object:Gem::Version
118
104
  version: 2.12.1
119
105
  type: :development
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
- - - ! '>='
109
+ - - '>='
125
110
  - !ruby/object:Gem::Version
126
111
  version: 2.12.1
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: rspec-rails
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
116
  - - ~>
133
117
  - !ruby/object:Gem::Version
@@ -135,7 +119,6 @@ dependencies:
135
119
  type: :development
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
123
  - - ~>
141
124
  - !ruby/object:Gem::Version
@@ -143,7 +126,6 @@ dependencies:
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: minitest-rails
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
130
  - - ~>
149
131
  - !ruby/object:Gem::Version
@@ -151,7 +133,6 @@ dependencies:
151
133
  type: :development
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
137
  - - ~>
157
138
  - !ruby/object:Gem::Version
@@ -159,17 +140,29 @@ dependencies:
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: capybara
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
- - - ! '>='
144
+ - - '>='
165
145
  - !ruby/object:Gem::Version
166
146
  version: '0'
167
147
  type: :development
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
150
  requirements:
172
- - - ! '>='
151
+ - - '>='
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: active_model_serializers
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - '>='
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - '>='
173
166
  - !ruby/object:Gem::Version
174
167
  version: '0'
175
168
  description: Draper adds an object-oriented layer of presentation logic to your Rails
@@ -199,8 +192,10 @@ files:
199
192
  - lib/draper/decoratable.rb
200
193
  - lib/draper/decoratable/equality.rb
201
194
  - lib/draper/decorated_association.rb
195
+ - lib/draper/decorates_assigned.rb
202
196
  - lib/draper/decorator.rb
203
197
  - lib/draper/delegation.rb
198
+ - lib/draper/factory.rb
204
199
  - lib/draper/finders.rb
205
200
  - lib/draper/helper_proxy.rb
206
201
  - lib/draper/helper_support.rb
@@ -229,9 +224,12 @@ files:
229
224
  - spec/draper/decoratable/equality_spec.rb
230
225
  - spec/draper/decoratable_spec.rb
231
226
  - spec/draper/decorated_association_spec.rb
227
+ - spec/draper/decorates_assigned_spec.rb
232
228
  - spec/draper/decorator_spec.rb
229
+ - spec/draper/factory_spec.rb
233
230
  - spec/draper/finders_spec.rb
234
231
  - spec/draper/helper_proxy_spec.rb
232
+ - spec/draper/lazy_helpers_spec.rb
235
233
  - spec/draper/view_context/build_strategy_spec.rb
236
234
  - spec/draper/view_context_spec.rb
237
235
  - spec/draper/view_helpers_spec.rb
@@ -240,6 +238,7 @@ files:
240
238
  - spec/dummy/app/controllers/application_controller.rb
241
239
  - spec/dummy/app/controllers/localized_urls.rb
242
240
  - spec/dummy/app/controllers/posts_controller.rb
241
+ - spec/dummy/app/decorators/mongoid_post_decorator.rb
243
242
  - spec/dummy/app/decorators/post_decorator.rb
244
243
  - spec/dummy/app/helpers/application_helper.rb
245
244
  - spec/dummy/app/mailers/application_mailer.rb
@@ -280,6 +279,7 @@ files:
280
279
  - spec/dummy/public/500.html
281
280
  - spec/dummy/public/favicon.ico
282
281
  - spec/dummy/script/rails
282
+ - spec/dummy/spec/decorators/active_model_serializers_spec.rb
283
283
  - spec/dummy/spec/decorators/devise_spec.rb
284
284
  - spec/dummy/spec/decorators/helpers_spec.rb
285
285
  - spec/dummy/spec/decorators/post_decorator_spec.rb
@@ -288,6 +288,7 @@ files:
288
288
  - spec/dummy/spec/mailers/post_mailer_spec.rb
289
289
  - spec/dummy/spec/models/mongoid_post_spec.rb
290
290
  - spec/dummy/spec/models/post_spec.rb
291
+ - spec/dummy/spec/shared_examples/decoratable.rb
291
292
  - spec/dummy/spec/spec_helper.rb
292
293
  - spec/dummy/test/decorators/minitest/devise_test.rb
293
294
  - spec/dummy/test/decorators/minitest/helpers_test.rb
@@ -310,37 +311,40 @@ files:
310
311
  - spec/support/shared_examples/decoratable_equality.rb
311
312
  - spec/support/shared_examples/view_helpers.rb
312
313
  homepage: http://github.com/drapergem/draper
313
- licenses: []
314
+ licenses:
315
+ - MIT
316
+ metadata: {}
314
317
  post_install_message:
315
318
  rdoc_options: []
316
319
  require_paths:
317
320
  - lib
318
321
  required_ruby_version: !ruby/object:Gem::Requirement
319
- none: false
320
322
  requirements:
321
- - - ! '>='
323
+ - - '>='
322
324
  - !ruby/object:Gem::Version
323
325
  version: '0'
324
326
  required_rubygems_version: !ruby/object:Gem::Requirement
325
- none: false
326
327
  requirements:
327
- - - ! '>='
328
+ - - '>='
328
329
  - !ruby/object:Gem::Version
329
330
  version: '0'
330
331
  requirements: []
331
- rubyforge_project: draper
332
- rubygems_version: 1.8.23
332
+ rubyforge_project:
333
+ rubygems_version: 2.0.0
333
334
  signing_key:
334
- specification_version: 3
335
+ specification_version: 4
335
336
  summary: View Models for Rails
336
337
  test_files:
337
338
  - spec/draper/collection_decorator_spec.rb
338
339
  - spec/draper/decoratable/equality_spec.rb
339
340
  - spec/draper/decoratable_spec.rb
340
341
  - spec/draper/decorated_association_spec.rb
342
+ - spec/draper/decorates_assigned_spec.rb
341
343
  - spec/draper/decorator_spec.rb
344
+ - spec/draper/factory_spec.rb
342
345
  - spec/draper/finders_spec.rb
343
346
  - spec/draper/helper_proxy_spec.rb
347
+ - spec/draper/lazy_helpers_spec.rb
344
348
  - spec/draper/view_context/build_strategy_spec.rb
345
349
  - spec/draper/view_context_spec.rb
346
350
  - spec/draper/view_helpers_spec.rb
@@ -349,6 +353,7 @@ test_files:
349
353
  - spec/dummy/app/controllers/application_controller.rb
350
354
  - spec/dummy/app/controllers/localized_urls.rb
351
355
  - spec/dummy/app/controllers/posts_controller.rb
356
+ - spec/dummy/app/decorators/mongoid_post_decorator.rb
352
357
  - spec/dummy/app/decorators/post_decorator.rb
353
358
  - spec/dummy/app/helpers/application_helper.rb
354
359
  - spec/dummy/app/mailers/application_mailer.rb
@@ -389,6 +394,7 @@ test_files:
389
394
  - spec/dummy/public/500.html
390
395
  - spec/dummy/public/favicon.ico
391
396
  - spec/dummy/script/rails
397
+ - spec/dummy/spec/decorators/active_model_serializers_spec.rb
392
398
  - spec/dummy/spec/decorators/devise_spec.rb
393
399
  - spec/dummy/spec/decorators/helpers_spec.rb
394
400
  - spec/dummy/spec/decorators/post_decorator_spec.rb
@@ -397,6 +403,7 @@ test_files:
397
403
  - spec/dummy/spec/mailers/post_mailer_spec.rb
398
404
  - spec/dummy/spec/models/mongoid_post_spec.rb
399
405
  - spec/dummy/spec/models/post_spec.rb
406
+ - spec/dummy/spec/shared_examples/decoratable.rb
400
407
  - spec/dummy/spec/spec_helper.rb
401
408
  - spec/dummy/test/decorators/minitest/devise_test.rb
402
409
  - spec/dummy/test/decorators/minitest/helpers_test.rb