aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/autosave_association.rb
Commit message (Collapse)AuthorAgeFilesLines
* Refactor and cleanup in some ActiveRecord modulesCarlos Antonio da Silva2012-03-031-16/+14
| | | | | | | | | | | * Avoid double hash lookups in AR::Reflection when reflecting associations/aggregations * Minor cleanups: use elsif, do..end, if..else instead of unless..else * Simplify DynamicMatchers#respond_to? * Use "where" instead of scoped with conditions hash * Extract `scoped_by` method pattern regexp to constant * Extract noisy class_eval from method_missing in dynamic matchers * Extract readonly check, avoid calling column#to_s twice in persistence * Refactor predicate builder, remove some variables
* Revert "Remove meaningless code from the examples" of AutosaveAssociation Dimitar Dimitrov2012-02-221-0/+3
| | | Reverts a part of 91148936f770dc8bbbb33d46a09528f1a32d8a71. Should probably be squashed with it when merging back in rails/rails.
* Minor fixes to ActiveRecord::AutosaveAssociation's docs Dimitar Dimitrov2012-02-221-5/+3
| | | | * Fix typos * Remove meaningless code from the examples
* validate related records in the same validation context as parent.Emmanuel Oga2012-01-171-1/+1
| | | | | | | | | | | | | | | | | | | | E.G.: ```ruby class Parent < ActiveRecord::Base has_one :child validates_presence_of :name, :on => "custom_context" validates_associated :child end class Child < ActiveRecord::Base belongs_to :parent validates_presence_of :name, :on => "custom_context" end p = Parent.new(:name => "Montoto", :child => Child.new) p.valid?(:custom_context) # => Returns true, even though the child is not valid under the same context. ```
* Remove Array.wrap calls in ActiveRecordRafael Mendonça França2012-01-061-2/+0
|
* Don't try to autosave nested assocs. Fixes #2961.Jon Leighton2011-12-141-1/+1
|
* added information about callbacks created by autosave association (#3639)Jakub Kuźma2011-11-281-4/+16
|
* Test case and fix for rails/rails#3450Jan Varwig2011-11-271-1/+1
| | | | Asssigning a parent id to a belongs_to association actually updates the object that is validated when the association has :validates => true
* Raise error when using write_attribute with a non-existent attribute.Jon Leighton2011-09-131-1/+4
| | | | | | | | | Previously we would just silently write the attribute. This can lead to subtle bugs (for example, see the change in AutosaveAssociation where a through association would wrongly gain an attribute. Also, ensuring that we never gain any new attributes after initialization will allow me to reduce our dependence on method_missing.
* Don't construct association scope in initializer. This yields a big ↵Jon Leighton2011-07-071-1/+1
| | | | performance gain for cases where the association is never used to load the target, for example with preloading. Related: #1873.
* Remove extra white spaces on ActiveRecord docs.Sebastian Martinez2011-05-231-1/+1
|
* Active Record typos.R.T. Lechow2011-03-051-1/+1
|
* Use proper objects to do the work to build the associations (adding methods, ↵Jon Leighton2011-02-211-15/+14
| | | | callbacks etc) rather than calling a whole bunch of methods with rather long names.
* Merge remote branch 'rails/master' into identity_mapEmilio Tagua2011-02-181-22/+26
|\ | | | | | | | | | | Conflicts: activerecord/lib/active_record/associations/association.rb activerecord/lib/active_record/fixtures.rb
| * Split AssociationProxy into an Association class (and subclasses) which ↵Jon Leighton2011-02-181-22/+26
| | | | | | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more.
* | Merge remote branch 'rails/master' into identity_mapEmilio Tagua2011-02-151-18/+22
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/examples/performance.rb activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/lib/active_record/associations/association_proxy.rb activerecord/lib/active_record/autosave_association.rb activerecord/lib/active_record/base.rb activerecord/lib/active_record/nested_attributes.rb activerecord/test/cases/relations_test.rb
| * Get rid of AssociationCollection#save_recordJon Leighton2011-02-141-1/+1
| |
| * just return the record from insert_record, use truthiness for comparisonsAaron Patterson2011-02-071-1/+3
| |
| * Rename AssociationProxy#loaded to loaded! as it mutates the associationJon Leighton2011-01-301-1/+1
| |
| * Allow assignment on has_one :through where the owner is a new record [#5137 ↵Jon Leighton2011-01-031-0/+1
| | | | | | | | | | | | | | | | | | | | state:resolved] This required changing the code to keep the association proxy for a belongs_to around, despite its target being nil. Which in turn required various changes to the way that stale target checking is handled, in order to support various edge cases (loaded target is nil then foreign key added, foreign key is changed and then changed back, etc). A side effect is that the code is nicer and more succinct. Note that I am removing test_no_unexpected_aliasing since that is basically checking that the proxy for a belongs_to *does* change, which is the exact opposite of the intention of this commit. Also adding various tests for various edge cases and related things. Phew, long commit message!
| * Rename AssociationReflection#primary_key_name to foreign_key, since the ↵Jon Leighton2010-12-311-3/+3
| | | | | | | | options key which it relates to is :foreign_key
* | Should save without validation if autosave is enabled.Emilio Tagua2010-12-201-2/+4
| |
* | Merge remote branch 'rails/master' into identity_mapEmilio Tagua2010-12-201-12/+10
|\| | | | | | | | | | | | | | | Conflicts: activerecord/lib/active_record/associations/association_proxy.rb activerecord/lib/active_record/autosave_association.rb activerecord/lib/active_record/base.rb activerecord/lib/active_record/persistence.rb
| * Only call save on belongs_to associations if the record has changed or any ↵Chiel Wester2010-12-161-1/+1
| | | | | | | | | | | | nested associations have changed (resolves #3353) Signed-off-by: José Valim <jose.valim@gmail.com>
| * Partialy revert f1c13b0dd7b22b5f6289ca1a09f1d7a8c7c8584bJosé Valim2010-11-281-7/+7
| |
| * fix typoRay Baxter2010-11-221-1/+1
| |
* | Remove associated records from identity map if any raised an unexpected ↵Emilio Tagua2010-11-191-14/+19
| | | | | | | | exception.
* | Looping prevention for autosave relations on validation and creationMarcin Raczkowski2010-11-191-3/+20
|/
* use persisted? instead of new_record? wherever possibleDavid Chelimsky2010-11-091-7/+7
| | | | | | | | | | | - persisted? is the API defined in ActiveModel - makes it easier for extension libraries to conform to ActiveModel APIs without concern for whether the extended object is specifically ActiveRecord [#5927 state:committed] Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Refactoring: replace the mix of variables like @finder_sql, @counter_sql, ↵Jon Leighton2010-10-301-2/+2
| | | | etc with just a single scope hash (created on initialization of the proxy). This is now used consistently across all associations. Therefore, all you have to do to ensure finding/counting etc is done correctly is implement the scope correctly.
* has_one maintains the association with separate after_create/after_updateXavier Noria2010-10-221-1/+10
| | | | | This way parent models can get their own after_create and after_update callbacks fired after has_one has done its job.
* Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵Santiago Pastorino2010-08-141-5/+5
| | | | 's/[ \t]*$//' -i {} \;)
* Removing most of the symbol to proc usage in Active RecordPrem Sichanugrist2010-08-131-1/+1
| | | | This will hopefully make Active Record run a bit more faster.
* be more precise re :validate and :autosaveXavier Noria2010-08-121-2/+1
|
* revises some autosave docs, style and contentXavier Noria2010-08-121-57/+22
|
* applied guidelines to "# =>"Paco Guzman2010-08-121-5/+5
|
* adding more documentation for autosave optionNeeraj Singh2010-08-091-13/+37
|
* adding the missing closing tagNeeraj Singh2010-07-311-1/+1
|
* fixing documentation just a little bitNeeraj Singh2010-07-311-20/+14
|
* Removing unnecessary code [#5192 state:resolved]Thiago Pradi2010-07-261-4/+0
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Revert "save on parent should not cascade to child unless child changed ↵José Valim2010-07-211-3/+1
| | | | | | | | [#3353 state:open]" Please check Lighthouse for more information. This reverts commit 4a0d7c1a439c6ad8d35bf514761824e51fa07df2.
* save on parent should not cascade to child unless child changed [#3353 ↵Subba Rao Pasupuleti2010-07-181-1/+3
| | | | | | state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Add module_eval missing file_name and line_number args [#4712 state:resolved]Evgeniy Dolzhenko2010-06-261-2/+2
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Adds title and basic description where needed.Rizwan Reza2010-06-151-0/+2
|
* Fix a bunch of minor spelling mistakesEvgeniy Dolzhenko2010-06-111-1/+1
|
* Make the logic for nested_records_changed_for_autosave? simpler.José Valim2010-06-071-9/+5
| | | | [#4648 state:resolved]
* Fixing test class names and refactor line in autosave associationCarlos Antonio da Silva2010-06-071-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* Nested records (re: autosave) are now updated even when the intermediate ↵Ian White2010-05-181-1/+22
| | | | | | parent record is unchanged [#4242 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* eliminate alias_method_chain from ActiveRecordwycats2010-05-091-4/+2
|
* save(false) is gone, use save(:validate => false) instead.José Valim2010-01-171-5/+5
|