Class: AppBridge::ConnectionConfigValidator
- Inherits:
-
Object
- Object
- AppBridge::ConnectionConfigValidator
- Defined in:
- lib/app_bridge/connection_config_validator.rb
Overview
Validates connection-config JSON against the bundled JSON Schema.
Constant Summary collapse
- SCHEMA_PATH =
File.( "../../ext/app_bridge/docs/connection-config-schema.json", __dir__ )
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.schema ⇒ Object
23 24 25 |
# File 'lib/app_bridge/connection_config_validator.rb', line 23 def schema @schema ||= JSON.parse(File.read(SCHEMA_PATH)) end |
.schemer ⇒ Object
27 28 29 |
# File 'lib/app_bridge/connection_config_validator.rb', line 27 def schemer @schemer ||= JSONSchemer.schema(schema) end |
.validate(data) ⇒ Object
19 20 21 |
# File 'lib/app_bridge/connection_config_validator.rb', line 19 def validate(data) new.validate(data) end |
.validate!(data) ⇒ Object
15 16 17 |
# File 'lib/app_bridge/connection_config_validator.rb', line 15 def validate!(data) new.validate!(data) end |
Instance Method Details
#validate(data) ⇒ Object
39 40 41 42 |
# File 'lib/app_bridge/connection_config_validator.rb', line 39 def validate(data) parsed = parse_data(data) self.class.schemer.validate(parsed).to_a end |
#validate!(data) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/app_bridge/connection_config_validator.rb', line 32 def validate!(data) errors = validate(data) return if errors.empty? raise AppBridge::ConnectionConfigError, format_errors(errors) end |