Class: JsonModel::TypeSpec
- Inherits:
-
Object
- Object
- JsonModel::TypeSpec
show all
- Defined in:
- lib/json_model/type_spec.rb,
lib/json_model/type_spec/enum.rb,
lib/json_model/type_spec/array.rb,
lib/json_model/type_spec/const.rb,
lib/json_model/type_spec/object.rb,
lib/json_model/type_spec/primitive.rb,
lib/json_model/type_spec/composition.rb,
lib/json_model/type_spec/primitive/null.rb,
lib/json_model/type_spec/primitive/number.rb,
lib/json_model/type_spec/primitive/string.rb,
lib/json_model/type_spec/primitive/boolean.rb,
lib/json_model/type_spec/primitive/integer.rb,
lib/json_model/type_spec/primitive/numeric.rb,
lib/json_model/type_spec/composition/all_of.rb,
lib/json_model/type_spec/composition/any_of.rb,
lib/json_model/type_spec/composition/one_of.rb
Defined Under Namespace
Classes: Array, Composition, Const, Enum, Object, Primitive
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.resolve(type, **options) ⇒ TypeSpec
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/json_model/type_spec.rb', line 37
def resolve(type, **options)
case type
when TypeSpec
type
when Class
resolve_type_from_class(type, **options)
when T::AllOf, T::AnyOf, T::Boolean, T::OneOf, T::Array, T::Enum, T::Const
type.to_type_spec(**options)
else
raise(ArgumentError, "Unsupported type: #{type}")
end
end
|
Instance Method Details
#as_schema(**options) ⇒ Hash
14
15
16
|
# File 'lib/json_model/type_spec.rb', line 14
def as_schema(**options)
raise(NotImplementedError)
end
|
#cast(json) ⇒ ::Object?
29
30
31
|
# File 'lib/json_model/type_spec.rb', line 29
def cast(json)
json
end
|
23
24
25
|
# File 'lib/json_model/type_spec.rb', line 23
def referenced_schemas
[]
end
|
#register_validations(name, klass) ⇒ Object
20
|
# File 'lib/json_model/type_spec.rb', line 20
def register_validations(name, klass) end
|