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