aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/builder/association.rb
Commit message (Collapse)AuthorAgeFilesLines
* Use method compilation for association methodsJon Leighton2012-08-101-12/+15
| | | | | | | | | Method compilation provides better performance and I think the code comes out cleaner as well. A knock on effect is that methods that get redefined produce warnings. I think this is a good thing. I had to deal with a bunch of warnings coming from our tests, though.
* DRY up handling of dependent optionJon Leighton2012-08-101-3/+15
|
* Unprivatise all the thingsJon Leighton2012-08-101-28/+26
| | | | | | Well, not all of them, but some of them. I don't think there's much reason for these methods to be private.
* move dependency logic out of generated methodsJon Leighton2012-08-101-24/+0
|
* Clean up dependent option validation.Jon Leighton2012-08-101-8/+4
| | | | | We don't need the complexity of to_sentence, and it shouldn't be a bang method.
* Remove the dependent_restrict_raises option.Jon Leighton2012-08-101-19/+19
| | | | | | | | | | | | | | | It's not really a good idea to have this as a global config option. We should allow people to specify the behaviour per association. There will now be two new values: * :dependent => :restrict_with_exception implements the current behaviour of :restrict. :restrict itself is deprecated in favour of :restrict_with_exception. * :dependent => :restrict_with_error implements the new behaviour - it adds an error to the owner if there are dependent records present See #4727 for the original discussion of this.
* Refactor dependency check validationCarlos Antonio da Silva2012-08-011-10/+7
| | | | | | Move the logic for validation check to the same method, and cache dependent option in a variable to reuse inside the dependency configuration methods instead of relying on the options hash.
* move method for dependent option checkHrvoje Šimić2012-08-011-0/+13
|
* Avoid options ever being nilJon Leighton2012-07-201-4/+4
| | | | This fixes active_record_deprecated_finders.
* fix association :extend optionJon Leighton2012-07-131-0/+5
|
* move the deprecated options into active_record_deprecated_findersJon Leighton2012-07-131-1/+1
|
* stop using class_attribute where methods/inheritance will suffice.Jon Leighton2012-07-131-7/+18
|
* 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-131-6/+15
|
* Refactor define_restrict_dependency_method using reflectionPaco Guzman2012-02-011-3/+3
|
* 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-311-0/+15
|
* has_many/has_one, :dependent => :restrict, deprecation added.Manoj2012-01-291-1/+15
|
* 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.
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-1/+1
|
* avoid warningsJosh Susser2011-11-271-2/+2
| | | | | | | 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-271-3/+5
|
* association methods are now generated in modulesJosh Susser2011-11-151-5/+5
| | | | | | | | | | 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.
* Use proper objects to do the work to build the associations (adding methods, ↵Jon Leighton2011-02-211-0/+53
callbacks etc) rather than calling a whole bunch of methods with rather long names.