1 # Extends the class object with class and instance accessors for class attributes,
2 # just like the native attr* accessors for instance attributes.
4 def cattr_reader(*syms)
5 syms.flatten.each do |sym|
6 next if sym.is_a?(Hash)
7 class_eval(<<-EOS, __FILE__, __LINE__)
8 unless defined? @@#{sym}
23 def cattr_writer(*syms)
24 options = syms.last.is_a?(Hash) ? syms.pop : {}
25 syms.flatten.each do |sym|
26 class_eval(<<-EOS, __FILE__, __LINE__)
27 unless defined? @@#{sym}
39 " unless options[:instance_writer] == false }
44 def cattr_accessor(*syms)