Class: Circuitdata::ProductIdValidator
- Inherits:
-
Object
- Object
- Circuitdata::ProductIdValidator
- Defined in:
- lib/circuitdata/product_id_validator.rb
Class Method Summary collapse
Class Method Details
.validate(data) ⇒ Object
3 4 5 6 7 8 |
# File 'lib/circuitdata/product_id_validator.rb', line 3 def self.validate(data) products = Product.from_data(data) products.flat_map do |product| validate_product(product) end end |
.validate_product(product) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/circuitdata/product_id_validator.rb', line 10 def self.validate_product(product) errors = [] layer_ids = product.layers.map { |layer| layer.fetch(:uuid) } process_ids = product.processes.map { |process| process.fetch(:uuid) } ensure_unique(layer_ids, errors, [*product.product_data_path, :layers]) ensure_unique(process_ids, errors, [*product.product_data_path, :processes]) check_references(layer_ids, errors, product) errors end |