Ruby – What’s a reasonable way to read an entire text file as a single string

fileiorubystring

I am sure this is an easy one; I just couldn't find the answer immediately from Google.

I know I could do this (right?):

text = ""
File.open(path).each_line do |line|
    text += line
end

# Do something with text

But that seems a bit excessive, doesn't it? Or is that the way one would do it in Ruby?

Best Solution

IO.read() is what you're looking for.
File is a subclass of IO, so you may as well just use:

text = File.read(path)

Can't get more intuitive than that.