Method: Module#cattr_reader
- Defined in:
- lib/kiss/ext/core.rb
#cattr_reader(*syms) ⇒ Object
adapted from Rails, re-written for speed (only one class_eval call)
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/kiss/ext/core.rb', line 27 def cattr_reader(*syms) class_eval( syms.flatten.map do |sym| sym.is_a?(Hash) ? '' : %Q( @@#{sym} = nil unless defined? @@#{sym} def self.#{sym}; @@#{sym}; end def #{sym}; @@#{sym}; end ) end.join, __FILE__, __LINE__ ) end |