如何存储rubygem可访问的用户变量?

时间:2013-06-19 17:11:23

标签: ruby variables rubygems arguments

我正在创建一个简单的ruby gem,以便在终端中允许一些github问题功能。

总的来说,这是一次很棒的体验,但我遇到的最大障碍(并且无法找到任何有用的信息)是存储gem可以访问的用户变量,并且是持久的。

例如,当gem第一次加载时,我会询问他们的用户名,令牌等。我需要能够将这些设置存储在可以访问的地方,直到卸载gem。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

对于命令行gems,我看过很多使用yml文件来存储用户首选项数据,通常是root或usage目录下的一个点文件。这是IMO和我喜欢的首选方式。

如果没有用户的设置,您还需要在gem中设置默认首选项。

答案 1 :(得分:0)

将数据传递给Ruby程序的方法

Ruby gems在很大程度上可以被认为是专门的Ruby程序。因此,您可以像对待任何其他Ruby程序一样,为典型的gem提供输入:

  1. 传递可通过 ARGV 访问的命令行参数。
  2. 传递可通过 ENV 哈希访问的环境变量。
  3. 通过采购或解析文件(或DATA)来读取数据。
  4. 硬编码常量,全局变量或魔术变量。
  5. 您可以单独或组合使用上述任何一种。选择是你的。