Method: Class#cattr_reader
- Defined in:
- lib/support/cattr_accessor.rb
#cattr_reader(*syms) ⇒ Object
:nodoc:
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/support/cattr_accessor.rb', line 25 def cattr_reader(*syms) syms.each do |sym| class_eval " if ! defined? @@\#{sym.id2name}\n @@\#{sym.id2name} = nil\n end\n \n def self.\#{sym.id2name}\n @@\#{sym}\n end\n\n def \#{sym.id2name}\n @@\#{sym}\n end\n\n def call_\#{sym.id2name}\n case @@\#{sym.id2name}\n when Symbol then send(@@\#{sym})\n when Proc then @@\#{sym}.call(self)\n when String then @@\#{sym}\n else nil\n end\n end\n EOS\n end\nend\n" |