当我使用我的极客能力“浪漫”时,我的妻子喜欢它,所以我有一个想法,可以在她的Mac上安装一个ruby脚本,它会在一整天内发送她的报价和小笔记.
我已经发现我将使用GeekTool在后台运行脚本,我将使用growlnotify来显示消息.
现在我需要的是一种从Web更新脚本的方法,以防我更改它.
除了如何与控制台交互之外,我基本上都不了解
ruby.
我有2个目标:
1)有一个带有消息的XML文件.这需要可以从互联网更新,但如果她没有网络连接,则必须是本地的.
2)在我发现错误或想要改进它的情况下,从互联网更新脚本本身.
现在我知道如果我愿意,我显然可以手动更新她Mac上的脚本,但我认为这是学习更高级ruby的好方法.
优先级1将是XML文件,如果更改,则能够下载新版本.我可以使用哪些ruby来下载文件并将其保存到本地的某个位置?
我以前用过hpricot,那会是一个好方法吗?
注意:我妻子的mac是Macbook,运行Leopard(但可能是10.4,而不是100%肯定).
编辑
如果有人对脚本的第一个版本感兴趣,你可以找到它here
附: – >该脚本的第一个版本实际上并没有更新,它只是更新messages.xml文件,而这就是全部.
最佳答案
require 'net/http'
Net::HTTP.start("your.webhost.com") { |http|
resp = http.get("/messages/messages.xml")
open("messages.xml", "wb") { |file|
file.write(resp.body)
}
}
这样的事情应该有效.您也可以下载Ruby脚本,然后调用.
exec("ruby script2.rb")
#no further lines in script1 will execute