Module: SolidusPromotions::Conditions::TaxonCondition

Included in:
LineItemTaxon, OrderTaxon, PriceTaxon, Taxon
Defined in:
app/models/concerns/solidus_promotions/conditions/taxon_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/taxon_condition.rb', line 6

def self.included(base)
  base.has_many :condition_taxons,
    class_name: "SolidusPromotions::ConditionTaxon",
    foreign_key: :condition_id,
    dependent: :destroy,
    inverse_of: :condition
  base.has_many :taxons, through: :condition_taxons, class_name: "Spree::Taxon"
end

Instance Method Details

#preload_relationsObject



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

def preload_relations
  [:taxons]
end

#taxon_ids_stringObject



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

def taxon_ids_string
  taxon_ids.join(",")
end

#taxon_ids_string=(taxon_ids) ⇒ Object



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

def taxon_ids_string=(taxon_ids)
  taxon_ids = taxon_ids.to_s.split(",").map(&:strip)
  self.taxons = Spree::Taxon.find(taxon_ids)
end

#taxons_ids_with_children=(args) ⇒ Object



28
29
30
# File 'app/models/concerns/solidus_promotions/conditions/taxon_condition.rb', line 28

def taxons_ids_with_children=(args)
  @taxon_ids_with_children = args
end