How do I use "gets" on a rake task?

Ruby on-RailsRubyRake

Ruby on-Rails Problem Overview


I get an error whenever I try to use the function gets within a rake task. Is there a way to make it work?

The error says, "no such file or directory - (rake task name)"

Ruby on-Rails Solutions


Solution 1 - Ruby on-Rails

The problem is that Kernel#gets (which is what you're calling if you just use gets by itself) assumes you're pulling from a file named by the arguments passed to Rake. That means gets tries to return the content of a file called [rake-task-here], which almost certainly doesn't exist.

Try STDIN.gets.

Solution 2 - Ruby on-Rails

I don't think that you should be using gets in a rake task, if you need to get input from the command line you probably should pass it in as a parameter, but if you post some code that is not working then I am sure you will get a better answer.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionfooView Question on Stackoverflow
Solution 1 - Ruby on-RailsJames A. RosenView Answer on Stackoverflow
Solution 2 - Ruby on-RailsnitecoderView Answer on Stackoverflow