diff options
Diffstat (limited to 'lib/chef/resource_collection/resource_collection_serialization.rb')
-rw-r--r-- | lib/chef/resource_collection/resource_collection_serialization.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/chef/resource_collection/resource_collection_serialization.rb b/lib/chef/resource_collection/resource_collection_serialization.rb index 647d28dfd0..4da1ad5048 100644 --- a/lib/chef/resource_collection/resource_collection_serialization.rb +++ b/lib/chef/resource_collection/resource_collection_serialization.rb @@ -15,6 +15,9 @@ # See the License for the specific language governing permissions and # limitations under the License. # + +require "chef/json_compat" + class Chef class ResourceCollection module ResourceCollectionSerialization @@ -39,13 +42,17 @@ class Chef end module ClassMethods - def json_create(o) + def from_hash(o) collection = new() o["instance_vars"].each do |k, v| collection.instance_variable_set(k.to_sym, v) end collection end + + def from_json(j) + from_hash(Chef::JSONCompat.parse(j)) + end end def is_chef_resource!(arg) |