Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Also add documentation enhancements for increment_counter. Closes #8092

…. [fearoffish]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6684 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 15dc567e0fffb2b71d41185364ff5ffb505ec61f 1 parent 5bd3570
Marcel Molina authored
Showing with 16 additions and 6 deletions.
  1. +1 −1  activerecord/CHANGELOG
  2. +15 −5 activerecord/lib/active_record/base.rb
2  activerecord/CHANGELOG
View
@@ -1,6 +1,6 @@
*SVN*
-* Enhance documentation for decrement_counter. [fearoffish]
+* Enhance documentation for increment_counter and decrement_counter. [fearoffish]
* Provide brief introduction to what optimistic locking is. [fearoffish]
20 activerecord/lib/active_record/base.rb
View
@@ -555,11 +555,21 @@ def update_counters(id, counters)
update_all(updates, "#{connection.quote_column_name(primary_key)} = #{quote_value(id)}")
end
- # Increments the specified counter by one. So <tt>DiscussionBoard.increment_counter("post_count",
- # discussion_board_id)</tt> would increment the "post_count" counter on the board responding to discussion_board_id.
- # This is used for caching aggregate values, so that they don't need to be computed every time. Especially important
- # for looping over a collection where each element require a number of aggregate values. Like the DiscussionBoard
- # that needs to list both the number of posts and comments.
+ # Increment a number field by one, usually representing a count.
+ #
+ # This is used for caching aggregate values, so that they don't need to be computed every time.
+ # For example, a DiscussionBoard may cache post_count and comment_count otherwise every time the board is
+ # shown it would have to run a SQL query to find how many posts and comments there are.
+ #
+ # ==== Options
+ #
+ # +counter_name+ The name of the field that should be incremented
+ # +id+ The id of the object that should be incremented
+ #
+ # ==== Examples
+ #
+ # # Increment the post_count column for the record with an id of 5
+ # DiscussionBoard.increment_counter(:post_count, 5)
def increment_counter(counter_name, id)
update_counters(id, counter_name => 1)
end
Please sign in to comment.
Something went wrong with that request. Please try again.