Class: Capsium::Package::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/capsium/package/validator.rb,
sig/capsium/package/validator.rbs

Overview

Validates a package directory or .cap file against the canonical schemas (ARCHITECTURE.md sections 2-6) and reports one result per check. Used by capsium package validate.

Defined Under Namespace

Classes: CheckResult

Constant Summary collapse

EXTERNAL_REFERENCE_PATTERN =

Returns:

  • (Regexp)
%r{(?:src|href)\s*=\s*["']https?://}in
TEXT_CONTENT_MIME =

Returns:

  • (Regexp)
%r{\Atext/|application/(json|javascript|xml)|image/svg\+xml}

Instance Method Summary collapse

Constructor Details

#initialize(package_path) ⇒ Validator

Returns a new instance of Validator.

Parameters:

  • package_path (String)


23
24
25
# File 'lib/capsium/package/validator.rb', line 23

def initialize(package_path)
  @given_path = package_path
end

Instance Method Details

#runArray[CheckResult]

Returns:



27
28
29
30
31
32
33
# File 'lib/capsium/package/validator.rb', line 27

def run
  Dir.mktmpdir do |dir|
    @package_path = prepare(dir)
    [, manifest_check, routes_check,
     storage_check, security_check, content_check]
  end
end

#valid?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/capsium/package/validator.rb', line 35

def valid?
  run.all?(&:ok?)
end