class Object def try(m, *a, &b); respond_to?(m) ? send(m, *a, &b) : nil; end def metaclass; class << self; self; end; end def meta_eval &b; metaclass.instance_eval &b; end def meta_def name, &b; meta_eval { define_method name, &b }; end end module Enumerable def methodize_keys! case self when Hash each do |key, value| meta_def(key) { self[key] } value.try(:methodize_keys!) end when Array each { |n| n.try(:methodize_keys!) } end end end
methodize_keys! with recursion
Jun
2
Comments on “methodize_keys! with recursion”
No comments have been left yet.