draper 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
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