Class: Cocina::Generator::SchemaArray

Inherits:
SchemaBase
  • Object
show all
Defined in:
lib/cocina/generator/schema_array.rb

Overview

Class for generating from an openapi array

Instance Attribute Summary

Attributes inherited from SchemaBase

#key, #lite, #nullable, #parent, #relaxed, #required, #schema_doc, #schemas

Instance Method Summary collapse

Methods inherited from SchemaBase

#any_datatype?, #custom_type?, #datatype_from_doc_names, #datatype_from_doc_type, #defined_datatypes?, #deprecation, #description, #dry_datatype, #example, #filename, #initialize, #name, #optional, #preamble, #quote, #relaxed_comment, #string_dry_datatype

Constructor Details

This class inherits a constructor from Cocina::Generator::SchemaBase

Instance Method Details

#array_of_typeObject



11
12
13
# File 'lib/cocina/generator/schema_array.rb', line 11

def array_of_type
  schema_doc.items.name || dry_datatype(schema_doc.items)
end

#generateObject



7
8
9
# File 'lib/cocina/generator/schema_array.rb', line 7

def generate
  "attribute :#{name.camelize(:lower)}, Types::Strict::Array.of(#{array_of_type}).default([].freeze)"
end