gpt4 book ai didi

ruby-on-rails - 如何将 Net::SSH 放入模型方法中?

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:52 24 4
gpt4 key购买 nike

我有一个 Rails 模型 Instance,代表一个 EC2 实例。

目前,每当我有一个必须通过 SSH 的方法时,我必须在我想做的任何地方设置 Net::SSH,这是很多的。

例如:

Net::SSH.start(ip, 'ubuntu', keys: "mykey.pem" ) do |ssh|
ssh.exec "sudo chmod +x /tmp/provision.sh"
end

有什么方法可以将“ssh”设置位考虑到实例模型中吗?

最佳答案

如何将其封装成私有(private)方法,并让出到调用处的连接。

class Instance

def chmod
start do |ssh|
ssh.exec "sudo chmod +x /tmp/provision.sh"
# other operations on ssh
end
end

private

def start
Net::SSH.start(ip, 'ubuntu', keys: "mykey.pem" ) do |ssh|
yield ssh
end
end
end

关于ruby-on-rails - 如何将 Net::SSH 放入模型方法中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31132675/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com