gpt4 book ai didi

ruby - nconf.js 像 gem 一样用于 ruby​​ 配置

转载 作者:行者123 更新时间:2023-12-05 07:52:25 26 4
gpt4 key购买 nike

我正在用 ruby​​ 构建一个 cli 工具,我需要从不同的来源获取配置:环境变量、点文件、参数或硬编码值。 (有优先系统)

在 node.js 中我会使用 nconf.js , 做到这一点。

在 ruby​​ 中是否有一些配置 gem 可以做这样的事情?

最佳答案

实际答案是这样的:

更新时间:2020-02-26

https://github.com/infochimps-labs/configliere

引用作者的话:

Be willing to sit down with the Five Families. Takes settings from (at your option):

  • Pre-defined defaults from constants
  • Simple config files
  • Environment variables
  • Commandline options and git-style command runners
  • Ruby block (called when all other options are in place)

简而言之。就像 nconf 一样。

require 'configliere'

Settings.use :commandline
Settings({
:dest_time => '11-05-1955',
:fluxcapacitor => {
:speed => 88,
},
:delorean => {
:power_source => 'plutonium',
:roads_needed => true,
},
:username => 'marty',
:password => '',
})

#set a value to possibly also come from env
Settings.define :dest_time, :env_var => 'DEST_TIME'

Settings.read "#{__dir__}/config.yml"
Settings.read "#{Dir.pwd()}/config.yml"
Settings.resolve!

旧答案:

https://github.com/rubyconfig/config#working-with-environment-variables

它不执行 argv,但它允许您对各种 yaml 文件进行分层,然后使用 ENV 覆盖,就像 nconf 允许的那样。

关于ruby - nconf.js 像 gem 一样用于 ruby​​ 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com