Class: Module
Instance Method Summary collapse
Instance Method Details
#attr_rw(*attrs) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'extend/module.rb', line 7 def attr_rw(*attrs) attrs.each do |attr| module_eval <<-EOS, __FILE__, __LINE__+1 def #{attr}(val=nil) # def prefix(val=nil) if val.nil? # if val.nil? if instance_variable_defined?(:@#{attr}) # if instance_variable_defined?(:@prefix) return @#{attr} # return @prefix else # else return nil # return nil end # end end # end # @#{attr} = val # @prefix = val end # end EOS end end |