Files
openfoodnetwork/app/models/spree/product_property.rb
2020-11-04 12:15:23 +00:00

28 lines
708 B
Ruby

# frozen_string_literal: true
module Spree
class ProductProperty < ActiveRecord::Base
belongs_to :product, class_name: "Spree::Product", touch: true
belongs_to :property, class_name: 'Spree::Property'
validates :property, presence: true
validates :value, length: { maximum: 255 }
default_scope -> { order("#{table_name}.position") }
# virtual attributes for use with AJAX completion stuff
def property_name
property&.name
end
def property_name=(name)
return if name.blank?
unless property = Property.find_by(name: name)
property = Property.create(name: name, presentation: name)
end
self.property = property
end
end
end