find_all - это публичный метод в Ruby. Тело метода возвращает точное значение. Переименование определения в частный метод, например, def findall
приводит к частной ошибке метода. Почему, когда тело безошибочно?
def find_all
foo = []
self.each do |f|
if yield(f)
foo << f
end
end
foo
end
bar = []
File.open("some-text.txt") { |s| bar = s.readlines }
my_line = bar.find_all {|b| b.include?('line')}
puts my_line