Class: Chef::Knife::Core::ObjectLoader
- Inherits:
-
Object
- Object
- Chef::Knife::Core::ObjectLoader
- Defined in:
- lib/knife/undev/monkey_patches/object_loader.rb
Instance Method Summary collapse
Instance Method Details
#object_from_file(filename) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/knife/undev/monkey_patches/object_loader.rb', line 6 def object_from_file(filename) case filename when /\.(js|json)$/ r = Yajl::Parser.parse(IO.read(filename)) # Chef::DataBagItem doesn't work well with the json_create method if @klass == Chef::DataBagItem r else @klass.json_create(r) end when /\.rb$/ r = klass.new r.from_file(filename) r when /\.yml$/ r = YAML.load_file(filename) @klass.json_create(r) else ui.fatal("File must end in .js, .json, .rb or .yml") exit 30 end end |