Module: GitlabInternalEventsCli::Helpers::SchemaLoader
- Defined in:
- lib/gitlab_internal_events_cli/helpers/schema_loader.rb
Overview
Helper module for loading JSON schemas with caching and reference resolution
Class Method Summary collapse
Class Method Details
.load(schema_url, schema_type) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/gitlab_internal_events_cli/helpers/schema_loader.rb', line 7 def self.load(schema_url, schema_type) schema_json = HttpCache.get(schema_url) return nil unless schema_json base_uri = "#{File.dirname(schema_url)}/" resolver = SchemaResolver.new(base_uri) JSONSchemer.schema( JSON.parse(schema_json), base_uri: URI(base_uri), ref_resolver: resolver ) rescue StandardError => e warn "Failed to load #{schema_type} schema: #{e.}" nil end |