Class: T::OneOf

Inherits:
Object
  • Object
show all
Defined in:
lib/json_model/types/one_of.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*types) ⇒ OneOf

Returns a new instance of OneOf.

Parameters:



6
7
8
# File 'lib/json_model/types/one_of.rb', line 6

def initialize(*types)
  @types = types
end

Class Method Details

.[](*types) ⇒ OneOf

Parameters:

Returns:



21
22
23
# File 'lib/json_model/types/one_of.rb', line 21

def [](*types)
  OneOf.new(*types)
end

Instance Method Details

#to_type_spec(**options) ⇒ JsonModel::TypeSpec::Composition::OneOf



11
12
13
14
15
16
# File 'lib/json_model/types/one_of.rb', line 11

def to_type_spec(**options)
  JsonModel::TypeSpec::Composition::OneOf.new(
    *@types.map { |type| JsonModel::TypeSpec.resolve(type) },
    **options,
  )
end