如何为不同的ruby方法创建单一登录? #雷神

时间:2014-08-03 09:42:51

标签: ruby-on-rails ruby 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创建不同的方法,但我无法为这两个命令创建单个登录。我怎样才能做到这一点?

为什么我不能在邮件方法中访问$ username和$ password。

我想创建一个命令登录,然后在所有不同的方法中使用用户名和密码。

1 个答案:

答案 0 :(得分:1)

每个命令都是一个新进程,因此最后一个命令中的数据实际上已经消失。你需要坚持下去。

由于它是在本地运行的命令行工具,您可以将用户的数据保存到本地文件中,例如〜/ .yourapp / config 。因此,下次您可以首先查找本地配置文件。

当然,您可以使用Google OAuth访问用户的Google数据,而不是直接询问用户的凭据。