Sha256: 1bdb1801cbd2911d4d5e7a33eafc80c504bf7b9bdfcbeb6356864dd8303936f5

Contents?: true

Size: 609 Bytes

Versions: 31

Compression:

Stored size: 609 Bytes

Contents

module Comee
  module Core
    class ProductType < ApplicationRecord
      validates :code, presence: true, uniqueness: true
      validates :name, presence: true
      validate :required_fields_must_be_in_properties

      def required_fields_must_be_in_properties
        return unless metadata_schema.present?

        diff = metadata_schema["required"] - metadata_schema["properties"].keys
        return unless diff.count.positive?

        error = "The following fields are mentioned as required but do not exist in the field list: #{diff}."
        errors.add(:base, error)
      end
    end
  end
end

Version data entries

31 entries across 31 versions & 1 rubygems

Version Path
comee_core-0.1.40 app/models/comee/core/product_type.rb
comee_core-0.1.39 app/models/comee/core/product_type.rb
comee_core-0.1.38 app/models/comee/core/product_type.rb
comee_core-0.1.37 app/models/comee/core/product_type.rb
comee_core-0.1.36 app/models/comee/core/product_type.rb
comee_core-0.1.35 app/models/comee/core/product_type.rb
comee_core-0.1.34 app/models/comee/core/product_type.rb
comee_core-0.1.33 app/models/comee/core/product_type.rb
comee_core-0.1.32 app/models/comee/core/product_type.rb
comee_core-0.1.31 app/models/comee/core/product_type.rb
comee_core-0.1.30 app/models/comee/core/product_type.rb
comee_core-0.1.29 app/models/comee/core/product_type.rb
comee_core-0.1.28 app/models/comee/core/product_type.rb
comee_core-0.1.27 app/models/comee/core/product_type.rb
comee_core-0.1.26 app/models/comee/core/product_type.rb
comee_core-0.1.25 app/models/comee/core/product_type.rb
comee_core-0.1.24 app/models/comee/core/product_type.rb
comee_core-0.1.23 app/models/comee/core/product_type.rb
comee_core-0.1.22 app/models/comee/core/product_type.rb
comee_core-0.1.21 app/models/comee/core/product_type.rb