[英]How can I create a single login for different ruby methods? #thor
我正在使用gmail gem制作用于gmail的命令行工具。
def login
$username = ask 'Enter your username:'
$password = ask 'Enter your password:'
gmail = Gmail.connect!($username, $password)
say 'User Authorized!'
end
def mail
gmail = Gmail.connect!($username, $password)
to_mail = ask 'Enter email-id:'
subject_mail = ask 'Enter subject:'
body_mail = ask 'Enter body:'
email=gmail.compose do
to to_mail
subject subject_mail
body body_mail
end
gmail.deliver(email)
gmail.logout
end
使用thor gem创建不同的方法,但是我无法为这两个命令创建一次登录。 我该如何实现?
为什么我不能在mail方法中访问$ username和$ password。
我想创建一个命令登录名,然后在所有不同方法中使用用户名和密码。
每个命令都是一个新过程,因此最后一个命令中的数据实际上已经消失了。 您需要坚持下去。
由于它是在本地运行的命令行工具,因此您可以将用户数据保存到本地文件中,例如〜/ .yourapp / config 。 因此,下次您可以首先查找本地配置文件。
当然,您可以使用Google OAuth访问用户的Google数据,而不是直接询问用户的凭据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.