Sha256: c05ece892d672b062180d2e0930225e66b2424ce0494ddd37323cce8303d738d

Contents?: true

Size: 599 Bytes

Versions: 5

Compression:

Stored size: 599 Bytes

Contents

# frozen_string_literal: true

module Alchemy
  class EssenceSpreeVariant < ActiveRecord::Base
    VARIANT_ID = /\A\d+\z/

    belongs_to :variant,
      class_name: "Spree::Variant",
      optional: true

    acts_as_essence(ingredient_column: :variant)

    def ingredient=(variant_or_id)
      case variant_or_id
      when VARIANT_ID, ""
        self.variant_id = variant_or_id
      when Spree::Variant
        self.variant = variant_or_id
      else
        super
      end
    end

    def preview_text(_maxlength)
      return unless variant
      variant.descriptive_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_variant.rb
alchemy-solidus-4.1.0 app/models/alchemy/essence_spree_variant.rb
alchemy-solidus-4.0.0 app/models/alchemy/essence_spree_variant.rb
alchemy-solidus-4.0.0.pre.b2 app/models/alchemy/essence_spree_variant.rb
alchemy-solidus-4.0.0.pre.b1 app/models/alchemy/essence_spree_variant.rb