Top Level Namespace
Defined Under Namespace
Modules: Distil, Kernel Classes: Class, Hash, JavascriptCode, String
Instance Method Summary collapse
Instance Method Details
#class_attr(*rest) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/distil.rb', line 21 def class_attr(*rest) rest.each { |name| class_eval %( def self.#{name}(*rest) if (rest.length>0) @#{name}= rest[0] else @#{name} || (superclass.respond_to?(name) ? superclass.#{name} : nil) end end def self.#{name}=(value) @#{name}= value end def #{name} @#{name} || self.class.#{name} end def #{name}=(value) @#{name}=value end ) } end |