Module HashAttrs
In: lib/hash_attrs.rb

A module which adds some generators for hash based accessors.

Methods

Public Instance methods

[Source]

    # File lib/hash_attrs.rb, line 29
29:   def hash_accessor(hash, *syms)
30:     hash_reader(hash, syms)
31:     hash_writer(hash, syms)
32:   end

[Source]

    # File lib/hash_attrs.rb, line 4
 4:   def hash_reader(hash_sym, syms)
 5:     syms.each do |id|
 6:       id = id.to_s.downcase
 7:       func = Proc.new do
 8:         hash = instance_variable_get(hash_sym)
 9:         hash[id.to_sym] 
10:       end
11: 
12:       self.send(:define_method, id, func)
13:     end
14:   end

[Source]

    # File lib/hash_attrs.rb, line 16
16:   def hash_writer(hash_sym, syms)
17:     syms.each do |id|
18:       id = id.to_s.downcase
19: 
20:       func = Proc.new do |val| 
21:         hash = instance_variable_get(hash_sym)
22:         hash[id.to_sym] = val 
23:       end
24: 
25:       self.send(:define_method, id+'=', func)
26:     end
27:   end

[Validate]