module InheritableClassAttributes::ClassMethods
def inherited_with_inheritable_class_attributes(klass)
def inherited_with_inheritable_class_attributes(klass) inherited_without_inheritable_class_attributes(klass) if respond_to?(:inherited_without_inheritable_class_attributes) readers = inheritable_cattr_readers.dup writers = inheritable_cattr_writers.dup inheritables = [:inheritable_cattr_readers, :inheritable_cattr_writers] (readers + writers + inheritables).uniq.each do |attr| var = "@#{attr}" old_value = self.module_eval(var) new_value = (old_value.dup rescue old_value) klass.module_eval("#{var} = new_value") end end