aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authoracapilleri <capilleri@yahoo.com>2015-10-03 16:11:02 +0200
committeracapilleri <capilleri@yahoo.com>2015-10-03 16:11:02 +0200
commitc08c4681adc8bf68ed284c1f5ac8c41e8d0987df (patch)
tree5413822ed702eac6f47f8ce3575aeeb5747ccd68 /activerecord/lib
parent55ac94cec45328657c579024bb835fe18bb2d32b (diff)
downloadrails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.tar.gz
rails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.tar.bz2
rails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.zip
Add Singleton in NullMutationTracker class
to reduce allocation of same object
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/attribute_methods/dirty.rb2
-rw-r--r--activerecord/lib/active_record/attribute_mutation_tracker.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/dirty.rb b/activerecord/lib/active_record/attribute_methods/dirty.rb
index e8a782ed13..0bcfa5f00d 100644
--- a/activerecord/lib/active_record/attribute_methods/dirty.rb
+++ b/activerecord/lib/active_record/attribute_methods/dirty.rb
@@ -133,7 +133,7 @@ module ActiveRecord
end
def previous_mutation_tracker
- @previous_mutation_tracker ||= NullMutationTracker.new
+ @previous_mutation_tracker ||= NullMutationTracker.instance
end
def cache_changed_attributes
diff --git a/activerecord/lib/active_record/attribute_mutation_tracker.rb b/activerecord/lib/active_record/attribute_mutation_tracker.rb
index ba7348918b..0133b4d0be 100644
--- a/activerecord/lib/active_record/attribute_mutation_tracker.rb
+++ b/activerecord/lib/active_record/attribute_mutation_tracker.rb
@@ -46,6 +46,8 @@ module ActiveRecord
end
class NullMutationTracker # :nodoc:
+ include Singleton
+
def changed_values
{}
end