From f8e91bda9c171dd0c31dbea95ba4e9ced4ee2547 Mon Sep 17 00:00:00 2001 From: Sam Pohlenz Date: Wed, 7 Oct 2009 09:05:54 -0500 Subject: Don't share attribute matchers between classes [#3216 state:resolved] Allows separate models that include ActiveModel::AttributeMethods to use different sets of attribute matchers. Signed-off-by: Joshua Peek --- activemodel/lib/active_model/attribute_methods.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'activemodel/lib/active_model/attribute_methods.rb') diff --git a/activemodel/lib/active_model/attribute_methods.rb b/activemodel/lib/active_model/attribute_methods.rb index aa35a2726e..26ee9c4315 100644 --- a/activemodel/lib/active_model/attribute_methods.rb +++ b/activemodel/lib/active_model/attribute_methods.rb @@ -1,3 +1,6 @@ +require 'active_support/core_ext/hash/keys' +require 'active_support/core_ext/class/inheritable_attributes' + module ActiveModel class MissingAttributeError < NoMethodError end @@ -219,7 +222,7 @@ module ActiveModel end def attribute_method_matchers #:nodoc: - @@attribute_method_matchers ||= [] + read_inheritable_attribute(:attribute_method_matchers) || write_inheritable_attribute(:attribute_method_matchers, []) end end -- cgit v1.2.3