Preciso ler os dados fora da base de dados e depois salvá-los em um arquivo de texto.
Como posso fazer isso em Ruby? Existe algum sistema de gestão de ficheiros em Ruby?
Esta é a abordagem preferida na maioria dos casos:
File.open(yourfile, 'w') { |file| file.write("your text") }
Quando um bloco é passado para `File.open', o objeto File será automaticamente fechado quando o bloco for encerrado.
Se você não'não passar um bloco para File.open
, você tem que ter certeza que o arquivo está corretamente fechado e que o conteúdo foi escrito em arquivo.
begin
file = File.open("/tmp/some_file", "w")
file.write("your text")
rescue IOError => e
#some error occur, dir not writable etc.
ensure
file.close unless file.nil?
end
Você pode encontrá-lo em documentação:
static VALUE rb_io_s_open(int argc, VALUE *argv, VALUE klass)
{
VALUE io = rb_class_new_instance(argc, argv, klass);
if (rb_block_given_p()) {
return rb_ensure(rb_yield, io, io_close, io);
}
return io;
}