Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move the code which builds a scope for through associations into a generic ↵ | Jon Leighton | 2011-03-10 | 1 | -2/+0 | |
| | | | | AssociationScope class which is capable of building a scope for any association. | |||||
* | Use proper objects to do the work to build the associations (adding methods, ↵ | Jon Leighton | 2011-02-21 | 1 | -0/+1 | |
| | | | | callbacks etc) rather than calling a whole bunch of methods with rather long names. | |||||
* | Delegate Association#options to the reflection, and replace ↵ | Jon Leighton | 2011-02-21 | 1 | -2/+2 | |
| | | | | 'reflection.options' with 'options'. Also add through_options and source_options methods for through associations. | |||||
* | Associations - where possible, call attributes methods rather than directly ↵ | Jon Leighton | 2011-02-21 | 1 | -16/+16 | |
| | | | | accessing the instance variables | |||||
* | Split AssociationProxy into an Association class (and subclasses) which ↵ | Jon Leighton | 2011-02-18 | 1 | -7/+5 | |
| | | | | manages the association, and a CollectionProxy class which is *only* a proxy. Singular associations no longer have a proxy. See CHANGELOG for more. | |||||
* | Get rid of AssociationCollection#save_record | Jon Leighton | 2011-02-14 | 1 | -2/+2 | |
| | ||||||
* | Refactor the implementations of AssociatioCollection#delete and #destroy to ↵ | Jon Leighton | 2011-02-07 | 1 | -1/+1 | |
| | | | | be more consistent with each other, and to stop passing blocks around, thus making the execution easier to follow. | |||||
* | Correctly update counter caches on deletion for has_many :through [#2824 ↵ | Jon Leighton | 2011-02-07 | 1 | -15/+39 | |
| | | | | state:resolved]. Also fixed a bunch of other counter cache bugs in the process, as once I fixed this one others started appearing like nobody's business. | |||||
* | Make record.association.destroy(*records) on habtm and hm:t only delete ↵ | Jon Leighton | 2011-02-07 | 1 | -11/+11 | |
| | | | | records in the join table. This is to make the destroy method more consistent across the different types of associations. For more details see the CHANGELOG entry. | |||||
* | Rename AssociationProxy#loaded to loaded! as it mutates the association | Jon Leighton | 2011-01-30 | 1 | -1/+1 | |
| | ||||||
* | Let's be less blasé about method visibility on association proxies | Jon Leighton | 2011-01-30 | 1 | -5/+8 | |
| | ||||||
* | Construct an actual ActiveRecord::Relation object for the association scope, ↵ | Jon Leighton | 2011-01-07 | 1 | -3/+1 | |
| | | | | rather than a hash which is passed to apply_finder_options. This allows more flexibility in how the scope is created, for example because scope.where(a, b) and scope.where(a).where(b) mean different things. | |||||
* | Create the association scope directly rather than going through with_scope | Jon Leighton | 2011-01-03 | 1 | -1/+1 | |
| | ||||||
* | Use the association directly in other places too | Jon Leighton | 2011-01-03 | 1 | -4/+2 | |
| | ||||||
* | Let AssociationCollection#find use #scoped to do its finding. Note that I am ↵ | Jon Leighton | 2011-01-03 | 1 | -10/+0 | |
| | | | | removing test_polymorphic_has_many_going_through_join_model_with_disabled_include, since this specifies different behaviour for an association than for a regular scope. It seems reasonable to expect scopes and association proxies to behave in roughly the same way rather than having subtle differences. | |||||
* | Rename AssociationReflection#primary_key_name to foreign_key, since the ↵ | Jon Leighton | 2010-12-31 | 1 | -1/+1 | |
| | | | | options key which it relates to is :foreign_key | |||||
* | And owner_quoted_id can go too | Jon Leighton | 2010-12-31 | 1 | -8/+0 | |
| | ||||||
* | Refactor we_can_set_the_inverse_on_this? to use a less bizarre name amongst ↵ | Jon Leighton | 2010-12-26 | 1 | -4/+0 | |
| | | | | other things | |||||
* | Associations: DRY up the code which is generating conditions, and make it ↵ | Jon Leighton | 2010-12-26 | 1 | -16/+2 | |
| | | | | all use arel rather than SQL strings | |||||
* | Remove target_obsolete? which is not called from anywhere | Jon Leighton | 2010-12-26 | 1 | -4/+0 | |
| | ||||||
* | Avoid Symbol#to_proc for performance reasons in Ruby 1.8 | Jon Leighton | 2010-12-20 | 1 | -3/+3 | |
| | ||||||
* | has_many associations with :dependent => :delete_all should update the ↵ | Jon Leighton | 2010-12-20 | 1 | -1/+3 | |
| | | | | counter cache when deleting records | |||||
* | Refactor delete_records in HasManyAssociation | Jon Leighton | 2010-12-20 | 1 | -7/+8 | |
| | ||||||
* | Specify insert_record with NotImplementedError in AssociationCollection, to ↵ | Jon Leighton | 2010-12-20 | 1 | -1/+1 | |
| | | | | indicate that subclasses should implement it. Also add save_record to reduce duplication. | |||||
* | removing more calls to deprecated methods | Aaron Patterson | 2010-12-02 | 1 | -2/+3 | |
| | ||||||
* | reduce method calls | Aaron Patterson | 2010-11-24 | 1 | -1/+1 | |
| | ||||||
* | removing ternary | Aaron Patterson | 2010-11-23 | 1 | -1/+1 | |
| | ||||||
* | Refactor && simplify count_records. | Emilio Tagua | 2010-11-23 | 1 | -5/+1 | |
| | ||||||
* | Remove explicit return and avoid creating local var. | Emilio Tagua | 2010-11-24 | 1 | -2/+1 | |
| | ||||||
* | Remove explicit return. | Emilio Tagua | 2010-11-24 | 1 | -1/+1 | |
| | ||||||
* | Refactoring: replace the mix of variables like @finder_sql, @counter_sql, ↵ | Jon Leighton | 2010-10-30 | 1 | -32/+24 | |
| | | | | 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. | |||||
* | Deletes trailing whitespaces (over text files only find * -type f -exec sed ↵ | Santiago Pastorino | 2010-08-14 | 1 | -4/+4 | |
| | | | | 's/[ \t]*$//' -i {} \;) | |||||
* | removing references to arel constants | Aaron Patterson | 2010-08-13 | 1 | -1/+1 | |
| | ||||||
* | avoiding symbol to proc again | Aaron Patterson | 2010-08-13 | 1 | -1/+1 | |
| | ||||||
* | standarizes the use of the article "an" for "SQL" and "SQLite" | Xavier Noria | 2010-08-05 | 1 | -1/+1 | |
| | ||||||
* | splitting a really long line into multiple lines which is easy on eyes | Neeraj Singh | 2010-06-29 | 1 | -1/+5 | |
| | | | | Signed-off-by: José Valim <jose.valim@gmail.com> | |||||
* | Adds title to activerecord/lib/active_record/associations/* | Rizwan Reza | 2010-06-16 | 1 | -0/+1 | |
| | ||||||
* | clean up more warnings, remove unnecessary methods, fix eval line numbers. ↵ | Aaron Patterson | 2010-03-16 | 1 | -0/+4 | |
| | | | | | | [#4193 state:resolved] Signed-off-by: wycats <wycats@gmail.com> | |||||
* | save(false) is gone, use save(:validate => false) instead. | José Valim | 2010-01-17 | 1 | -1/+1 | |
| | ||||||
* | Use Arel::Table instead of ActiveRecord::Relation from HABTM and ↵ | Pratik Naik | 2010-01-01 | 1 | -1/+1 | |
| | | | | has_many#delete_records | |||||
* | Rename Model.conditions and relation.conditions to .where | Pratik Naik | 2009-12-26 | 1 | -1/+1 | |
| | ||||||
* | Revert "Split arel_table into method to get a relation and another to ↵ | Jeremy Kemper | 2009-11-13 | 1 | -1/+1 | |
| | | | | | | memoize the default relation." This reverts commit bd51790895fc75a3b4e19e8dd7aa6dc389d77068. | |||||
* | Split arel_table into method to get a relation and another to memoize the ↵ | Jeremy Kemper | 2009-11-13 | 1 | -1/+1 | |
| | | | | default relation. | |||||
* | Arel::In -> Arel::Predicates::In | Jeremy Kemper | 2009-11-02 | 1 | -1/+1 | |
| | ||||||
* | has_many nullify associations keys using ARel. | Emilio Tagua | 2009-08-18 | 1 | -9/+9 | |
| | ||||||
* | Fix that counter_cache breaks with has_many :dependent => :nullify. | Gabe da Silveira | 2009-08-09 | 1 | -0/+1 | |
| | | | | | | [#1196 state:committed] Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net> | |||||
* | Revert "Revert "Generate proper :counter_sql from :finder_sql when there is ↵ | Pratik Naik | 2009-07-01 | 1 | -9/+1 | |
| | | | | | | | | | a newline character immediately following 'SELECT' [#2118 state:resolved]"" This reverts commit 80f1f863cd0f9cba89079511282de5710a2e1832. The feature doesn't work on Postgres, so don't test it on Postgres. Also, Postgres compatibility is irrelevant to the ticket/patch in question. | |||||
* | Revert "Generate proper :counter_sql from :finder_sql when there is a ↵ | Yehuda Katz + Carl Lerche | 2009-06-22 | 1 | -1/+9 | |
| | | | | | | | | newline character immediately following 'SELECT' [#2118 state:resolved]" This reverts commit 4851ca9e13a4317342df02ae25b1929340523f7a. The tests do not pass for postgresql. | |||||
* | Generate proper :counter_sql from :finder_sql when there is a newline ↵ | Patrick Joyce | 2009-06-21 | 1 | -9/+1 | |
| | | | | | | character immediately following 'SELECT' [#2118 state:resolved] Signed-off-by: Pratik Naik <pratiknaik@gmail.com> | |||||
* | Providing support for :inverse_of as an option to associations. | Murray Steele | 2009-05-04 | 1 | -0/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | You can now add an :inverse_of option to has_one, has_many and belongs_to associations. This is best described with an example: class Man < ActiveRecord::Base has_one :face, :inverse_of => :man end class Face < ActiveRecord::Base belongs_to :man, :inverse_of => :face end m = Man.first f = m.face Without :inverse_of m and f.man would be different instances of the same object (f.man being pulled from the database again). With these new :inverse_of options m and f.man are the same in memory instance. Currently :inverse_of supports has_one and has_many (but not the :through variants) associations. It also supplies inverse support for belongs_to associations where the inverse is a has_one and it's not a polymorphic. Signed-off-by: Murray Steele <muz@h-lame.com> Signed-off-by: Jeremy Kemper <jeremy@bitsweat.net> |