module Polyfill::V2_3::Array
Public Instance Methods
bsearch_index()
click to toggle source
# File lib/polyfill/v2_3/array.rb, line 4 def bsearch_index unless block_given? return ::Enumerator.new do |yielder| find_index(bsearch { |elem| yielder.yield(elem) }) end end find_index(bsearch(&::Proc.new)) end
dig(head, *rest)
click to toggle source
# File lib/polyfill/v2_3/array.rb, line 14 def dig(head, *rest) [head, *rest].reduce(self) do |value, accessor| next_value = case value when ::Array value.at(accessor) when ::Hash value[accessor] when ::Struct value[accessor] if value.members.include?(accessor) else begin break value.dig(*rest) rescue NoMethodError raise TypeError, "#{value.class} does not have a #dig method" end end break nil if next_value.nil? next_value end end