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