Sha256: abc5f09bcd2bfa07a85061cce2226ff4292f47e54cb3b3a9a4cf78165dfcd4c3

Contents?: true

Size: 790 Bytes

Versions: 116

Compression:

Stored size: 790 Bytes

Contents

class MigrateOldShippingCalculators < ActiveRecord::Migration
  def up
    Spree::ShippingMethod.all.each do |shipping_method|
      old_calculator = shipping_method.calculator
      next if old_calculator.class < Spree::ShippingCalculator # We don't want to mess with new shipping calculators
      new_calculator = eval(old_calculator.class.name.sub("::Calculator::", "::Calculator::Shipping::")).new
      new_calculator.preferences.keys.each do |pref|
        # Preferences can't be read/set by name, you have to prefix preferred_
        pref_method = "preferred_#{pref}"
        new_calculator.send("#{pref_method}=", old_calculator.send(pref_method))
      end
      new_calculator.calculable = old_calculator.calculable
      new_calculator.save
    end
  end

  def down
  end
end

Version data entries

116 entries across 116 versions & 3 rubygems

Version Path
goca-spree-core-3.1.14.rails.5.0.1 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
goca-spree-core-3.1.14.rails.5.0 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
goca-spree-core-3.1.15.rails.5.0 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
goca-spree-core-3.1.15.pre.rails.pre.5.0 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.14 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.13 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.12 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
solidus_core-1.2.3 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
solidus_core-1.1.4 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
solidus_core-1.0.7 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.11 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.10 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.9 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.8 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.7 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.6 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.5 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.4 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.3 db/migrate/20130830001159_migrate_old_shipping_calculators.rb
spree_core-3.1.2 db/migrate/20130830001159_migrate_old_shipping_calculators.rb