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
- #preload_relations ⇒ Object
- #taxon_ids_string ⇒ Object
- #taxon_ids_string=(taxon_ids) ⇒ Object
- #taxons_ids_with_children=(args) ⇒ Object
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_relations ⇒ Object
15 16 17 |
# File 'app/models/concerns/solidus_promotions/conditions/taxon_condition.rb', line 15 def preload_relations [:taxons] end |
#taxon_ids_string ⇒ Object
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 |