Sha256: f8964ba925c0e85010f2e87af6821928ab24243b1651c465206a446cf926a1ea

Contents?: true

Size: 1.77 KB

Versions: 5

Compression:

Stored size: 1.77 KB

Contents

# frozen_string_literal: true

# This file is autogenerated by Deimos, Do NOT modify
module Schemas; module MyNamespace
  ### Primary Schema Class ###
  # Autogenerated Schema for Record at com.my-namespace.MySchemaWithCircularReference
  class MySchemaWithCircularReference < Deimos::SchemaClass::Record

    ### Secondary Schema Classes ###
    # Autogenerated Schema for Record at com.my-namespace.Property
    class Property < Deimos::SchemaClass::Record
  
      ### Attribute Accessors ###
      # @return [Boolean, Integer, Integer, Float, Float, String, Array<Property>, Hash<String, Property>]
      attr_accessor :property
  
      # @override
      def initialize(property: nil)
        super
        self.property = property
      end
  
      # @override
      def schema
        'Property'
      end
  
      # @override
      def namespace
        'com.my-namespace'
      end
  
      # @override
      def as_json(_opts={})
        {
          'property' => @property
        }
      end
    end


    ### Attribute Readers ###
    # @return [Hash<String, Property>]
    attr_reader :properties

    ### Attribute Writers ###
    # @return [Hash<String, Property>]
    def properties=(values)
      @properties = values&.transform_values do |value|
        Property.initialize_from_value(value)
      end
    end

    # @override
    def initialize(properties: {})
      super
      self.properties = properties
    end

    # @override
    def schema
      'MySchemaWithCircularReference'
    end

    # @override
    def namespace
      'com.my-namespace'
    end

    def self.tombstone(key)
      record = self.allocate
      record
    end

    # @override
    def as_json(_opts={})
      {
        'properties' => @properties.transform_values { |v| v&.as_json }
      }
    end
  end
end; end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
deimos-ruby-2.0.0.pre.alpha2 spec/schemas/my_namespace/my_schema_with_circular_reference.rb
deimos-ruby-2.0.0.pre.alpha1 spec/schemas/my_namespace/my_schema_with_circular_reference.rb
deimos-ruby-1.24.2 spec/schemas/my_namespace/my_schema_with_circular_reference.rb
deimos-ruby-1.24.1 spec/schemas/my_namespace/my_schema_with_circular_reference.rb
deimos-ruby-1.24.0 spec/schemas/my_namespace/my_schema_with_circular_reference.rb