Class: DataFoodConsortium::Connector::JsonLdSerializer
- Inherits:
-
Object
- Object
- DataFoodConsortium::Connector::JsonLdSerializer
- Defined in:
- lib/datafoodconsortium/connector/json_ld_serializer.rb
Instance Method Summary collapse
-
#initialize(outputContext = nil, inputContext = nil) ⇒ JsonLdSerializer
constructor
A new instance of JsonLdSerializer.
- #process(subject, *subjects) ⇒ Object
Constructor Details
#initialize(outputContext = nil, inputContext = nil) ⇒ JsonLdSerializer
Returns a new instance of JsonLdSerializer.
28 29 30 31 |
# File 'lib/datafoodconsortium/connector/json_ld_serializer.rb', line 28 def initialize(outputContext = nil, inputContext = nil) @outputContext = outputContext @hashSerializer = VirtualAssembly::Semantizer::HashSerializer.new(inputContext) 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 50 51 52 53 54 |
# File 'lib/datafoodconsortium/connector/json_ld_serializer.rb', line 33 def process(subject, *subjects) subjects.insert(0, subject) if (subjects.empty?) return "" end inputs = [] # Insert an input context on each subject so the properties could be prefixed. This way, # the DFC's context can be used. # See https://github.com/datafoodconsortium/connector-ruby/issues/11. subjects.each do |subject| input = { "@context" => "http://static.datafoodconsortium.org/ontologies/context.json" } input.merge!(subject.serialize(@hashSerializer)) inputs.push(input) end jsonLd = JSON::LD::API.compact(inputs, @outputContext) return JSON.generate(jsonLd) end |