let\'s have this hash:
hash = {\"a\" => 1, \"b\" => {\"c\" => 3}} hash.get_all_keys => [\"a\", \"b\", \"c\"]
how can i get all key
class Hash def get_all_keys [].tap do |result| result << keys values.select { |v| v.respond_to?(:get_all_keys) }.each do |value| result << value.get_all_keys end end.flatten end end hash = {"a" => 1, "b" => {"c" => 3}} puts hash.get_all_keys.inspect # => ["a", "b", "c"]