Method: Class#cattr_reader

Defined in:
lib/spiderfw/utils/monkey/class.rb

#cattr_reader(*syms) ⇒ Object

From ActiveSupport 2.3.4 Copyright © 2004-2009 David Heinemeier Hansson



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/spiderfw/utils/monkey/class.rb', line 14

def cattr_reader(*syms)
  syms.flatten.each do |sym|
    next if sym.is_a?(Hash)
    class_eval(<<-EOS, __FILE__, __LINE__)
      unless defined? @@#{sym}  # unless defined? @@hair_colors
        @@#{sym} = nil          #   @@hair_colors = nil
      end                       # end
                                #
      def self.#{sym}           # def self.hair_colors
        @@#{sym}                #   @@hair_colors
      end                       # end
                                #
      def #{sym}                # def hair_colors
        @@#{sym}                #   @@hair_colors
      end                       # end
    EOS
  end
end