Method: Module#cattr_accessor
- Defined in:
- lib/kiss/ext/core.rb
#cattr_accessor(*syms) ⇒ Object
adapted from Rails, re-written for speed (only one class_eval call)
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/kiss/ext/core.rb', line 40 def cattr_accessor(*syms) class_eval( syms.flatten.map do |sym| sym.is_a?(Hash) ? '' : %Q( @@#{sym} = nil unless defined? @@#{sym} def self.#{sym}; @@#{sym}; end def self.#{sym}=(v); @@#{sym} = v; end def #{sym}; @@#{sym}; end def #{sym}=(v); @@#{sym} = v; end ) end.join, __FILE__, __LINE__ ) end |