Chef和ruby如何将文本文件加载到哈希中

时间:2013-02-08 10:15:07

标签: ruby chef

我有一个名为text.txt的制表符分隔文件。如下。

a\tb
c\td

我是一名厨师,我需要将该文件加载到名为myhash的哈希中。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

我不知道厨师,但这是一个纯粹的红宝石解决方案。也许有帮助:

file = File.open('test.txt', 'r')
lines = file.readlines
file.close
myhash = Hash.new
lines.each do |line|
  line.chomp!
  key, value = line.split("\t")
  myhash[key] = value
end

答案 1 :(得分:0)

您必须将测试文件重新格式化为json:

{
   "a": "b",
   "c": "d"
}

然后您可以运行chef-clientchef-solo提供此json文件:

chef-solo -j myfile.json

您可以将这些数据用作食谱中的节点属性:

node[:a] #equals "b"
node[:c] #equals "d"