Здравко обнови решението на 22.10.2016 03:46 (преди около 8 години)
+class Hash
+ def contains_key(key)
+ if self.key?(key)
+ self[key]
+ elsif self.key?(key.to_sym)
+ self[key.to_sym]
+ end
+ end
+
+ def fetch_deep(dotted_path)
+ parts = dotted_path.split '.'
+ match = contains_key(parts[0])
+ if !parts[1] || match.nil?
+ match
+ else
+ match.fetch_deep(parts[1])
+ end
+ end
+end