Class: SkillBench::PackageVerifier
- Inherits:
-
Object
- Object
- SkillBench::PackageVerifier
- Defined in:
- lib/skill_bench/package_verifier.rb
Overview
Verifies that a built gem package includes the files required for release.
Defined Under Namespace
Classes: Error
Constant Summary collapse
- REQUIRED_FILES =
Files that must be present for a usable evaluator gem package.
%w[ README.md LICENSE bin/skill-bench docs/architecture.md docs/testing-guide.md lib/skill_bench.rb lib/skill_bench/config/applier.rb lib/skill_bench/config/defaults.rb lib/skill_bench/config/env_overrides.rb lib/skill_bench/config/facade_readers.rb lib/skill_bench/config/facade_writers.rb lib/skill_bench/config/json_loader.rb lib/skill_bench/config/store.rb lib/skill_bench/package_verifier.rb lib/skill_bench/source_path_resolver.rb lib/skill_bench/runner.rb ].freeze
Class Method Summary collapse
-
.call(package_path:, required_files: REQUIRED_FILES) ⇒ Hash
Verifies that a gem package includes required release files.
Instance Method Summary collapse
-
#call ⇒ Hash
Verifies that the configured package contains all required files.
-
#initialize(package_path:, required_files: REQUIRED_FILES) ⇒ PackageVerifier
constructor
Initializes the verifier.
Constructor Details
#initialize(package_path:, required_files: REQUIRED_FILES) ⇒ PackageVerifier
Initializes the verifier.
46 47 48 49 |
# File 'lib/skill_bench/package_verifier.rb', line 46 def initialize(package_path:, required_files: REQUIRED_FILES) @package_path = package_path @required_files = required_files end |
Class Method Details
.call(package_path:, required_files: REQUIRED_FILES) ⇒ Hash
Verifies that a gem package includes required release files.
37 38 39 |
# File 'lib/skill_bench/package_verifier.rb', line 37 def self.call(package_path:, required_files: REQUIRED_FILES) new(package_path:, required_files:).call end |
Instance Method Details
#call ⇒ Hash
Verifies that the configured package contains all required files.
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/skill_bench/package_verifier.rb', line 54 def call files = packaged_files missing = @required_files - files return failure("Missing packaged files: #{missing.join(', ')}") if missing.any? { success: true, response: { missing_files: [], packaged_files: files } } rescue StandardError => e SkillBench::ErrorLogger.log_error(e, 'PackageVerifier Error') failure(e.) end |