我正在开发一个专为CLI设计的Ruby脚本,该脚本基于REST API。此API需要一个令牌作为凭据才能识别用户并允许他检索他的信息。 目前,这个脚本每次启动时都会在控制台中询问30长度令牌。
现在我想存储此令牌,以避免每次用户想要使用脚本时都询问它。我不知道最好的方法是什么,我是否必须创建一个包含令牌的隐藏文件,或者要求用户将其存储在环境变量中?
我想使用环境变量解决方案,但我不知道它是否会以相同的方式用于Windows或Linux。
答案 0 :(得分:3)
撰写所有方法。像这样:
def get_my_token()
if ENV["MY_TOKEN"]
return ENV["MY_TOKEN"]
end
token_path = File.expand_path("~/.my_token") # will be expanded to user's home (Documents or smth) in windows, check it yourself as I don't have running windows around here
if File.exists?(token_path)
return File.read(token_path).strip
end
# resort to asking user for token here
end
ENV应该先行 - 所以如果出于某些测试目的需要,您将能够覆盖您的配置。另请注意,您也可以将脚本作为MY_TOKEN=xxxx ruby my_app.rb
运行。