Class: Module
Instance Method Summary collapse
-
#internal_attr_accessor(*syms) ⇒ Object
Creates a reader
symand a writersym=for the instance variable @_sym. -
#internal_attr_reader(*syms) ⇒ Object
Creates a reader
symfor the instance variable @_sym. -
#internal_attr_writer(*syms) ⇒ Object
Creates a writer
sym=for the instance variable @_sym.
Instance Method Details
#internal_attr_accessor(*syms) ⇒ Object
Creates a reader sym and a writer sym= for the instance variable @_sym.
4 5 6 7 |
# File 'lib/tanuki/extensions/module.rb', line 4 def internal_attr_accessor(*syms) internal_attr_reader(*syms) internal_attr_writer(*syms) end |
#internal_attr_reader(*syms) ⇒ Object
Creates a reader sym for the instance variable @_sym.
10 11 12 13 14 15 16 |
# File 'lib/tanuki/extensions/module.rb', line 10 def internal_attr_reader(*syms) syms.each do |sym| ivar = "@_#{sym}".to_sym instance_variable_set(ivar, nil) unless instance_variable_defined? ivar class_eval "def #{sym};#{ivar};end" end end |
#internal_attr_writer(*syms) ⇒ Object
Creates a writer sym= for the instance variable @_sym.
19 20 21 22 23 24 25 |
# File 'lib/tanuki/extensions/module.rb', line 19 def internal_attr_writer(*syms) syms.each do |sym| ivar = "@_#{sym}".to_sym instance_variable_set(ivar, nil) unless instance_variable_defined? ivar class_eval "def #{sym}=(obj);#{ivar}=obj;end" end end |