Class: SkillBench::Models::CriteriaValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/skill_bench/models/criteria_validator.rb

Overview

Validates evaluation criteria JSON structure without building rich objects.

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ CriteriaValidator

Returns a new instance of CriteriaValidator.

Parameters:

  • path (String)

    Path to criteria JSON file



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

Parameters:

  • path (String)

    Path to criteria JSON file

Returns:

  • (Hash)

    Validation result with success status and criteria data



13
14
15
# File 'lib/skill_bench/models/criteria_validator.rb', line 13

def self.call(path:)
  new(path).call
end

Instance Method Details

#callHash

Validates the criteria file.

Returns:

  • (Hash)

    Validation result.



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