aboutsummaryrefslogtreecommitdiffstats
path: root/activemodel/lib/active_model/attribute_methods.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activemodel/lib/active_model/attribute_methods.rb')
-rw-r--r--activemodel/lib/active_model/attribute_methods.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/activemodel/lib/active_model/attribute_methods.rb b/activemodel/lib/active_model/attribute_methods.rb
index aa35a2726e..977a101277 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
@@ -162,6 +165,7 @@ module ActiveModel
end
end
end
+ @attribute_methods_generated = true
end
def undefine_attribute_methods
@@ -173,7 +177,6 @@ module ActiveModel
def generated_attribute_methods #:nodoc:
@generated_attribute_methods ||= begin
- @attribute_methods_generated = true
mod = Module.new
include mod
mod
@@ -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