diff options
author | acapilleri <capilleri@yahoo.com> | 2015-10-03 16:11:02 +0200 |
---|---|---|
committer | acapilleri <capilleri@yahoo.com> | 2015-10-03 16:11:02 +0200 |
commit | c08c4681adc8bf68ed284c1f5ac8c41e8d0987df (patch) | |
tree | 5413822ed702eac6f47f8ce3575aeeb5747ccd68 | |
parent | 55ac94cec45328657c579024bb835fe18bb2d32b (diff) | |
download | rails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.tar.gz rails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.tar.bz2 rails-c08c4681adc8bf68ed284c1f5ac8c41e8d0987df.zip |
Add Singleton in NullMutationTracker class
to reduce allocation of same object
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/dirty.rb | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/attribute_mutation_tracker.rb | 2 |
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 |