From d43b66a12bfb36bf1328b393d7b16db0ab6693f2 Mon Sep 17 00:00:00 2001 From: Gregg Kellogg Date: Thu, 5 Oct 2017 17:23:44 -0700 Subject: [PATCH] Fix some corner-cases when `@container` includes `@set`. --- lib/json/ld/context.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/json/ld/context.rb b/lib/json/ld/context.rb index cd466fd2..b3184e84 100644 --- a/lib/json/ld/context.rb +++ b/lib/json/ld/context.rb @@ -113,6 +113,7 @@ def initialize(term, def container_mapping=(mapping) mapping = Array(mapping) if @as_set = mapping.include?('@set') + mapping = mapping.dup mapping.delete('@set') end @container_mapping = mapping.first @@ -1616,7 +1617,7 @@ def check_container(container, local_context, defined, term) "'@container' on term #{term.inspect} must be a string: #{container.inspect}" end - val = Array(container) + val = Array(container).dup val.delete('@set') if has_set = val.include?('@set') raise JsonLdError::InvalidContainerMapping,