Module: SpreeCmCommissioner::TaxonomyDecorator
- Defined in:
- app/models/spree_cm_commissioner/taxonomy_decorator.rb
Class Method Summary collapse
-
.prepended(base) ⇒ Object
rubocop:disable Metrics/MethodLength.
Class Method Details
.prepended(base) ⇒ Object
rubocop:disable Metrics/MethodLength
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'app/models/spree_cm_commissioner/taxonomy_decorator.rb', line 3 def self.prepended(base) # rubocop:disable Metrics/MethodLength base.include SpreeCmCommissioner::TaxonKind base.belongs_to :vendor, class_name: 'Spree::Vendor', optional: true base.validates :name, uniqueness: { scope: :vendor_id }, allow_blank: true def base.events ActiveRecord::Base.connected_to(role: :writing) do events = Spree::Taxonomy.find_or_create_by(name: 'Events', store: Spree::Store.default) events.kind = :event events.save if events.changed? events end end def base.shows ActiveRecord::Base.connected_to(role: :writing) do shows = Spree::Taxonomy.find_or_create_by(name: 'Shows', store: Spree::Store.default) shows.kind = :event shows.save if shows.changed? shows end end def base.businesses ActiveRecord::Base.connected_to(role: :writing) do businesses = Spree::Taxonomy.find_or_create_by(name: 'Businesses', store: Spree::Store.default) businesses.kind = :category businesses.save if businesses.changed? businesses end end def base.agency_categories ActiveRecord::Base.connected_to(role: :writing) do agency_categories = Spree::Taxonomy.find_or_create_by(name: 'Agency', store: Spree::Store.default) agency_categories.kind = :agency_category agency_categories.save if agency_categories.changed? agency_categories end end end |