Sha256: 477dedb2623da047e7be3db75e1a21b596dd094047b2fa3e9c56a480455384bd

Contents?: true

Size: 852 Bytes

Versions: 14

Compression:

Stored size: 852 Bytes

Contents

# This migration comes from spree (originally 20130830001159)
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

14 entries across 14 versions & 7 rubygems

Version Path
spree_weight_calculator-0.1.0 test/dummy/db/migrate/20160723192527_migrate_old_shipping_calculators.spree.rb
spree_order_reporting-0.0.3 spec/dummy/db/migrate/20160708163124_migrate_old_shipping_calculators.spree.rb
spree_order_reporting-0.0.2 spec/dummy/db/migrate/20160707103448_migrate_old_shipping_calculators.spree.rb
spree_order_reporting-0.0.1 spec/dummy/db/migrate/20160706112400_migrate_old_shipping_calculators.spree.rb
sprangular-0.1.0 spec/dummy/db/migrate/20140814105726_migrate_old_shipping_calculators.spree.rb
sprangular-0.0.1 spec/dummy/db/migrate/20140814105726_migrate_old_shipping_calculators.spree.rb
spree_mercado_pago-0.2.3 spec/dummy/db/migrate/20141204014719_migrate_old_shipping_calculators.spree.rb
spree_mercado_pago-0.2.2 spec/dummy/db/migrate/20141204014719_migrate_old_shipping_calculators.spree.rb
spree_mercado_pago-0.2.1 spec/dummy/db/migrate/20141112193502_migrate_old_shipping_calculators.spree.rb
spree_mercado_pago-0.2.0 spec/dummy/db/migrate/20141112193502_migrate_old_shipping_calculators.spree.rb
spree_mercado_pago_payment_method-0.2.0 spec/dummy/db/migrate/20141112193502_migrate_old_shipping_calculators.spree.rb
spree_bitpay-1.0.2 spec/dummy/db/migrate/20141002181299_migrate_old_shipping_calculators.spree.rb
bcms_spree-0.0.2 test/dummy/db/migrate/20140915222638_migrate_old_shipping_calculators.spree.rb
bcms_spree-0.0.1 test/dummy/db/migrate/20140915222638_migrate_old_shipping_calculators.spree.rb