如何在不检查文件的情况下从Ruby / Chef代码中读取SVN中的JSON文件

时间:2015-07-15 16:56:14

标签: ruby json svn chef

在我的厨师代码中,我正在尝试读取JSON文件,解析它们并使用它们的值。目前我是从我的本地机器上做的。我希望能够在SVN上存储JSON并为我的代码提供SVN位置的路径,它应该能够读取它。目前我的代码如下所示:

def get_json(template_name)
      big_json = JSON.parse(::File::read(new_resource.local_path + template_name))
      return big_json
end

我希望它看起来像这样:

def get_json(template_name)
      big_json = JSON.parse(::File::read(new_resource.svn_path + template_name))
      return big_json
end

任何人都知道如何通过SVN直接做到这一点?

1 个答案:

答案 0 :(得分:0)

如果JSON文件可以通过HTTP获得,那么以下应该工作:

require 'open-uri'
require 'json'

def get_json(template_name)
  open(new_resource.svn_path + template_name) do |f|
    return JSON.parse(f.read)
  end
end