snusnu-dm-accepts_nested_attributes 0.10.0 → 0.11.0

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