snusnu-dm-accepts_nested_attributes 0.10.0 → 0.11.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.
data/CHANGELOG CHANGED
@@ -1,3 +1,516 @@
1
+ [cd9eb87 | Thu Jun 25 01:57:03 UTC 2009] snusnu <gamsnjaga@gmail.com>
2
+
3
+ * added datamapper 0.10.0 compatibility information to README
4
+
5
+ [bda6fbc | Thu Jun 25 01:53:38 UTC 2009] snusnu <gamsnjaga@gmail.com>
6
+
7
+ * cleaner code for many_to_many deletion
8
+
9
+ * also added TODO note about handling this with
10
+ mark_for_destruction like all the other
11
+ relationship kinds.
12
+
13
+ [bce5322 | Thu Jun 25 00:58:11 UTC 2009] snusnu <gamsnjaga@gmail.com>
14
+
15
+ * support deleting of many_to_many associations (all specs pass)
16
+
17
+ * Deletion is currently triggered when calling the nested
18
+ attribute writer. This is most probably not desired and
19
+ is likely to change.
20
+
21
+ * Example:
22
+
23
+ Person.has(n, :projects, :through => :project_memberships)
24
+ @person.projects_attributes = {
25
+ :id => project.id, :_delete => true
26
+ }
27
+
28
+ This will delete the associated project_membership
29
+ and then the project
30
+
31
+ [a8f2a9a | Wed Jun 24 15:52:48 UTC 2009] snusnu <gamsnjaga@gmail.com>
32
+
33
+ * mark_for_destruction? now really returns true or false (not nil)
34
+
35
+ [8127032 | Wed Jun 24 15:44:27 UTC 2009] snusnu <gamsnjaga@gmail.com>
36
+
37
+ * corrected specs for atomic commits
38
+
39
+ * those specs aren't really shared, but only valid
40
+ for situations with no :reject_if guard that returns
41
+ true.
42
+
43
+ * only 1 spec failing now and that's deleting
44
+ has(n, :through)
45
+
46
+ [226a5a6 | Wed Jun 24 04:00:41 UTC 2009] snusnu <gamsnjaga@gmail.com>
47
+
48
+ * added hopefully last missing documentation
49
+
50
+ [51b5fdb | Wed Jun 24 03:54:41 UTC 2009] snusnu <gamsnjaga@gmail.com>
51
+
52
+ * finished documenting all modules and methods
53
+
54
+ * also fixed a bug where attributes weren't sent
55
+ to the :reject_if guard in case the guard was
56
+ specified as Symbol or String.
57
+
58
+ [faeaf5b | Wed Jun 24 02:05:08 UTC 2009] snusnu <gamsnjaga@gmail.com>
59
+
60
+ * #save_self no overwritten on every resource
61
+
62
+ * this makes more deletion specs pass and is actually
63
+ really obvious. wonder why it took me so long.
64
+
65
+ * still a few atomic commits related specs failing
66
+ but slowly getting there.
67
+
68
+ * also, this needs my current dm-validations work
69
+ available at
70
+ http://github.com/snusnu/dm-more/commits/validation_context_work
71
+
72
+ [2582c12 | Wed Jun 24 02:02:36 UTC 2009] snusnu <gamsnjaga@gmail.com>
73
+
74
+ * docfixes and a minor internal implementation change
75
+
76
+ [097bf9d | Wed Jun 24 02:01:13 UTC 2009] snusnu <gamsnjaga@gmail.com>
77
+
78
+ * minor internal method renaming.
79
+
80
+ * actually, i'm considering refactoring this method
81
+ * i don't like the name, it already indicates that
82
+ this methods serves 2 purposes which isn't good.
83
+
84
+ [5cd44f9 | Wed Jun 24 01:58:52 UTC 2009] snusnu <gamsnjaga@gmail.com>
85
+
86
+ * no need to name useless rest arguments
87
+
88
+ * in fact, it may very well be safe to remove them
89
+ altogether. think more about this.
90
+
91
+ [666ee63 | Wed Jun 24 01:57:56 UTC 2009] snusnu <gamsnjaga@gmail.com>
92
+
93
+ * use mysql in specs since dm-constraints are broken for sqlite3
94
+
95
+ [92d25ff | Wed Jun 24 01:57:37 UTC 2009] snusnu <gamsnjaga@gmail.com>
96
+
97
+ * use dm-constraints in specs for more safety
98
+
99
+ [9c5f2af | Wed Jun 17 16:16:00 UTC 2009] snusnu <gamsnjaga@gmail.com>
100
+
101
+ * updated Manifext.txt and gemspec to reflect the current structure
102
+
103
+ [717d870 | Tue Jun 16 13:17:34 UTC 2009] snusnu <gamsnjaga@gmail.com>
104
+
105
+ * adapted to latest dm-core
106
+
107
+ * still the same specs failing
108
+
109
+ [0ae2f1a | Mon Jun 15 15:02:02 UTC 2009] snusnu <gamsnjaga@gmail.com>
110
+
111
+ * less invasive dm-core overwrite in Resource#save_parents
112
+
113
+ * i don't know if that's the best way, but it works for now
114
+
115
+ [dc188ee | Mon Jun 15 15:01:06 UTC 2009] snusnu <gamsnjaga@gmail.com>
116
+
117
+ * minor spec refactoring to run the shared examples all the time
118
+
119
+ [178c99b | Sat Jun 13 20:20:44 UTC 2009] snusnu <gamsnjaga@gmail.com>
120
+
121
+ * added comments about what goes wrong
122
+
123
+ [9f2279e | Sat Jun 13 18:52:47 UTC 2009] snusnu <gamsnjaga@gmail.com>
124
+
125
+ * styles matter, i like this better
126
+
127
+ [123c70f | Sat Jun 13 18:26:21 UTC 2009] snusnu <gamsnjaga@gmail.com>
128
+
129
+ * refactored shared specs for has(n, :through) associations
130
+
131
+ * factored out real shared behavior and run it from
132
+ all examples
133
+
134
+ * causes 1 failure in "should perform atomic commits"
135
+
136
+ [2393d0d | Sat Jun 13 18:25:57 UTC 2009] snusnu <gamsnjaga@gmail.com>
137
+
138
+ * refactored shared specs for has(n) associations
139
+
140
+ * factored out real shared behavior and run it from
141
+ all examples
142
+
143
+ * causes 1 failure in "should perform atomic commits"
144
+
145
+ [f786acd | Sat Jun 13 18:25:11 UTC 2009] snusnu <gamsnjaga@gmail.com>
146
+
147
+ * refactored shared specs for has(1) associations
148
+
149
+ * factored out real shared behavior and run it from
150
+ all examples
151
+
152
+ * causes 1 failure in "should perform atomic commits"
153
+
154
+ [ad7d968 | Sat Jun 13 17:45:58 UTC 2009] snusnu <gamsnjaga@gmail.com>
155
+
156
+ * refactored shared specs for belongs_to associations
157
+
158
+ * factored out real shared behavior and run it from
159
+ all examples
160
+
161
+ [a14e6fd | Sat Jun 13 16:07:36 UTC 2009] snusnu <gamsnjaga@gmail.com>
162
+
163
+ * made all but 3 specs pass
164
+
165
+ * this means that all specs except those that test
166
+ destroying of an associated resource via the
167
+ nested attribute accessors, works.
168
+
169
+ * TODO this spec change needs more thinking. I'm
170
+ not yet sure if not creating a Person in this case
171
+ is the right behavior.
172
+
173
+ [8de57d1 | Sat Jun 13 16:05:44 UTC 2009] snusnu <gamsnjaga@gmail.com>
174
+
175
+ * adapt overwritten save behavior to latest dm-core changes
176
+
177
+ [e3837fe | Sat Jun 13 16:05:18 UTC 2009] snusnu <gamsnjaga@gmail.com>
178
+
179
+ * don't use chainable in client code
180
+
181
+ * it should be sufficient that dm-core declared
182
+ the method as chainable
183
+
184
+ [4121c57 | Sat Jun 13 16:04:26 UTC 2009] snusnu <gamsnjaga@gmail.com>
185
+
186
+ * removed debug statements
187
+
188
+ [80b9774 | Fri Jun 12 20:59:12 UTC 2009] snusnu <gamsnjaga@gmail.com>
189
+
190
+ * added debug statements
191
+
192
+ [3d316f8 | Fri Jun 12 20:58:56 UTC 2009] snusnu <gamsnjaga@gmail.com>
193
+
194
+ * specs now explicitly assign related resources to the association
195
+
196
+ [04a87ad | Thu Jun 04 15:44:20 UTC 2009] snusnu <gamsnjaga@gmail.com>
197
+
198
+ * removed unneeded assertions
199
+
200
+ * deleting a related resource still not working
201
+ * transactions still not working
202
+
203
+ * other than that, it seems quite fine
204
+
205
+ [6a2e07f | Tue Jun 02 20:17:56 UTC 2009] snusnu <gamsnjaga@gmail.com>
206
+
207
+ * include save behavior only if a resource accepts nested attributes
208
+
209
+ [d2c27c6 | Tue Jun 02 19:59:41 UTC 2009] snusnu <gamsnjaga@gmail.com>
210
+
211
+ * spec formatting and useless assertion removal
212
+
213
+ [5f8d0e1 | Tue Jun 02 19:39:28 UTC 2009] snusnu <gamsnjaga@gmail.com>
214
+
215
+ * added a few TODO and FIXME comments
216
+
217
+ [a317852 | Tue Jun 02 19:05:20 UTC 2009] snusnu <gamsnjaga@gmail.com>
218
+
219
+ * moved shared specs to spec/shared directory.
220
+
221
+ * this reduces clutter from the main specs
222
+ * also it will hopefully help with refactoring
223
+ the specs to provide better shared specs that
224
+ can be used for all integrations specs
225
+
226
+ [3ab51dc | Tue Jun 02 18:24:23 UTC 2009] snusnu <gamsnjaga@gmail.com>
227
+
228
+ * moved rspec_tmbundle_support to spec/lib
229
+
230
+ [3579f97 | Tue Jun 02 18:19:03 UTC 2009] snusnu <gamsnjaga@gmail.com>
231
+
232
+ * formatting and some assertion changes for belongs_to specs
233
+
234
+ [7752b87 | Tue Jun 02 18:06:08 UTC 2009] snusnu <gamsnjaga@gmail.com>
235
+
236
+ * nice formatting for spec fixtures.
237
+
238
+ [4c18a35 | Tue Jun 02 17:55:25 UTC 2009] snusnu <gamsnjaga@gmail.com>
239
+
240
+ * use parent saving behavior for *all* resources.
241
+
242
+ * breaks lots of specs that were already passing
243
+ * i don't know why this is, but nevertheless i think
244
+ that this is probably the way to go.
245
+
246
+ [653f615 | Tue Jun 02 17:33:15 UTC 2009] snusnu <gamsnjaga@gmail.com>
247
+
248
+ * disabled mark_for_destruction for now
249
+
250
+ [15a5174 | Thu May 28 18:06:23 UTC 2009] snusnu <gamsnjaga@gmail.com>
251
+
252
+ * docs for the resource extensions
253
+
254
+ [22dea73 | Thu May 28 17:40:55 UTC 2009] snusnu <gamsnjaga@gmail.com>
255
+
256
+ * more docs for the model extensions
257
+
258
+ [a109f10 | Thu May 28 16:19:29 UTC 2009] snusnu <gamsnjaga@gmail.com>
259
+
260
+ * allow deletion of many_to_one target via generated writer
261
+
262
+ * this makes all belongs_to_specs pass, however it doesn't
263
+ work for has_1_specs.
264
+
265
+ * before this changeset, both belongs_to and has_1 failed
266
+ at the same spec (deleting the related resource). i wonder
267
+ why that is ...
268
+
269
+ [81eda71 | Thu May 28 16:16:50 UTC 2009] snusnu <gamsnjaga@gmail.com>
270
+
271
+ * docs for one method to have yard style in place
272
+
273
+ [b50b192 | Thu May 28 16:01:00 UTC 2009] snusnu <gamsnjaga@gmail.com>
274
+
275
+ * added a few TODO notes
276
+
277
+ [8652a89 | Thu May 28 16:00:49 UTC 2009] snusnu <gamsnjaga@gmail.com>
278
+
279
+ * readability ftw
280
+
281
+ [89d02cf | Thu May 28 14:52:14 UTC 2009] snusnu <gamsnjaga@gmail.com>
282
+
283
+ * better names for internal methods
284
+
285
+ * accepts_nested_attributes_for_relationship_to_#{type}
286
+ is now
287
+ accepts_nested_attributes_for_related_#{type}
288
+
289
+ [04e39ed | Thu May 28 14:41:03 UTC 2009] snusnu <gamsnjaga@gmail.com>
290
+
291
+ * fixed reject_new_record guards (gone bad while refactoring)
292
+
293
+ * belongs_to and has_1 specs only have 1 failure
294
+ related to deleting the record
295
+
296
+ * TODO: find out why mark_as_destruction doesn't
297
+ do the right thing when called from #save
298
+
299
+ [7052c72 | Thu May 28 14:39:23 UTC 2009] snusnu <gamsnjaga@gmail.com>
300
+
301
+ * removed comment in shared spec that doesn't apply to every usage
302
+
303
+ [8479ee6 | Thu May 28 13:32:39 UTC 2009] snusnu <gamsnjaga@gmail.com>
304
+
305
+ * fixed nested_attributes reader (gone bad in the refactoring)
306
+
307
+ [b72f510 | Thu May 28 13:16:24 UTC 2009] snusnu <gamsnjaga@gmail.com>
308
+
309
+ * better formatting for save methods
310
+
311
+ [d8535cc | Thu May 28 13:05:05 UTC 2009] snusnu <gamsnjaga@gmail.com>
312
+
313
+ * changed internal method name convention
314
+
315
+ * accepts_nested_attributes_for_#{type}_relationship
316
+ is now
317
+ accepts_nested_attributes_for_relationship_to_#{type}
318
+
319
+ [1fdf6b5 | Thu May 28 12:37:35 UTC 2009] snusnu <gamsnjaga@gmail.com>
320
+
321
+ * rspec_tmbundle_support now uses Extlib::Logger
322
+
323
+ * DataMapper::Logger is now Extlib::Logger
324
+
325
+ [a2d4f4e | Thu May 28 04:29:58 UTC 2009] snusnu <gamsnjaga@gmail.com>
326
+
327
+ * removed resource_spec from Manifest and gemspec
328
+
329
+ [2e89d38 | Thu May 28 04:29:29 UTC 2009] snusnu <gamsnjaga@gmail.com>
330
+
331
+ * no need to expect explicitly ordered spec files
332
+
333
+ [76c06a3 | Thu May 28 04:28:53 UTC 2009] snusnu <gamsnjaga@gmail.com>
334
+
335
+ * i guess whitespace isn't necessary there
336
+
337
+ [0e309e1 | Thu May 28 04:16:56 UTC 2009] snusnu <gamsnjaga@gmail.com>
338
+
339
+ * bypass needless calls to association_name all the time
340
+
341
+ * key options_for_nested_attributes by relationship
342
+ instead of association_name. this eliminates the
343
+ need to repeatedly fetch the relationship by its
344
+ name and provides more concise codes in general.
345
+
346
+ * removed the relationship method since it's not
347
+ needed anymore
348
+
349
+ * removed the reject_new_nested_attributes_guard_for
350
+ method since it's not needed anymore
351
+
352
+ * number of passing specs is still the same
353
+
354
+ [dd859c3 | Thu May 28 04:12:44 UTC 2009] snusnu <gamsnjaga@gmail.com>
355
+
356
+ * include save_or_destroy in save, no need to separate it
357
+
358
+ [fdd29b0 | Thu May 28 02:36:01 UTC 2009] snusnu <gamsnjaga@gmail.com>
359
+
360
+ * removed dead meaningless parameters
361
+
362
+ * also, let the code speak for itself if it can.
363
+ in this case, the comments didn't offer any
364
+ additional value
365
+
366
+ [da8747c | Thu May 28 02:23:00 UTC 2009] snusnu <gamsnjaga@gmail.com>
367
+
368
+ * typo
369
+
370
+ [8c6a061 | Thu May 28 02:22:16 UTC 2009] snusnu <gamsnjaga@gmail.com>
371
+
372
+ * methods should have a single task
373
+
374
+ * don't validate the association_name inside
375
+ assert_valid_options_for_nested_attributes
376
+
377
+ [da2d474 | Thu May 28 02:21:15 UTC 2009] snusnu <gamsnjaga@gmail.com>
378
+
379
+ * explicitly include plugin functionality
380
+
381
+ * don't alter existing datamapper api by simply
382
+ requiring files. instead, do it explicitly as
383
+ this also serves a documentation puropose since
384
+ it's more obvious what's going on.
385
+
386
+ [ae50006 | Wed May 27 23:31:47 UTC 2009] snusnu <gamsnjaga@gmail.com>
387
+
388
+ * every case statement wants an else branch
389
+
390
+ * although the plugin will guarantee not to enter
391
+ this code path, who knows what people try to do.
392
+ it's a (private) method, so someone could use
393
+ it in a possibly wrong way so why not inform
394
+ him/her if that happens.
395
+
396
+ * also, i think that the use of 'next' instead of
397
+ deeply nested if/unless/case reads nicer
398
+
399
+ [38ece56 | Wed May 27 23:17:36 UTC 2009] snusnu <gamsnjaga@gmail.com>
400
+
401
+ * avoid mutating parameters when it's not necessary
402
+
403
+ [38225d6 | Wed May 27 23:15:32 UTC 2009] snusnu <gamsnjaga@gmail.com>
404
+
405
+ * made normalize_attributes_collection self contained
406
+
407
+ [b42cf92 | Wed May 27 21:50:16 UTC 2009] snusnu <gamsnjaga@gmail.com>
408
+
409
+ * removed specs for ':reject_if => :foo' for now
410
+
411
+ * added a TODO note to remind me to add them back again,
412
+ once i have decided where to best put them.
413
+
414
+ [57ccf94 | Wed May 27 21:41:59 UTC 2009] snusnu <gamsnjaga@gmail.com>
415
+
416
+ * check proper exception class in specs
417
+
418
+ [6fa76ee | Wed May 27 21:11:54 UTC 2009] snusnu <gamsnjaga@gmail.com>
419
+
420
+ * replaced meaningless specs with one that makes sense
421
+
422
+ [361a5d1 | Wed May 27 21:01:04 UTC 2009] snusnu <gamsnjaga@gmail.com>
423
+
424
+ * don't use bang! methods when not appropriate.
425
+
426
+ * see http://is.gd/HqLo for a detailed explanation
427
+
428
+ [4e8014b | Wed May 27 20:52:07 UTC 2009] snusnu <gamsnjaga@gmail.com>
429
+
430
+ * extracted method mainly for documentation purposes
431
+
432
+ [5e22497 | Wed May 27 20:51:04 UTC 2009] snusnu <gamsnjaga@gmail.com>
433
+
434
+ * replaced explicitly defined helper with dm-core api access
435
+
436
+ [e981ce6 | Wed May 27 19:10:46 UTC 2009] snusnu <gamsnjaga@gmail.com>
437
+
438
+ * cleaned up weird condition syntax
439
+
440
+ [9a6318c | Wed May 27 19:10:20 UTC 2009] snusnu <gamsnjaga@gmail.com>
441
+
442
+ * better usage of RelationshipAccess
443
+
444
+ * it's not necessary to call relationship! from
445
+ inside accepts_nested_attributes_for.
446
+ The association_name is *definitely* valid at
447
+ this time.
448
+
449
+ [6e8c49f | Wed May 27 18:20:47 UTC 2009] snusnu <gamsnjaga@gmail.com>
450
+
451
+ * model extension now less invasive and easier to extend
452
+
453
+ * Added relationship/relationship! methods to
454
+ provide a cleaner interface to the relationships
455
+ defined on a model. This hides the implementation
456
+ detail that relationships are stored in a hash
457
+ which is bound to change anyway. Also, it allows
458
+ to *fail fast* when trying to access a relationship
459
+ that is not defined in a model (via relationship!)
460
+
461
+ * restructured the files to better encapsulate and
462
+ communicate what's in them.
463
+
464
+ * better use of dm-core methods allowed previously
465
+ explicitly declared methods to be removed.
466
+
467
+ [5084804 | Tue May 26 18:55:12 UTC 2009] snusnu <gamsnjaga@gmail.com>
468
+
469
+ * imported dkubb's version of Resource#save for dana
470
+
471
+ * unit specs all pass
472
+ * belongs_to specs pass except for deletion (not yet integrated)
473
+ * all has_x specs still have failures
474
+
475
+ [44fd13d | Fri May 22 20:52:53 UTC 2009] snusnu <gamsnjaga@gmail.com>
476
+
477
+ * having serious troubles trying to get 0.10.0 to work :-(
478
+
479
+ [aed8d1e | Wed May 20 02:53:32 UTC 2009] snusnu <gamsnjaga@gmail.com>
480
+
481
+ * NOT compatible with datamapper 0.10.0
482
+
483
+ * a list of errors when running unmodified specs:
484
+
485
+ uninitialized constant
486
+ DataMapper::Associations::RelationshipChain
487
+
488
+ undefined method `transaction'
489
+ for #<Person @id=nil @name="snusnu"
490
+
491
+ undefined local variable or method `create'
492
+ for #<Person @id=nil @name="Martin">
493
+ (probably extlib related?)
494
+
495
+ The property 'name' is not accessible in Profile
496
+ (probably transaction related)
497
+
498
+ [eecfa47 | Wed May 20 02:45:48 UTC 2009] snusnu <gamsnjaga@gmail.com>
499
+
500
+ * updated version to 0.10.0
501
+
502
+ [55d6029 | Wed May 20 02:40:51 UTC 2009] snusnu <gamsnjaga@gmail.com>
503
+
504
+ * removed usage of rubygems
505
+
506
+ [9ae06e1 | Wed May 20 02:40:39 UTC 2009] snusnu <gamsnjaga@gmail.com>
507
+
508
+ * upgraded datamapper dependencies to 0.10.0
509
+
510
+ [b704849 | Wed May 13 04:30:18 UTC 2009] snusnu <gamsnjaga@gmail.com>
511
+
512
+ * updated CHANGELOG
513
+
1
514
  [b621475 | Wed May 13 04:29:30 UTC 2009] snusnu <gamsnjaga@gmail.com>
2
515
 
3
516
  * bumped version to 0.0.6.