Class: ViewModel::Schemas
- Inherits:
-
Object
- Object
- ViewModel::Schemas
- Defined in:
- lib/view_model/schemas.rb
Constant Summary collapse
- ID_SCHEMA =
{ 'oneOf' => [{ 'type' => 'integer' }, { 'type' => 'string', 'format' => 'uuid' }] }
- ID =
JsonSchema.parse!(ID_SCHEMA)
- VIEWMODEL_UPDATE_SCHEMA =
{ 'type' => 'object', 'description' => 'viewmodel update', 'properties' => { ViewModel::TYPE_ATTRIBUTE => { 'type' => 'string' }, ViewModel::ID_ATTRIBUTE => ID_SCHEMA, ViewModel::NEW_ATTRIBUTE => { 'type' => 'boolean' }, ViewModel::VERSION_ATTRIBUTE => { 'type' => 'integer' } }, 'required' => [ViewModel::TYPE_ATTRIBUTE] }
- VIEWMODEL_UPDATE =
JsonSchema.parse!(VIEWMODEL_UPDATE_SCHEMA)
- VIEWMODEL_REFERENCE_SCHEMA =
{ 'type' => 'object', 'description' => 'viewmodel shared reference', 'properties' => { ViewModel::REFERENCE_ATTRIBUTE => { 'type' => 'string' } }, 'additionalProperties' => false, 'required' => [ViewModel::REFERENCE_ATTRIBUTE], }
- VIEWMODEL_REFERENCE =
JsonSchema.parse!(VIEWMODEL_REFERENCE_SCHEMA)
Class Method Summary collapse
Class Method Details
.verify_schema!(schema, value) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/view_model/schemas.rb', line 37 def self.verify_schema!(schema, value) valid, errors = schema.validate(value) unless valid error_list = errors.map { |e| "#{e.pointer}: #{e.}" }.join("\n") errors = 'Error'.pluralize(errors.length) raise ViewModel::DeserializationError::InvalidSyntax.new("#{errors} parsing #{schema.description}:\n#{error_list}") end end |