Sha256: f8ad061cadfd55620418bcc4c2c0772ff6f5fe108308ed7fcc0948e8fb906f07
Contents?: true
Size: 698 Bytes
Versions: 44
Compression:
Stored size: 698 Bytes
Contents
# A module which adds some generators for hash based accessors. module HashAttrs def hash_reader(hash_sym, syms) syms.each do |id| id = id.to_s.downcase func = Proc.new do hash = instance_variable_get(hash_sym) hash[id.to_sym] end self.send(:define_method, id, func) end end def hash_writer(hash_sym, syms) syms.each do |id| id = id.to_s.downcase func = Proc.new do |val| hash = instance_variable_get(hash_sym) hash[id.to_sym] = val end self.send(:define_method, id+'=', func) end end def hash_accessor(hash, *syms) hash_reader(hash, syms) hash_writer(hash, syms) end end
Version data entries
44 entries across 44 versions & 4 rubygems