aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/builder
Commit message (Collapse)AuthorAgeFilesLines
* extract deprecated association options to active_record_deprecated_findersJon Leighton2012-07-131-43/+0
|
* Represent association scope options as AR::Relations insternally.Jon Leighton2012-07-131-0/+43
|
* Allow associations to take a lambda which builds the scopeJon Leighton2012-07-132-12/+17
|
* Improve the derivation of HABTM assocation join table namesAndrew White2012-06-221-30/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the derivation of HABTM join table name to take account of nesting. It now takes the table names of the two models, sorts them lexically and then joins them, stripping any common prefix from the second table name. Some examples: Top level models (Category <=> Product) Old: categories_products New: categories_products Top level models with a global table_name_prefix (Category <=> Product) Old: site_categories_products New: site_categories_products Nested models in a module without a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: categories_products Nested models in a module with a table_name_prefix method (Admin::Category <=> Admin::Product) Old: categories_products New: admin_categories_products Nested models in a parent model (Catalog::Category <=> Catalog::Product) Old: categories_products New: catalog_categories_products Nested models in different parent models (Catalog::Category <=> Content::Page) Old: categories_pages New: catalog_categories_content_pages Also as part of this commit the validity checks for HABTM assocations have been moved to ActiveRecord::Reflection One side effect of this is to move when the exceptions are raised from the point of declaration to when the association is built. This is consistant with other association validity checks.
* Merge pull request #4835 from ↵Carlos Antonio da Silva2012-05-191-3/+3
|\ | | | | | | | | pacoguzman/refactor_define_restrict_dependency_method Refactor define_restrict_dependency_method using reflection
| * Refactor define_restrict_dependency_method using reflectionPaco Guzman2012-02-011-3/+3
| |
* | no longer need #delete_all_on_destroyJon Leighton2012-05-182-2/+2
|/
* Use human attribute name to show the dependent destroy messageRafael Mendonça França2012-02-011-1/+2
|
* fix has_one, has_many restrict error messageManoj2012-02-011-1/+2
|
* Merge pull request #4799 from arunagw/warning_fixed_for_indentationsAaron Patterson2012-01-311-1/+1
|\ | | | | warning removed: mismatched indentations
| * warning removed: mismatched indentationsArun Agrawal2012-01-311-1/+1
| |
* | Put spaces between the words at deprecation warningRafael Mendonça França2012-01-311-3/+3
|/
* suggested fixes for :dependent => :restrict deprecation.Manoj2012-01-311-1/+1
|
* Same method for has_many and has_one associationsPaco Guzman2012-01-313-30/+17
|
* Easy dependent_restrict error messagePaco Guzman2012-01-312-4/+2
|
* has_many/has_one, :dependent => :restrict, deprecation added.Manoj2012-01-293-3/+35
|
* Deprecate inferred JOINs with includes + SQL snippets.Jon Leighton2012-01-161-1/+1
| | | | | | See the CHANGELOG for details. Fixes #950.
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-1/+1
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* Remove Array.wrap calls in ActiveRecordRafael Mendonça França2012-01-061-2/+2
|
* Removed metaclass from the has_many dependency destroy method. Fixes #2954Dmitry Polushkin2011-12-312-8/+5
|
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-1/+1
|
* Fix #3672 again (dependent: delete_all perf)Jon Leighton2011-12-142-2/+8
|
* avoid warningsJosh Susser2011-11-276-15/+15
| | | | | | | This change uses Module.redefine_method as defined in ActiveSupport. Making Module.define_method public would be as clean in the code, and would also emit warnings when redefining an association. That is pretty messy given current tests, so I'm leaving it for someone else to decide what approach is better.
* use GeneratedFeatureMethods module for associationsJosh Susser2011-11-272-7/+13
|
* association methods are now generated in modulesJosh Susser2011-11-157-30/+25
| | | | | | | | | | Instead of generating association methods directly in the model class, they are generated in an anonymous module which is then included in the model class. There is one such module for each association. The only subtlety is that the generated_attributes_methods module (from ActiveModel) must be forced to be included before association methods are created so that attribute methods will not shadow association methods.
* Destroy association habtm record before destroying the record itself. Fixes ↵Tomas D'Stefano2011-07-081-12/+10
| | | | issue #402.
* Removes the restriction on primary key when joining in a habtm && test that ↵Mohammad El-Abid2011-05-261-4/+0
| | | | it was properly removed
* removed deprecated methods, and related tests, from ActiveRecordJosh Kalderimis2011-05-251-13/+0
|
* Add block setting of attributes to singular associationsAndrew White2011-05-171-6/+6
|
* Bring back obj.association_loaded? as a deprecated method. Fixes #472.Jon Leighton2011-05-111-0/+13
|
* Remove `#among?` from Active SupportPrem Sichanugrist2011-04-133-3/+3
| | | | | | After a long list of discussion about the performance problem from using varargs and the reason that we can't find a great pair for it, it would be best to remove support for it for now. It will come back if we can find a good pair for it. For now, Bon Voyage, `#among?`.
* Change Object#either? to Object#among? -- thanks to @jamesarosen for the ↵David Heinemeier Hansson2011-04-123-3/+3
| | | | suggestion!
* Using Object#in? and Object#either? in various placesPrem Sichanugrist2011-04-113-3/+9
| | | | There're a lot of places in Rails source code which make a lot of sense to switching to Object#in? or Object#either? instead of using [].include?.
* Make clearing of HABTM join table contents happen in an after_destory callback.Murray Steele2011-03-231-12/+12
| | | | The old method of redefining destroy meant that clearing the HABTM join table would happen as long as the call to destroy succeeded. Which meant if there was a before_destroy that stopped the instance being destroyed using normal means (returning false, raising ActiveRecord::Rollback) rather than exceptional means the join table would be cleared even though the instance wasn't destroyed. Doing it in an after_destroy hook avoids this and has the advantage of happening inside the DB transaction too.
* Use proper objects to do the work to build the associations (adding methods, ↵Jon Leighton2011-02-217-0/+430
callbacks etc) rather than calling a whole bunch of methods with rather long names.