Eloy Duran
c23fbd0d47
Refactored previous changes to nested attributes.
2009-12-28 21:09:22 +01:00
Michael Siebert
07b615fb89
Add an :update_only option to accepts_nested_attributes_for for to-one associations. [ #2563 state:resolved]
...
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 21:09:19 +01:00
Eloy Duran
9c771a9608
Make sure to not add autosave callbacks multiple times. [ #3575 state:resolved]
...
This makes sure that, in a HABTM association, only one join record is craeted.
2009-12-28 16:56:31 +01:00
Murray Steele
ff508640e2
Make polymorphic_inverse_of in Reflection throw an InverseOfAssociationNotFoundError if the supplied class doesn't have the appropriate association. [ #3520 state:resolved]
...
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 15:12:17 +01:00
Murray Steele
6a74ee7f4d
Provide a slightly more robust we_can_set_the_inverse_on_this? method for polymorphic belongs_to associations. [ #3520 state:resolved]
...
Also add a new test for polymorphic belongs_to that test direct accessor assignment, not just .replace assignment.
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 15:12:15 +01:00
George Ogata
81ca0cf2b0
Add inverse polymorphic association support. [ #3520 state:resolved]
...
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 15:12:13 +01:00
Murray Steele
6c8c85bc1e
Add more tests for the various ways we can assign objects to associations. [ #3513 state:resolved]
...
Get rid of a duplicate set_inverse_instance call if you use new_record(true) (e.g. you want to replace the existing instance).
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 15:12:11 +01:00
George Ogata
fc85c66527
Set inverse for #replace on a has_one association. [ #3513 state:resolved]
...
Signed-off-by: Eloy Duran <eloy.de.enige@gmail.com >
2009-12-28 15:12:07 +01:00
Pratik Naik
e8ca22d129
Move Relation calculation methods to a separate module
2009-12-28 19:12:15 +05:30
Pratik Naik
8f5d9eb0e2
Add Relation#count
2009-12-28 18:38:28 +05:30
Pratik Naik
aefa975fdd
Remove the todo note for arel#lock
2009-12-28 16:20:40 +05:30
Pratik Naik
02207dc02c
Add Model.readonly and association_collection#readonly finder method
2009-12-28 16:17:46 +05:30
Pratik Naik
5156507e13
Remove locking related unused code
2009-12-28 14:33:56 +05:30
Pratik Naik
b95cc72429
Raise ArgumentError when trying to merge relations of different classes
2009-12-28 14:24:52 +05:30
Pratik Naik
92c982d973
Relation#readonly(false) should toggle the readonly flag
2009-12-28 14:20:54 +05:30
Pratik Naik
9f4e98330b
Remove unused construct_finder_sql
2009-12-28 12:57:35 +05:30
Pratik Naik
d6b0a7d67c
Fix a typo in CHANGELOG
2009-12-28 12:44:43 +05:30
Pratik Naik
a3c1db4e44
Add Model.lock and relation#lock now that arel has locking
2009-12-28 12:42:06 +05:30
Yehuda Katz
12e43494a7
Merge remote branch 'jose/perf'
2009-12-27 14:36:59 -08:00
Pratik Naik
1c26ba486c
Add Model.from and association_collection#from finder methods
2009-12-28 03:59:44 +05:30
Pratik Naik
6a776dcc9d
Use relation.from when constructing a relation
2009-12-28 03:59:44 +05:30
Pratik Naik
a0ff5f82c3
Dont delegate relation#find to to_a
2009-12-28 03:22:33 +05:30
Pratik Naik
e9e20ab601
Use arel#from instead of the current hack
2009-12-28 03:19:31 +05:30
Pratik Naik
630dc50730
Fix relation tests for postgres
2009-12-28 02:50:04 +05:30
Pratik Naik
51a1d5a670
Handle preloads and eager loads when merging relations
2009-12-28 01:33:20 +05:30
Pratik Naik
a8b10a2a8d
Add relation#merge to merge two relations
2009-12-28 01:08:34 +05:30
Pratik Naik
08312e9958
Return a new relation when blank is supplied to relation.joins
2009-12-27 23:29:41 +05:30
Pratik Naik
5565bab994
Rewrite AssociationCollection#find using relations
2009-12-27 22:32:20 +05:30
Pratik Naik
bbdeaae2ca
Add relation.destroy_all
2009-12-27 21:15:12 +05:30
Pratik Naik
5cd8818258
Make Model.destroy_all use new finders
2009-12-27 19:22:18 +05:30
Pratik Naik
352cc7c94a
Make Model.find(:last) use relations
2009-12-27 19:12:50 +05:30
Pratik Naik
d5e98dc859
Add relation.last and relation.reverse_order
2009-12-27 19:04:30 +05:30
Pratik Naik
8957f5db5d
Make Model.all just a wrapper for find(:all)
2009-12-27 18:32:10 +05:30
Pratik Naik
d6d0fe8c8f
Make Model.find(:first, ..) use relations
2009-12-27 18:28:59 +05:30
Pratik Naik
59cf5e7bf2
Make Model.exists? use relation.exists?
2009-12-27 18:10:26 +05:30
José Valim
97db79ab3c
Remove ActiveRecord runtime logging from ActionPack and place in ActiveRecord, adding it through config.action_controller.include hook.
2009-12-27 13:32:40 +01:00
Pratik Naik
2c8f83556b
Add relation.exists?
2009-12-27 18:00:49 +05:30
Pratik Naik
b31233485b
Make Model.find(:all) use relations
2009-12-27 17:43:31 +05:30
Pratik Naik
a3f3fab795
Add relation.from as a temporary workaround until arel relation has .from option
2009-12-27 17:37:36 +05:30
Pratik Naik
6f5e3a04d6
Relation should supply :from to find_with_associations
2009-12-27 17:16:20 +05:30
Pratik Naik
7b5d0e8b78
Make Model.find(ids) use relations
2009-12-27 16:56:10 +05:30
Pratik Naik
d92c4a8402
Add find(ids) to relations
2009-12-27 16:15:29 +05:30
Pratik Naik
81608cf8fa
Make Model.all return an array rather than a relation for consistency. Use Model.scoped to get a relation
2009-12-27 15:06:45 +05:30
Pratik Naik
1efc8edb5f
Fix dynamic finder docs
2009-12-27 14:50:33 +05:30
Pratik Naik
85770ec713
Make Model.find_or_create_by_* and find_or_initialize_by_* use relations and remove method caching
2009-12-27 14:46:38 +05:30
Pratik Naik
d511de0261
Add find_or_create_by_* and find_or_initialize_by_* to relations
2009-12-27 14:28:19 +05:30
Pratik Naik
8829d6ecc6
Make Model.find_by_* and Model.find_all_by_* use relations and remove dynamic method caching
2009-12-27 13:17:29 +05:30
Pratik Naik
f6f416c58e
Add find_by_* and find_all_by_* finders to ActiveRecord::Relation
2009-12-27 03:25:29 +05:30
Pratik Naik
cc753eaf58
Replace Model.first(options) with new finder methods inside tests
2009-12-27 01:50:03 +05:30
José Valim
75ba102a80
Remove ActionView inline logging to ActiveSupport::Notifications and create ActionController::Base#log_event, so everything can be logged within one listener. Also expose log_process_action as a hook for different modules to include their own information during the action processing. This allow ActiveRecord to hook and any other ORM. Finally, this commit changes 'Processing' and 'Rendering' in logs to 'Processed' and 'Rendered' because at the point it's logged, everying already happened.
2009-12-26 20:28:53 +01:00