# File lib/couchrest/support/class.rb, line 115
  def extlib_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 self.object_id == \#{self.object_id} || defined?(@\#{ivar})\nivar = superclass.\#{ivar}\nreturn nil if ivar.nil? && !\#{self}.instance_variable_defined?(\"@\#{ivar}\")\n@\#{ivar} = ivar && !ivar.is_a?(Module) && !ivar.is_a?(Numeric) && !ivar.is_a?(TrueClass) && !ivar.is_a?(FalseClass) ? ivar.dup : ivar\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