Sha256: c7b8823c881e0e1426c5d9d07af06583ed96de7be50b2dbf4de240d54e9f1fc2
Contents?: true
Size: 830 Bytes
Versions: 3
Compression:
Stored size: 830 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-3.0.3 | app/models/spree/product_property.rb |
spree_core-3.0.2 | app/models/spree/product_property.rb |
spree_core-3.0.1 | app/models/spree/product_property.rb |