Module: SolidusPromotions::Conditions::ProductCondition

Included in:
LineItemProduct, OrderProduct, PriceProduct, Product
Defined in:
app/models/concerns/solidus_promotions/conditions/product_condition.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



6
7
8
9
10
11
12
13
# File 'app/models/concerns/solidus_promotions/conditions/product_condition.rb', line 6

def self.included(base)
  base.has_many :condition_products,
    dependent: :destroy,
    foreign_key: :condition_id,
    class_name: "SolidusPromotions::ConditionProduct",
    inverse_of: :condition
  base.has_many :products, class_name: "Spree::Product", through: :condition_products
end

Instance Method Details

#preload_relationsObject



15
16
17
# File 'app/models/concerns/solidus_promotions/conditions/product_condition.rb', line 15

def preload_relations
  [:products]
end

#product_ids_stringObject



19
20
21
# File 'app/models/concerns/solidus_promotions/conditions/product_condition.rb', line 19

def product_ids_string
  product_ids.join(",")
end

#product_ids_string=(product_ids) ⇒ Object



23
24
25
# File 'app/models/concerns/solidus_promotions/conditions/product_condition.rb', line 23

def product_ids_string=(product_ids)
  self.product_ids = product_ids.to_s.split(",").map(&:strip)
end