Class: Jsapi::Meta::Schema::Array

Inherits:
Base
  • Object
show all
Defined in:
lib/jsapi/meta/schema/array.rb

Constant Summary

Constants inherited from Base

Base::TYPES

Instance Attribute Summary

Attributes inherited from Base

#validations

Instance Method Summary collapse

Methods inherited from Base

#default, #deprecated, #description, #enum, #enum=, #examples, #existence, #external_docs, #initialize, #nullable?, #title, #type

Methods inherited from Base

#initialize, #inspect, #reference?, #resolve

Methods included from Attributes::ClassMethods

#attribute, #attribute_names

Constructor Details

This class inherits a constructor from Jsapi::Meta::Schema::Base

Instance Method Details

#itemsObject

:attr: items The Schema defining the kind of items.



10
# File 'lib/jsapi/meta/schema/array.rb', line 10

attribute :items, Schema

#max_itemsObject

:attr: max_items The maximum length of an array.



15
# File 'lib/jsapi/meta/schema/array.rb', line 15

attribute :max_items, writer: false

#max_items=(value) ⇒ Object

:nodoc:



22
23
24
25
# File 'lib/jsapi/meta/schema/array.rb', line 22

def max_items=(value) # :nodoc:
  add_validation('max_items', Validation::MaxItems.new(value))
  @max_items = value
end

#min_itemsObject

:attr: min_items The minimum length of an array.



20
# File 'lib/jsapi/meta/schema/array.rb', line 20

attribute :min_items, writer: false

#min_items=(value) ⇒ Object

:nodoc:



27
28
29
30
# File 'lib/jsapi/meta/schema/array.rb', line 27

def min_items=(value) # :nodoc:
  add_validation('min_items', Validation::MinItems.new(value))
  @min_items = value
end

#to_json_schemaObject

:nodoc:



32
33
34
# File 'lib/jsapi/meta/schema/array.rb', line 32

def to_json_schema # :nodoc:
  super.merge(items: items&.to_json_schema || {})
end

#to_openapi(version) ⇒ Object

:nodoc:



36
37
38
# File 'lib/jsapi/meta/schema/array.rb', line 36

def to_openapi(version) # :nodoc:
  super.merge(items: items&.to_openapi(version) || {})
end