Class: Module
- Inherits:
-
Object
- Object
- Module
- Defined in:
- lib/fn_reader.rb
Instance Method Summary collapse
-
#fn_reader(*syms) ⇒ Object
stolen from Rails mattr_accessor.
Instance Method Details
#fn_reader(*syms) ⇒ Object
stolen from Rails mattr_accessor
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fn_reader.rb', line 9 def fn_reader(*syms) syms.each do |sym| raise FnReader::NameError.new("invalid attribute name: #{sym}") unless (sym =~ /\A[_A-Za-z]\w*\z/) class_eval(" @@\#{sym} = nil unless defined? @@\#{sym}\n def self.\#{sym}\n @@\#{sym}\n end\n EOS\n\n class_eval(<<-EOS, __FILE__, __LINE__ + 1)\n def \#{sym}\n @@\#{sym}\n end\n EOS\n end\nend\n", __FILE__, __LINE__ + 1) |