Class: SkillBench::Models::CriteriaValidator
- Inherits:
-
Object
- Object
- SkillBench::Models::CriteriaValidator
- Defined in:
- lib/skill_bench/models/criteria_validator.rb
Overview
Validates evaluation criteria JSON structure without building rich objects.
Class Method Summary collapse
-
.call(path:) ⇒ Hash
Validates criteria from a JSON file.
Instance Method Summary collapse
-
#call ⇒ Hash
Validates the criteria file.
-
#initialize(path) ⇒ CriteriaValidator
constructor
A new instance of CriteriaValidator.
Constructor Details
#initialize(path) ⇒ CriteriaValidator
Returns a new instance of CriteriaValidator.
18 19 20 |
# File 'lib/skill_bench/models/criteria_validator.rb', line 18 def initialize(path) @path = path end |
Class Method Details
.call(path:) ⇒ Hash
Validates criteria from a JSON file
13 14 15 |
# File 'lib/skill_bench/models/criteria_validator.rb', line 13 def self.call(path:) new(path).call end |
Instance Method Details
#call ⇒ Hash
Validates the criteria file.
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/skill_bench/models/criteria_validator.rb', line 25 def call return file_not_found_result unless File.exist?(path) data = parse_json(path) return data unless data[:success] parsed = data[:response][:data] validation = validate(parsed) return validation unless validation[:success] { success: true, response: { criteria: parsed } } end |