Class: Gitlab::Tracking::EventDefinitionValidator
- Inherits:
-
Object
- Object
- Gitlab::Tracking::EventDefinitionValidator
- Defined in:
- lib/gitlab/tracking/event_definition_validator.rb
Constant Summary collapse
- EVENT_SCHEMA_PATH =
Rails.root.join('config/events/schema.json')
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(definition) ⇒ EventDefinitionValidator
constructor
A new instance of EventDefinitionValidator.
- #validation_errors ⇒ Object
Constructor Details
#initialize(definition) ⇒ EventDefinitionValidator
Returns a new instance of EventDefinitionValidator.
12 13 14 15 |
# File 'lib/gitlab/tracking/event_definition_validator.rb', line 12 def initialize(definition) @attributes = definition.raw_attributes @path = definition.path end |
Class Method Details
.definition_schema ⇒ Object
8 9 10 |
# File 'lib/gitlab/tracking/event_definition_validator.rb', line 8 def self.definition_schema @definition_schema ||= ::JSONSchemer.schema(EVENT_SCHEMA_PATH) end |
Instance Method Details
#validation_errors ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/gitlab/tracking/event_definition_validator.rb', line 17 def validation_errors self.class.definition_schema.validate(attributes.deep_stringify_keys).map do |error| <<~ERROR_MSG --------------- VALIDATION ERROR --------------- Definition file: #{path} Error type: #{error['type']} Data: #{error['data']} Path: #{error['data_pointer']} Details: #{error['details'] || error['error']} ERROR_MSG end end |