diff options
Diffstat (limited to 'lib/chef/chef_fs/file_system/repository/file_system_entry.rb')
-rw-r--r-- | lib/chef/chef_fs/file_system/repository/file_system_entry.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/chef/chef_fs/file_system/repository/file_system_entry.rb b/lib/chef/chef_fs/file_system/repository/file_system_entry.rb index bee017f7a8..2db6bbabe2 100644 --- a/lib/chef/chef_fs/file_system/repository/file_system_entry.rb +++ b/lib/chef/chef_fs/file_system/repository/file_system_entry.rb @@ -92,11 +92,13 @@ class Chef end def read - begin + if File.extname(file_path) == ".rb" + data_handler.from_ruby(file_path).to_json + else File.open(file_path, "rb") { |f| f.read } - rescue Errno::ENOENT - raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) end + rescue Errno::ENOENT + raise Chef::ChefFS::FileSystem::NotFoundError.new(self, $!) end def write(content) |