aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/counter_cache.rb
Commit message (Collapse)AuthorAgeFilesLines
* Pluralize counter_cache column name in example [ci skip]Amit Thawait2016-01-201-4/+4
|
* applies new doc guidelines to Active Record.Yves Senn2015-10-141-6/+6
| | | | | | | | | | | | | | | | | | | The focus of this change is to make the API more accessible. References to method and classes should be linked to make it easy to navigate around. This patch makes exzessiv use of `rdoc-ref:` to provide more readable docs. This makes it possible to document `ActiveRecord::Base#save` even though the method is within a separate module `ActiveRecord::Persistence`. The goal here is to bring the API closer to the actual code that you would write. This commit only deals with Active Record. The other gems will be updated accordingly but in different commits. The pass through Active Record is not completely finished yet. A follow up commit will change the spots I haven't yet had the time to update. /cc @fxn
* Improve consistency of counter caches updating in memorySean Griffin2015-01-261-1/+1
| | | | | | | | | | | | | | | | | When we made sure that the counter gets updated in memory, we only did it on the has many side. The has many side only does the update if the belongs to cannot. The belongs to side was updated to update the counter cache (if it is able). This means that we need to check if the belongs_to is able to update in memory on the has_many side. We also found an inconsistency where the reflection names were used to grab the association which should update the counter cache. Since reflection names are now strings, this means it was using a different instance than the one which would have the inverse instance set. Fixes #18689 [Sean Griffin & anthonynavarre]
* Go through normal `update_all` logic when updating counter cachesSean Griffin2014-12-261-4/+3
| | | | Part of a larger refactoring to remove type casting behavior from Arel
* remove useless methodsSergey Alekseev2014-12-031-10/+0
|
* No need to call to_sym hereGodfrey Chan2014-09-201-1/+1
| | | | | The hash is now string-keyed, and [_]reflect_on_association calls `to_s` on the argument anyway.
* Redefine macro checks for reflectionseileencodes2014-07-301-1/+1
| | | | | | | | | | | | | | Now that we define the macro on the reflection type we no longer need to check `macro == :what` on each type for `belongs_to?` or `has_one?` etc. These now default to false unless it's defined in the reflection class. Reuse existing belongs_to? method to check macros We don't need to do `:belongs_to == macro` anymore becasue we have a `belongs_to?` method. I didn't find this being used anywhere for `has_one?` or `collection?` since they were already fixed.
* Add `:all` argument to `count` in `reset_counters`Cade Truitt2014-07-021-1/+1
| | | | | | | | | | Prior to this fix, if an association had a scope with a `select`, calls to `reset_counters` would generate invalid SQL and throw: ActiveRecord::StatementInvalid: [$DB_ADAPTER]: wrong number of arguments to function COUNT() References #10710, #13648
* Refactoring .reflections public method.Arthur Neves2014-05-261-1/+1
| | | | | | Now the internal reflections will hold a reference to its public representation, so when the outside world calls `Account.reflection` we can build a list of public reflections.
* Merge pull request #15210 from arthurnn/fix_hbtm_reflectionArthur Neves2014-05-241-3/+2
| | | | | | | | | Fix habtm reflection Conflicts: activerecord/CHANGELOG.md activerecord/lib/active_record/counter_cache.rb activerecord/lib/active_record/reflection.rb activerecord/test/cases/reflection_test.rb
* Updates reset_counters to allow counter name in paramsJason Normore2014-05-161-5/+10
| | | | | | | Add support for counter name to be passed as parameter on `CounterCache::ClassMethods#reset_counters`. This is to be consistent with the other methods in the module that all accept counter name.
* Restore the destroy_by_association check in post destroy counter cacheJean Boussier2014-04-151-2/+9
|
* Set _after_create_counter_called flag to make update counter cache workJean Boussier2014-04-151-1/+6
|
* Use inheritance chain instead of callbacks to increment counter caches after ↵Jean Boussier2014-04-141-4/+4
| | | | destroy
* Use inheritance chain instead of callbacks to increment counter caches after ↵Jean Boussier2014-04-141-0/+16
| | | | create
* Make counter cache decrementation on destroy idempotentJean Boussier2014-04-131-0/+21
|
* Spelling and Grammar checksAkshay Vishnoi2013-12-121-4/+4
|
* changed update counter to act on unscoped modelheruku2013-11-261-1/+1
|
* pass the pk to compile_updateAaron Patterson2013-11-161-1/+1
|
* update_counters accepts a hash, not an array of hashesMichael Kozono2013-05-211-1/+1
|
* `#reset_counters` verifies counter names.Yves Senn2013-03-151-1/+2
| | | | | | | Closes #9724. Raise an `ArgumentError` when the name of the counter does not match an association name.
* grammar improvements for increment_counter and decrement_counter docsMatthew Robertson2012-12-021-6/+8
|
* increment_counter and decrement_counter can accept and array of ids as an argMatthew Robertson2012-12-021-2/+2
|
* 1.9 Syntax related changesAvnerCohen2012-11-101-2/+2
|
* RefactorSantiago Pastorino2012-10-031-5/+4
|
* Fix reset_counters() crashing on has_many :through associations.lulalala2012-10-021-2/+7
| | | | | The counter column name in the intermediate model need to be access via the through reflection.
* reset_counters() was crashing when there were multiple belongs_to ↵Dave Desrochers2012-08-211-1/+1
| | | | | | associations with the same foreign key. This closes #5200.
* Simplify AR configuration code.Jon Leighton2012-06-151-98/+102
| | | | | Get rid of ActiveModel::Configuration, make better use of ActiveSupport::Concern + class_attribute, etc.
* remove deprecate #update_all usageJon Leighton2012-04-261-1/+1
|
* Remove IdentityMapCarlos Antonio da Silva2012-03-131-2/+0
|
* Refactor and cleanup in some ActiveRecord modulesCarlos Antonio da Silva2012-03-031-1/+1
| | | | | | | | | | | * 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
* Remove not used if..else clauseCarlos Antonio da Silva2012-01-231-6/+0
| | | | Related to #4614.
* Unused var removedArun Agrawal2012-01-231-1/+1
|
* Fix bug where reset_counters resets the wrong counter cache.David Peter2012-01-161-1/+2
| | | | | | | | If a model belongs_to two associations with the same class, then reset_counters will reset the wrong counter cache. Finding the right reflection should use the foreign_key instead, which should be unique.
* Remove unnecessary comma.Uģis Ozols2011-12-261-1/+1
|
* Make it the responsibility of the connection to hold onto an ARel visitor ↵Jon Leighton2011-08-081-1/+1
| | | | for generating SQL. This improves the code architecture generally, and solves some problems with marshalling. Adapter authors please take note: you now need to define an Adapter.visitor_for method, but it degrades gracefully with a deprecation warning for now.
* Remove extra white spaces on ActiveRecord docs.Sebastian Martinez2011-05-231-1/+1
|
* Merge remote branch 'rails/master' into identity_mapEmilio Tagua2010-12-201-1/+2
|\ | | | | | | | | | | | | | | 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
| * removing more calls to deprecated methodsAaron Patterson2010-12-021-1/+2
| |
* | Added method to IM to remove objects by class and id. Then used it to remove ↵Emilio Tagua2010-11-191-0/+2
|/ | | | objects when updating counters.
* Use COALESCE in update_counters docs to reflect the implementationCarlos Antonio da Silva2010-08-181-3/+3
|
* Refactor previous commits a bit.José Valim2010-07-081-7/+10
|
* reset_counter should work with non-traditional belongs_to and polymorphic ↵Neeraj Singh2010-07-081-3/+9
| | | | | | | | belongs_to [#4984 state:resolved] Signed-off-by: José Valim <jose.valim@gmail.com>
* Adds title and basic description where needed.Rizwan Reza2010-06-151-0/+1
|
* fix `reset_counters` to work even with complex class namesMislav Marohnić2010-05-241-4/+6
| | | | | | e.g. it guesses that a belongs_to association to Namespace::MyModel is named "my_model", unlike before where it would look up an association named "namespace::mymodel" and fail.
* cleanup `update/reset_counters`: less SQL strings, more ActiveRecord/ArelMislav Marohnić2010-05-241-12/+8
|
* eliminate alias_method_chain from ActiveRecordwycats2010-05-091-0/+107