What it exactly do these do ( RubyXL::Parser.parse and Roo::Excelx.new) when opening a file?

Do they open a file and load it into memory?

I’m asking because it seems to take a long time opening a file but after it opens looping into the variable is REALLY fast, could someone explain me or tell me where can I find an explanaition on how this sort of things work?

Usually the simplest way to learn how a gem works internally is to go and read the source code. This should be available in the gem files, on a github repository, or in the documentation.

I’m asking because I’m new to both ruby and rails and my knowledge is not enough to understand source code

I haven't examined Roo, but you can see RubyXL reading the file into memory here: