class Hash

Public Instance Methods

define_reader(key) click to toggle source
# File lib/hash-dot-evil.rb, line 2
def define_reader(key)
  define_singleton_method(key.to_sym) do
    if has_key?(key)
      return self[key]
    else
      return self[key.to_sym]
    end
  end
end
define_writer(key) click to toggle source
# File lib/hash-dot-evil.rb, line 12
def define_writer(key)
  define_singleton_method(key.to_sym) do |value|
    self[key[0..-2].to_sym] = value
  end
end
method_missing(method, *opts) click to toggle source
# File lib/hash-dot-evil.rb, line 18
def method_missing(method, *opts)
  m = method.to_s

  if m[-1] == '='
    define_writer(m)
    return self.send(method, *opts)
  else
    define_reader(m)
    return self.send(method, *opts)
  end
end