diff options
author | Andreas Maunz <andreas@maunz.de> | 2011-08-13 08:44:17 +0200 |
---|---|---|
committer | Andreas Maunz <andreas@maunz.de> | 2011-08-13 08:44:17 +0200 |
commit | ed3a1a1d85fd6b3d1e00f3193cdbfe9bfbe8866c (patch) | |
tree | 185d0ceddbb1c4df7cf3d3a51e433c7b221bea9b | |
parent | 68ff57c18f9f2f737ecdd8e5c60f42aa2f925416 (diff) |
Checking for metadata nil
-rw-r--r-- | lib/serializer.rb | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/lib/serializer.rb b/lib/serializer.rb index 03dcf1f..7fe4a3e 100644 --- a/lib/serializer.rb +++ b/lib/serializer.rb @@ -268,28 +268,30 @@ module OpenTox # @param [Hash] metadata def add_metadata(uri,metadata) id = 0 - metadata.each do |u,v| - #if v.is_a? Array and (u == OT.parameters or u == RDF.type) - if v.is_a? Array and u == OT.parameters#or u == RDF.type) - @object[uri][u] = [] unless @object[uri][u] - v.each do |value| - id+=1 - genid = "_:genid#{id}" - @object[uri][u] << {"type" => "bnode", "value" => genid} - @object[genid] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Parameter}] } - value.each do |name,entry| - @object[genid][name] = [{"type" => type(entry), "value" => entry }] - end - end - elsif v.is_a? Array #and u == RDF.type - @object[uri] = {} unless @object[uri] - v.each do |value| + if !metadata.nil? + metadata.each do |u,v| + #if v.is_a? Array and (u == OT.parameters or u == RDF.type) + if v.is_a? Array and u == OT.parameters#or u == RDF.type) @object[uri][u] = [] unless @object[uri][u] - @object[uri][u] << {"type" => type(value), "value" => value } + v.each do |value| + id+=1 + genid = "_:genid#{id}" + @object[uri][u] << {"type" => "bnode", "value" => genid} + @object[genid] = { RDF["type"] => [{ "type" => "uri", "value" => OT.Parameter}] } + value.each do |name,entry| + @object[genid][name] = [{"type" => type(entry), "value" => entry }] + end + end + elsif v.is_a? Array #and u == RDF.type + @object[uri] = {} unless @object[uri] + v.each do |value| + @object[uri][u] = [] unless @object[uri][u] + @object[uri][u] << {"type" => type(value), "value" => value } + end + elsif v.is_a? String + @object[uri] = {} unless @object[uri] + @object[uri][u] = [{"type" => type(v), "value" => v }] end - elsif v.is_a? String - @object[uri] = {} unless @object[uri] - @object[uri][u] = [{"type" => type(v), "value" => v }] end end end |