module Granola::Serializer::Schema

This module adds support for JSON Schema to Granola serializers. You should define the schema for each serializer

Public Class Methods

included(base) click to toggle source
# File lib/granola/schema.rb, line 10
def self.included(base)
  base.extend ClassMethods
end

Public Instance Methods

valid?() click to toggle source

Public: Validate this serializer against it’s own schema.

Returns Boolean indicating whether it’s valid. In case it’s not, it populates the ‘#validation_errors` Array.

# File lib/granola/schema.rb, line 27
def valid?
  validation_errors.clear
  validation_errors.concat(
    JSON::Validator.fully_validate(self.class.schema, data)
  )
  validation_errors.empty?
end
validation_errors() click to toggle source

Public: List any errors that arose from validating this against its schema.

See valid?

Returns an Array.

# File lib/granola/schema.rb, line 41
def validation_errors
  @validation_errors ||= []
end