Bug #17421
closedEnumerable uses overridden classes in examples
Description
Some method documentation in module Enumerable shows examples that cite overridden methods.
For example, method #all? is overridden in Array, but all the #all? examples in Enumerable use Arrays:
%w[ant bear cat].all? { |word| word.length >= 3 } #=> true
%w[ant bear cat].all? { |word| word.length >= 4 } #=> false
%w[ant bear cat].all?(/t/) #=> false
[1, 2i, 3.14].all?(Numeric) #=> true
[nil, true, 99].all? #=> false
[].all? #=> true
This is true of the doc for many methods in Enumerable. Here are the overriders I've found:
all? Array
any? Array Hash
collect Array
count Array Range
cycle Array
drop Array
drop_while Array
entries Range
filter Array Struct Hash
find_index Array
first Array Range
include? Array Range Hash Set
map Array
max Array Range
member? Range Set Hash
min Array Range
minmax Array Range
none? Array
one? Array
reject Array Hash
reverse_each Array
select Array Struct Hash
sort Array
sum Array
take Array
take_while Array
to_a Array Struct Range Hash Set
to_h Array Struct Hash
to_set Set
uniq Array
zip Array
So:
- Should the Enumerable doc avoid these classes as appropriate?
- Should the overriding methods be cited and linked?