Sha256: 1dea3b58eed8688ed6d1b931846d77d2ee92a18e7e0a70162d5de98d149c3f53
Contents?: true
Size: 833 Bytes
Versions: 3
Compression:
Stored size: 833 Bytes
Contents
module Spree class ProductProperty < Spree::Base acts_as_list scope: :product belongs_to :product, touch: true, class_name: 'Spree::Product', inverse_of: :product_properties belongs_to :property, class_name: 'Spree::Property', inverse_of: :product_properties validates :property, presence: true validates_with Spree::Validations::DbMaximumLengthValidator, field: :value default_scope -> { order("#{self.table_name}.position") } # virtual attributes for use with AJAX completion stuff def property_name property.name if property end def property_name=(name) unless name.blank? unless property = Property.find_by(name: name) property = Property.create(name: name, presentation: name) end self.property = property end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
spree_core-2.4.9 | app/models/spree/product_property.rb |
spree_core-2.4.8 | app/models/spree/product_property.rb |
spree_core-2.4.7 | app/models/spree/product_property.rb |