I am trying to get a .rb file to make another .rb file within a specific directory with specified content, when that file is run. I dont know whether the best way to do this would be with a Ruby file or a Rake file. You input would be great.
File.open, write and save?
97.2k Views Asked by ChuckJHardy At
3
There are 3 best solutions below
2

directory = "../../directory"
File.open(File.join(directory, 'file.rb'), 'w') do |f|
f.puts "contents"
end
1

If you just need to perform a simple script like creating a file, you can simply use a Ruby script without creating a rake task.
# file origin.rb
target = "target.rb"
content = <<-RUBY
puts "I'm the target!"
RUBY
File.open(target, "w+") do |f|
f.write(content)
end
And you can execute the file with
$ ruby origin.rb
This turned out to be the best solution.