Sha256: 0346bba2f8f017b1394f459e9061df0d74f5dcf6ad35aaacf98272182cfda05b

Contents?: true

Size: 405 Bytes

Versions: 4

Compression:

Stored size: 405 Bytes

Contents

module EBANX
  module Dig
    def dig(key, *rest)
      value = self[key]
      if value.nil? || rest.empty?
        value
      elsif value.respond_to?(:dig)
        value.dig(*rest)
      else
        fail TypeError, "#{value.class} does not have #dig method"
      end
    end
  end
end

if RUBY_VERSION < '2.3'
  class Array
    include EBANX::Dig
  end

  class Hash
    include EBANX::Dig
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ebanx-1.3.5 lib/ebanx/dig.rb
ebanx-1.3.4 lib/ebanx/dig.rb
ebanx-1.3.3 lib/ebanx/dig.rb
ebanx-1.3.2 lib/ebanx/dig.rb