如何在fake_ftp gem中存根gettextfile方法?

时间:2013-04-11 10:48:20

标签: ruby ftp mocking

我正在使用fake_ftp gem。

我需要fake_ftp使用方法gettextfile返回文件,并且在自述文件中找不到任何关于它的提及。

如何让fake_ftp gem在下载时返回一些文件?

1 个答案:

答案 0 :(得分:0)

你可以修补FakeFTP :: Server或将其分叉并添加你想要的功能。

根据Net::FTP#gettextfile API,它可以通过以下方式实现:

class FakeFTP::Server
  def gettextfile(remotefile, localfile = nil)
    content = file(remotefile).data
    File.open(localfile, "w+"){|f| f << content} if localfile
    yield(content) if block_given?
  end
end