Class: DataFoodConsortium::Connector::JsonLdSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/datafoodconsortium/connector/json_ld_serializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(context = nil) ⇒ JsonLdSerializer

Returns a new instance of JsonLdSerializer.



28
29
30
31
# File 'lib/datafoodconsortium/connector/json_ld_serializer.rb', line 28

def initialize(context = nil)
    @context = context
    @hashSerializer = VirtualAssembly::Semantizer::HashSerializer.new
end

Instance Method Details

#process(subject, *subjects) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/datafoodconsortium/connector/json_ld_serializer.rb', line 33

def process(subject, *subjects)
    subjects.insert(0, subject)

    if (subjects.empty?)
        return ""
    end

    inputs = []
    
    subjects.each do |subject|
        inputs.push(subject.serialize(@hashSerializer))
    end
    
    jsonLd = JSON::LD::API.compact(inputs, @context)

    return JSON.generate(jsonLd)
end