Sha256: 086a189180552cc5bc72ad8bca481b5be26aa8b002141d2aaa2364701376169e

Contents?: true

Size: 632 Bytes

Versions: 5

Compression:

Stored size: 632 Bytes

Contents

# frozen_string_literal: true

module Alchemy
  class EssenceSpreeProduct < ActiveRecord::Base
    PRODUCT_ID = /\A\d+\z/

    belongs_to :product,
      class_name: "Spree::Product",
      optional: true,
      foreign_key: "spree_product_id"

    acts_as_essence(ingredient_column: :product)

    def ingredient=(product_or_id)
      case product_or_id
      when PRODUCT_ID, ""
        self.spree_product_id = product_or_id
      when Spree::Product
        self.product = product_or_id
      else
        super
      end
    end

    def preview_text(_maxlength)
      return unless product
      product.name
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
alchemy-solidus-5.0.0 app/models/alchemy/essence_spree_product.rb
alchemy-solidus-4.1.0 app/models/alchemy/essence_spree_product.rb
alchemy-solidus-4.0.0 app/models/alchemy/essence_spree_product.rb
alchemy-solidus-4.0.0.pre.b2 app/models/alchemy/essence_spree_product.rb
alchemy-solidus-4.0.0.pre.b1 app/models/alchemy/essence_spree_product.rb