Sha256: 18689be5860a40091a1b43c5cf73a2d932db0740a7dcc40dd954c280e218683a

Contents?: true

Size: 1006 Bytes

Versions: 15

Compression:

Stored size: 1006 Bytes

Contents

require 'json_schema'
module Validator
  class Json_Schema < Base

    def initialize files_to_validate
      @files_to_validate = files_to_validate
      schema_data = File.read("#{File.dirname(__FILE__)}/schema.json")
      schema_json = JSON.parse(schema_data)
      @schema = ::JsonSchema.parse!(schema_json)
      @errors, @success = [], []
    end

    # @param [String] schema to test against the meta schema
    def validate(schema)
      schema_to_test = JSON.parse(schema)
      begin
        @schema.validate! schema_to_test
      rescue
        errors << "Schema validation failed: #{schema_to_test['title']}\n#{$!}"
      else
        success << File.basename(schema)
      end
    end

    def use_for_validation(schema)
       schema_to_test = JSON.parse(schema)
      begin
       ::JsonSchema.parse!(schema_to_test)
      rescue
        errors << "Data validation failed: #{schema_to_test['title']}\n#{$!}"
      else
        success << schema_to_test['title']
      end
    end

  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
fidor_schema-0.10.12 lib/validator/json_schema.rb
fidor_schema-0.10.11 lib/validator/json_schema.rb
fidor_schema-0.10.10 lib/validator/json_schema.rb
fidor_schema-0.10.9 lib/validator/json_schema.rb
fidor_schema-0.10.8 lib/validator/json_schema.rb
fidor_schema-0.10.7 lib/validator/json_schema.rb
fidor_schema-0.10.6 lib/validator/json_schema.rb
fidor_schema-0.10.5 lib/validator/json_schema.rb
fidor_schema-0.10.4 lib/validator/json_schema.rb
fidor_schema-0.10.2 lib/validator/json_schema.rb
fidor_schema-0.10.1 lib/validator/json_schema.rb
fidor_schema-0.10.0 lib/validator/json_schema.rb
fidor_schema-0.8.0 lib/validator/json_schema.rb
fidor_schema-0.7.0 lib/validator/json_schema.rb
fidor_schema-0.6.0 lib/validator/json_schema.rb