lib/backports/2.0.0/array.rb in backports-3.0.3 vs lib/backports/2.0.0/array.rb in backports-3.1.0

- old
+ new

@@ -1,30 +1,3 @@ -class Array - def bsearch - return to_enum(__method__) unless block_given? - from = 0 - to = size - 1 - satisfied = nil - while from <= to do - midpoint = (from + to).div(2) - result = yield(cur = self[midpoint]) - case result - when Numeric - return cur if result == 0 - result = result < 0 - when true - satisfied = cur - when nil, false - # nothing to do - else - raise TypeError, "wrong argument type #{result.class} (must be numeric, true, false or nil)" - end +require 'backports/tools' - if result - to = midpoint - 1 - else - from = midpoint + 1 - end - end - satisfied - end unless method_defined? :bsearch -end +Backports.require_relative_dir