Sha256: d7fd5319c84585d1b221350179102f62c108d95295641a6091c822c914de2efe

Contents?: true

Size: 547 Bytes

Versions: 2

Compression:

Stored size: 547 Bytes

Contents

# frozen_string_literal: true

module SolidusConfigurableKits
  class Requirement < ::Spree::Base
    belongs_to :product, class_name: "Spree::Product", inverse_of: :kit_requirements
    belongs_to :required_product, class_name: "Spree::Product", inverse_of: :kits

    validate :required_product_has_kit_item_prices

    private

    def required_product_has_kit_item_prices
      return if required_product&.prices&.where(kit_item: true)&.any?

      errors.add(:required_product, :needs_at_least_one_variant_with_a_kit_price)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_configurable_kits-0.1.1 app/models/solidus_configurable_kits/requirement.rb
solidus_configurable_kits-0.1.0 app/models/solidus_configurable_kits/requirement.rb