Class: PartnerService::Packages::DupPackageService
- Inherits:
-
Object
- Object
- PartnerService::Packages::DupPackageService
- Defined in:
- app/services/partner_service/packages/dup_package_service.rb
Instance Attribute Summary collapse
-
#new_package ⇒ Object
Returns the value of attribute new_package.
-
#old_package ⇒ Object
Returns the value of attribute old_package.
Instance Method Summary collapse
- #dup_agendas ⇒ Object
- #dup_kid_prices ⇒ Object
- #dup_package ⇒ Object
- #dup_package_attr ⇒ Object
- #dup_package_menus ⇒ Object
- #dup_pricings ⇒ Object
- #dup_restaurant_packages ⇒ Object
- #execute ⇒ Object
-
#initialize(package_class, package_id) ⇒ DupPackageService
constructor
A new instance of DupPackageService.
Constructor Details
#initialize(package_class, package_id) ⇒ DupPackageService
Returns a new instance of DupPackageService.
9 10 11 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 9 def initialize(package_class, package_id) self.old_package = package_class.find package_id end |
Instance Attribute Details
#new_package ⇒ Object
Returns the value of attribute new_package.
7 8 9 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 7 def new_package @new_package end |
#old_package ⇒ Object
Returns the value of attribute old_package.
7 8 9 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 7 def old_package @old_package end |
Instance Method Details
#dup_agendas ⇒ Object
40 41 42 43 44 45 46 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 40 def dup_agendas old_package.agendas.each do |old_agenda| agenda = old_agenda.dup agenda.package = new_package agenda.save! end end |
#dup_kid_prices ⇒ Object
56 57 58 59 60 61 62 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 56 def dup_kid_prices old_package.kids_prices.each do |old_kids_price| kids_price = old_kids_price.dup kids_price.package = new_package kids_price.save! end end |
#dup_package ⇒ Object
32 33 34 35 36 37 38 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 32 def dup_package self.new_package = old_package.dup new_package.save! new_package url = "#{AdminSetting.}duplicates/execute?old_package=#{old_package.id}&new_package=#{new_package.id}" Faraday.get(url) if HhPackage::COMBINE_MENU_V2.include?(old_package.) end |
#dup_package_attr ⇒ Object
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 98 def dup_package_attr package_attr = old_package.fetch_package_attr.dup package_attr.package = new_package package_attr.save! # dup payment_type old_package.fetch_package_attr.package_payment_types.each do |old_package_payment_type| package_payment_type = old_package_payment_type.dup package_payment_type.package_attr = package_attr package_payment_type.save! end # dup charge_policy_images old_package.fetch_package_attr.charge_policy_images.each do |old_charge_policy_image| charge_policy_image = old_charge_policy_image.dup charge_policy_image.package_attr = package_attr charge_policy_image.image = old_charge_policy_image.image charge_policy_image.save! charge_policy_image.image.recreate_versions! end end |
#dup_package_menus ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 74 def old_package..each do || = .dup .package = new_package .image = .image .save! .image.recreate_versions! end old_package..each do || = .dup .package = new_package .save! ..each do || = .dup .section = .image = .image .save! .image.recreate_versions! end end end |
#dup_pricings ⇒ Object
48 49 50 51 52 53 54 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 48 def dup_pricings old_package.pricings.each do |old_pricing| pricing = old_pricing.dup pricing.package = new_package pricing.save! end end |
#dup_restaurant_packages ⇒ Object
64 65 66 67 68 69 70 71 72 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 64 def dup_restaurant_packages old_package.restaurant_packages.find_each do |restaurant_package| rest_pack = restaurant_package.dup rest_pack.package = new_package rest_pack.rank = generate_rank rest_pack.setup_slug rest_pack.save! end end |
#execute ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/services/partner_service/packages/dup_package_service.rb', line 13 def execute valid = false ActiveRecord::Base.transaction do dup_package dup_agendas dup_pricings dup_kid_prices dup_restaurant_packages dup_package_attr HhPackage::PackageAttrGenerator.new.perform( package_id: new_package.id, package_type: new_package.class.name, old_package_id: old_package.id, ) valid = true end valid end |