I've read about Enumerator class. And I can't fully understand what's going on here:
[0, 1].each { |i| puts i }
By itself [0, 1].each returns => #<Enumerator: [0, 1]:each>
So the question is Are we pathing block to each method of the array or to the instance of the Enumerator class?