Ruby Gem:将配置文件安装到user-home目录

时间:2014-12-29 14:00:14

标签: ruby gem config

我必须在Ruby中创建一个REST-Client。

客户端必须像命令行一样从二进制文件运行,并且必须是" requirable"在ruby脚本中提供不同的功能。

我的gemspec正是应该做的。

但我不知道如何在user-home文件夹中安装配置文件(YAML)? 配置文件应位于用户目录中,以便为用户提供方便的访问权限。

  • 这可能吗?
  • 我应该检查第一次运行是否有配置文件并创建它?
  • 我可以在安装gem时执行自己的安装例程吗?

我在Python中做了完全相同的事情并且工作正常,因此Ruby客户端的行为应该类似。

1 个答案:

答案 0 :(得分:0)

对于这样的决定,我写了gem persey。如果您查看使用此gem的description,您可以看到它提供了您所期望的内容:

# Rails.root are not initialized here
app_path = File.expand_path('../../', __FILE__)

# ...

# config with secret keys
# you don't want store this config in repository and copy to secret folder on host machine
my_secret_key_config = '/home/user/secret/keys.yml'

# ...

# Persey.init ENV["environment"] do # set current environment
Persey.init Rails.env do # set current environment

  source :yaml, my_secret_key_config, :secret   # no comments. It's secret!

  env :production do
    # ...
  end

  env :development, :parent => :production do
    # ...
  end
end