Module: Aepic::Concerns::Serializer::ClassMethods
- Defined in:
- lib/aepic/concerns/serializer.rb
Instance Method Summary collapse
Instance Method Details
#jsonld ⇒ Object
35 36 37 |
# File 'lib/aepic/concerns/serializer.rb', line 35 def jsonld {'@context' => {xsd: 'http://www.w3.org/2001/XMLSchema#'}.merge(jsonld_context)} end |
#jsonld_context ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/aepic/concerns/serializer.rb', line 17 def jsonld_context {}.tap do |context| schema[:attributes].each do |name, type| context[name] = XSD_TYPES[type] end schema[:associations].each do |name, type| class_name = name.to_s if class_name =~ /_ids?\Z/ context[name] = 'xsd:integer' else class_name = name.to_s.classify associated_class = "#{class_name}Decorator".constantize context[name] = associated_class.jsonld_context end end end end |