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
  def hash_accessor(hash, *syms)
    hash_reader(hash, syms)
    hash_writer(hash, syms)
  end

[Source]

# File lib/hash_attrs.rb, line 4
  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

[Source]

# File lib/hash_attrs.rb, line 16
  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

[Validate]