Class: Capsium::Package::Validator
- Inherits:
-
Object
- Object
- Capsium::Package::Validator
- 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 =
%r{(?:src|href)\s*=\s*["']https?://}in- TEXT_CONTENT_MIME =
%r{\Atext/|application/(json|javascript|xml)|image/svg\+xml}
Instance Method Summary collapse
-
#initialize(package_path) ⇒ Validator
constructor
A new instance of Validator.
- #run ⇒ Array[CheckResult]
- #valid? ⇒ Boolean
Constructor Details
#initialize(package_path) ⇒ Validator
Returns a new instance of Validator.
23 24 25 |
# File 'lib/capsium/package/validator.rb', line 23 def initialize(package_path) @given_path = package_path end |
Instance Method Details
#run ⇒ Array[CheckResult]
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
35 36 37 |
# File 'lib/capsium/package/validator.rb', line 35 def valid? run.all?(&:ok?) end |