Module: RailVerdict::SchemaValidator
- Defined in:
- lib/rail_verdict/schema_validator.rb
Constant Summary collapse
- CONFIGURATION_SCHEMA =
"configuration-v1.schema.json"- CONFIGURATION_V11_SCHEMA =
"configuration-v1.1.schema.json"- CONFIGURATION_V12_SCHEMA =
"configuration-v1.2.schema.json"- CONFIGURATION_V13_SCHEMA =
"configuration-v1.3.schema.json"- CONFIGURATION_V14_SCHEMA =
"configuration-v1.4.schema.json"- CONFIGURATION_V15_SCHEMA =
"configuration-v1.5.schema.json"- AI_ANALYSIS_SCHEMA =
"ai-analysis-v1.schema.json"- FINDING_SCHEMA =
"finding-v1.schema.json"- RESULT_SCHEMA =
"result-v1.schema.json"- BASELINE_SCHEMA =
"baseline-v1.schema.json"- WAIVER_SCHEMA =
"waiver-v1.schema.json"- WAIVERS_SCHEMA =
"waivers-v1.schema.json"- REPAIR_PACKET_SCHEMA =
"repair-packet-v1.schema.json"- PR_INTELLIGENCE_SCHEMA =
"pr-intelligence-v1.schema.json"- VERIFICATION_RECEIPT_SCHEMA =
"verification-receipt-v1.schema.json"- RECEIPT_VALIDATION_SCHEMA =
"receipt-validation-v1.schema.json"- VERIFICATION_HANDOFF_SCHEMA =
"verification-handoff-v1.schema.json"
Class Method Summary collapse
- .schema_dir ⇒ Object
- .validate(data, schema_name) ⇒ Object
- .validate_ai_analysis(data) ⇒ Object
- .validate_baseline(data) ⇒ Object
- .validate_configuration(data) ⇒ Object
- .validate_finding(data) ⇒ Object
- .validate_handoff(data) ⇒ Object
- .validate_pr_intelligence(data) ⇒ Object
- .validate_receipt(data) ⇒ Object
- .validate_receipt_validation(data) ⇒ Object
- .validate_repair_packet(data) ⇒ Object
- .validate_result(data) ⇒ Object
- .validate_waiver(data) ⇒ Object
- .validate_waivers(data) ⇒ Object
Class Method Details
.schema_dir ⇒ Object
26 27 28 |
# File 'lib/rail_verdict/schema_validator.rb', line 26 def self.schema_dir File.("../../schemas", __dir__) end |
.validate(data, schema_name) ⇒ Object
91 92 93 94 |
# File 'lib/rail_verdict/schema_validator.rb', line 91 def self.validate(data, schema_name) schema = load_schema(schema_name) JSONSchemer.schema(schema).validate(data).map { |error| format_error(error) } end |
.validate_ai_analysis(data) ⇒ Object
47 48 49 |
# File 'lib/rail_verdict/schema_validator.rb', line 47 def self.validate_ai_analysis(data) validate(data, AI_ANALYSIS_SCHEMA) end |
.validate_baseline(data) ⇒ Object
59 60 61 |
# File 'lib/rail_verdict/schema_validator.rb', line 59 def self.validate_baseline(data) validate(data, BASELINE_SCHEMA) end |
.validate_configuration(data) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/rail_verdict/schema_validator.rb', line 30 def self.validate_configuration(data) schema_name = if data.is_a?(Hash) && data["version"] == 1.5 CONFIGURATION_V15_SCHEMA elsif data.is_a?(Hash) && data["version"] == 1.4 CONFIGURATION_V14_SCHEMA elsif data.is_a?(Hash) && data["version"] == 1.3 CONFIGURATION_V13_SCHEMA elsif data.is_a?(Hash) && data["version"] == 1.2 CONFIGURATION_V12_SCHEMA elsif data.is_a?(Hash) && data["version"] == 1.1 CONFIGURATION_V11_SCHEMA else CONFIGURATION_SCHEMA end validate(data, schema_name) end |
.validate_finding(data) ⇒ Object
51 52 53 |
# File 'lib/rail_verdict/schema_validator.rb', line 51 def self.validate_finding(data) validate(data, FINDING_SCHEMA) end |
.validate_handoff(data) ⇒ Object
87 88 89 |
# File 'lib/rail_verdict/schema_validator.rb', line 87 def self.validate_handoff(data) validate(data, VERIFICATION_HANDOFF_SCHEMA) end |
.validate_pr_intelligence(data) ⇒ Object
75 76 77 |
# File 'lib/rail_verdict/schema_validator.rb', line 75 def self.validate_pr_intelligence(data) validate(data, PR_INTELLIGENCE_SCHEMA) end |
.validate_receipt(data) ⇒ Object
79 80 81 |
# File 'lib/rail_verdict/schema_validator.rb', line 79 def self.validate_receipt(data) validate(data, VERIFICATION_RECEIPT_SCHEMA) end |
.validate_receipt_validation(data) ⇒ Object
83 84 85 |
# File 'lib/rail_verdict/schema_validator.rb', line 83 def self.validate_receipt_validation(data) validate(data, RECEIPT_VALIDATION_SCHEMA) end |
.validate_repair_packet(data) ⇒ Object
71 72 73 |
# File 'lib/rail_verdict/schema_validator.rb', line 71 def self.validate_repair_packet(data) validate(data, REPAIR_PACKET_SCHEMA) end |
.validate_result(data) ⇒ Object
55 56 57 |
# File 'lib/rail_verdict/schema_validator.rb', line 55 def self.validate_result(data) validate(data, RESULT_SCHEMA) end |
.validate_waiver(data) ⇒ Object
63 64 65 |
# File 'lib/rail_verdict/schema_validator.rb', line 63 def self.validate_waiver(data) validate(data, WAIVER_SCHEMA) end |
.validate_waivers(data) ⇒ Object
67 68 69 |
# File 'lib/rail_verdict/schema_validator.rb', line 67 def self.validate_waivers(data) validate(data, WAIVERS_SCHEMA) end |