Avoid updating timestamp when updating counter_cache.

This commit is contained in:
Asif S Kalam 2012-07-04 19:53:25 +05:30
parent b6c67f2abe
commit 9104ddb7b7
2 changed files with 9 additions and 1 deletions

View File

@ -38,7 +38,8 @@ module Impressionist
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

View File

@ -38,6 +38,13 @@ describe Impression do
@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