# File lib/whois/core_ext/class/attribute.rb, line 68
  def class_attribute(*attrs)
    options = attrs.extract_options!
    instance_reader = options.fetch(:instance_reader, true)
    instance_writer = options.fetch(:instance_writer, true)

    attrs.each do |name|
      class_eval "def self.\#{name}() nil end\ndef self.\#{name}?() !!\#{name} end\n\ndef self.\#{name}=(val)\nsingleton_class.class_eval do\nremove_possible_method(:\#{name})\ndefine_method(:\#{name}) { val }\nend\n\nif singleton_class?\nclass_eval do\nremove_possible_method(:\#{name})\ndef \#{name}\ndefined?(@\#{name}) ? @\#{name} : singleton_class.\#{name}\nend\nend\nend\nval\nend\n\nif instance_reader\nremove_possible_method :\#{name}\ndef \#{name}\ndefined?(@\#{name}) ? @\#{name} : self.class.\#{name}\nend\n\ndef \#{name}?\n!!\#{name}\nend\nend\n", __FILE__, __LINE__ + 1

      attr_writer name if instance_writer
    end
  end