class Hashie::Mash
def method_missing(method_name, *args, &blk)
def method_missing(method_name, *args, &blk) return self.[](method_name, &blk) if key?(method_name) name, suffix = method_suffix(method_name) case suffix when '=' self[name] = args.first when '?' !!self[name] when '!' initializing_reader(name) when '_' underbang_reader(name) else default(method_name) end end