Permalink
Browse files

Avoid updating timestamp when updating counter_cache.

  • Loading branch information...
1 parent b6c67f2 commit 9104ddb7b784d0c4cd40d6942232ad57866ca2ce Asif S Kalam committed Jul 4, 2012
Showing with 9 additions and 1 deletion.
  1. +2 −1 app/models/impressionist/impressionable.rb
  2. +7 −0 test_app/spec/models/counter_caching_spec.rb
@@ -38,7 +38,8 @@ def update_impressionist_counter_cache
cache_options = self.class.impressionist_counter_cache_options
column_name = cache_options[:column_name].to_sym
count = cache_options[:unique] ? impressionist_count(:filter => :ip_address) : impressionist_count
- update_attribute(column_name, count)
+ old_count = send(column_name) || 0
+ self.class.update_counters(id, column_name => (count - old_count))
end
# OLD METHODS - DEPRECATE IN V0.5
@@ -38,6 +38,13 @@
@widget.reload
}.should change(@widget, :impressions_count).from(0).to(1)
end
+
+ it "should not update the timestamp on the impressable" do
+ lambda {
+ @widget.impressions.create(:request_hash => 'abcd1234')
+ @widget.reload
+ }.should_not change(@widget, :updated_at)
+ end
end
end

0 comments on commit 9104ddb

Please sign in to comment.