class Pacto::MetaSchema

Attributes

engine[RW]
schema[RW]

Public Class Methods

new(engine = JSON::Validator) click to toggle source
# File lib/pacto/meta_schema.rb, line 5
def initialize(engine = JSON::Validator)
  @schema = File.join(File.dirname(File.expand_path(__FILE__)), '../../resources/contract_schema.json')
  @base_schema = File.join(File.dirname(File.expand_path(__FILE__)), '../../resources/draft-03.json')
  JSON::Validator.validate!(@base_schema, @schema)
  @engine = engine
end

Public Instance Methods

validate(definition) click to toggle source
# File lib/pacto/meta_schema.rb, line 12
def validate(definition)
  errors = engine.fully_validate(schema, definition, :version => :draft3)
  unless errors.empty?
    fail InvalidContract, errors
  end
end