I'm writing a custom rake task for Rails, and there is a point the program where it summarises what it's going to do and then asks the user if what it's about to do is correct.
puts "\n Is this what you want to happen? [Y/N]"
answer = gets.chomp
if answer == "Y"
# commits
else if answer == "N"
return false #(Aborts the rake task)
end
However, this code causes the rake to be aborted prematurely;
rake aborted!
No such file or directory - populate
"populate" is the name of the rake task.
I think what's really causing this error in the .gets method.
I don't know how the .gets method explicitly works, but I'm guessing it must automatically send the user input back to the file where the script is written, and for some reason it's getting confused and it thinks the name of the rake task is the name of the file. As populate.rake doesn't exist, I think this is why the error is being thrown.
However, I don't know how I can get around this error. Does rake offer an alternate method to .gets?