module SuggestDbIndices::Clojure

Learnings from Clojure for make great benefit ruby

Public Class Methods

get_in(enumerable, keys, default = nil) click to toggle source

Get multiple keys, e.g., h = {:b => {:a => 5}} Clojure.get_in(h, [:b, :a]) # => 5 Clojure.get_in(h, [:b, :a, :c]) # => nil Clojure.get_in(h, [:b, :a, :c], 1) # => 1

# File lib/suggest_db_indices/clojure.rb, line 10
def get_in enumerable, keys, default = nil
  current = enumerable
  while key = keys.shift
    unless current.is_a? Enumerable
      current = nil
      break
    end
    current = current[key]
  end
  current || default
end