Sha256: 13ca40ca0c8882a442bd28cd02ee66aedf01a43af768c108aefb4d36042c8ed6

Contents?: true

Size: 1.98 KB

Versions: 129

Compression:

Stored size: 1.98 KB

Contents

# frozen_string_literal: true

begin
north_america = Spree::Zone.find_by!(name: "North America")
rescue ActiveRecord::RecordNotFound
  puts "Couldn't find 'North America' zone. Did you run `rake db:seed` first?"
  puts "That task will set up the countries, states and zones required for Spree."
  exit
end

tax_category = Spree::TaxCategory.find_by!(name: "Default")
europe_vat = Spree::Zone.find_by!(name: "EU_VAT")
shipping_category = Spree::ShippingCategory.find_or_create_by!(name: 'Default')

Spree::ShippingMethod.create!([
  {
    name: "UPS Ground (USD)",
    zones: [north_america],
    calculator: Spree::Calculator::Shipping::FlatRate.create!,
    tax_category: tax_category,
    shipping_categories: [shipping_category]
  },
  {
    name: "UPS Two Day (USD)",
    zones: [north_america],
    calculator: Spree::Calculator::Shipping::FlatRate.create!,
    tax_category: tax_category,
    shipping_categories: [shipping_category]
  },
  {
    name: "UPS One Day (USD)",
    zones: [north_america],
    calculator: Spree::Calculator::Shipping::FlatRate.create!,
    tax_category: tax_category,
    shipping_categories: [shipping_category]
  },
  {
    name: "UPS Ground (EU)",
    zones: [europe_vat],
    calculator: Spree::Calculator::Shipping::FlatRate.create!,
    tax_category: tax_category,
    shipping_categories: [shipping_category]
  },
  {
    name: "UPS Ground (EUR)",
    zones: [europe_vat],
    calculator: Spree::Calculator::Shipping::FlatRate.create!,
    tax_category: tax_category,
    shipping_categories: [shipping_category]
  }
])

{
  "UPS Ground (USD)" => [5, "USD"],
  "UPS Ground (EU)" => [5, "USD"],
  "UPS One Day (USD)" => [15, "USD"],
  "UPS Two Day (USD)" => [10, "USD"],
  "UPS Ground (EUR)" => [8, "EUR"]
}.each do |shipping_method_name, (price, currency)|
  shipping_method = Spree::ShippingMethod.find_by!(name: shipping_method_name)
  shipping_method.calculator.preferences = {
    amount: price,
    currency: currency
  }
  shipping_method.calculator.save!
  shipping_method.save!
end

Version data entries

129 entries across 129 versions & 2 rubygems

Version Path
solidus_sample-4.1.6 db/samples/shipping_methods.rb
solidus_sample-4.3.4 db/samples/shipping_methods.rb
solidus_sample-4.2.4 db/samples/shipping_methods.rb
solidus_sample-4.1.5 db/samples/shipping_methods.rb
solidus_sample-4.3.3 db/samples/shipping_methods.rb
solidus_sample-4.3.2 db/samples/shipping_methods.rb
solidus_sample-4.1.4 db/samples/shipping_methods.rb
solidus_sample-4.3.1 db/samples/shipping_methods.rb
solidus_sample-4.3.0 db/samples/shipping_methods.rb
solidus_sample-4.2.3 db/samples/shipping_methods.rb
solidus_sample-4.1.3 db/samples/shipping_methods.rb
solidus_sample-4.0.4 db/samples/shipping_methods.rb
solidus_sample-3.4.6 db/samples/shipping_methods.rb
solidus_sample-4.0.3 db/samples/shipping_methods.rb
solidus_sample-4.1.2 db/samples/shipping_methods.rb
solidus_sample-4.2.2 db/samples/shipping_methods.rb
solidus_sample-3.4.5 db/samples/shipping_methods.rb
solidus_sample-4.2.1 db/samples/shipping_methods.rb
solidus_sample-4.2.0 db/samples/shipping_methods.rb
solidus_sample-4.1.1 db/samples/shipping_methods.rb