/usr/share/rubygems-integration/all/gems/faker-1.6.6/lib/extensions/array.rb is in ruby-faker 1.6.6-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class Array
unless self.method_defined? :sample
def sample(n = nil)
#based on code from https://github.com/marcandre/backports
size = self.length
return self[Kernel.rand(size)] if n.nil?
n = n.to_int
raise ArgumentError, "negative array size" if n < 0
n = size if n > size
result = Array.new(self)
n.times do |i|
r = i + Kernel.rand(size - i)
result[i], result[r] = result[r], result[i]
end
result[n..size] = []
result
end
end
end
|