module Spree::Stock::PackageDecorator
  def shipping_methods
    if (vendor = stock_location.vendor)
      vendor.shipping_methods.to_a
    else
      shipping_categories.map(&:shipping_methods).reduce(:&).to_a
    end
  end
end

Spree::Stock::Package.prepend Spree::Stock::PackageDecorator

module Spree::Stock::PackageDecorator
  def shipping_methods
    if (vendor = stock_location.vendor && Spree::ShippingMethod.method_defined?(:vendor))
      vendor.shipping_methods.to_a
    else
      shipping_categories.map(&:shipping_methods).reduce(:&).to_a
    end
  end
end

Spree::Stock::Package.prepend Spree::Stock::PackageDecorator

Return all shipping methods when Shipping Methods aren't vendorized
Return all shipping methods when Shipping Methods aren't vendorized