[英]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.