Sha256: 768b64745966334dfe6942fab32d5f7699e3b6e20107ff83b0e2b8179b98ea23
Contents?: true
Size: 1.66 KB
Versions: 4
Compression:
Stored size: 1.66 KB
Contents
require 'json' module Abstractor module Serializers class AbstractorAbstractionSchemaSerializer def initialize(abstractor_abstraction_schema) @abstractor_abstraction_schema = abstractor_abstraction_schema end def as_json(options = {}) { "predicate" => abstractor_abstraction_schema.predicate, "display_name" => abstractor_abstraction_schema.display_name, "abstractor_object_type" => abstractor_abstraction_schema.abstractor_object_type.value, "preferred_name" => abstractor_abstraction_schema.preferred_name, "predicate_variants" => abstractor_abstraction_schema.abstractor_abstraction_schema_predicate_variants.map { |abstractor_abstraction_schema_predicate_variant| { 'value' => abstractor_abstraction_schema_predicate_variant.value } }, "object_values" => abstractor_abstraction_schema.abstractor_object_values.map do |abstractor_object_value| { 'value' => abstractor_object_value.value, 'properties' => abstractor_object_value.properties.nil? ? nil : JSON.parse(abstractor_object_value.properties), 'vocabulary_code' => abstractor_object_value.vocabulary_code, 'vocabulary' => abstractor_object_value.vocabulary, 'vocabulary_version' => abstractor_object_value.vocabulary_version, 'object_value_variants' => abstractor_object_value.abstractor_object_value_variants.map { |abstractor_object_value_variant| { 'value' => abstractor_object_value_variant.value } } } end } end private attr_reader :abstractor_abstraction_schema end end end
Version data entries
4 entries across 4 versions & 1 rubygems