Class: Abstractor::Serializers::AbstractorAbstractionSchemaSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/abstractor/serializers/abstractor_abstraction_schema_serializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(abstractor_abstraction_schema) ⇒ AbstractorAbstractionSchemaSerializer

Returns a new instance of AbstractorAbstractionSchemaSerializer.



5
6
7
# File 'lib/abstractor/serializers/abstractor_abstraction_schema_serializer.rb', line 5

def initialize(abstractor_abstraction_schema)
  @abstractor_abstraction_schema = abstractor_abstraction_schema
end

Instance Method Details

#as_json(options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/abstractor/serializers/abstractor_abstraction_schema_serializer.rb', line 9

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