# File lib/extlib/class.rb, line 117 def class_inheritable_reader(*ivars) instance_reader = ivars.pop[:reader] if ivars.last.is_a?(Hash) ivars.each do |ivar| self.class_eval "def self.\#{ivar}\nreturn @\#{ivar} if defined?(@\#{ivar})\nreturn nil if self.object_id == \#{self.object_id}\nivar = superclass.\#{ivar}\nreturn nil if ivar.nil?\n@\#{ivar} = ivar.try_dup\nend\n", __FILE__, __LINE__ + 1 unless instance_reader == false self.class_eval "def \#{ivar}\nself.class.\#{ivar}\nend\n", __FILE__, __LINE__ + 1 end end end