Class: DataPackage::DataPackageValidator

Inherits:
Validator
  • Object
show all
Defined in:
lib/datapackage/validator.rb

Overview

Extends base class with some additional checks for DataPackage conformance.

These include some warnings about missing metadata elements and an existence check for all resources

Direct Known Subclasses

SimpleDataFormatValidator

Instance Attribute Summary

Attributes inherited from Validator

#messages

Instance Method Summary collapse

Methods inherited from Validator

create, #valid?, #validate

Constructor Details

#initialize(schema_name = :datapackage, opts = {}) ⇒ DataPackageValidator

Returns a new instance of DataPackageValidator.



102
103
104
# File 'lib/datapackage/validator.rb', line 102

def initialize(schema_name=:datapackage, opts={})
    super(:datapackage, opts)
end

Instance Method Details

#validate_metadata(package) ⇒ Object



106
107
108
109
110
111
112
# File 'lib/datapackage/validator.rb', line 106

def (package)
    #not required, but recommended
    prefix = "The package does not include a"
    add_warning( :metadata, "#{prefix} 'licenses' property", "#/") if package.licenses.empty?
    add_warning( :metadata, "#{prefix} 'datapackage_version' property", "#/") unless package.datapackage_version
    add_warning( :integrity, "#{prefix} README.md file" ) unless package.resource_exists?( package.resolve("README.md") ) 
end

#validate_resource(package, resource, path) ⇒ Object



114
115
116
117
118
# File 'lib/datapackage/validator.rb', line 114

def validate_resource( package, resource, path )
    if !package.resource_exists?( package.resolve_resource( resource ) )
        add_error( :integrity, "Missing resource #{resource["url"] || resource["path"]}", path)
    end            
end