summaryrefslogtreecommitdiff
path: root/lib/chef/resource_collection/resource_collection_serialization.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/resource_collection/resource_collection_serialization.rb')
-rw-r--r--lib/chef/resource_collection/resource_collection_serialization.rb9
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)