That's exactly what will happen if you add that to ```is_package_shippable``` you should raise a ```Spree::ShippingError``` if the package doesn't have a ```ship_address``` which would force ```available?``` rescue to return false 

https://github.com/spree/spree_active_shipping/blob/master/app/models/spree/calculator/shipping/active_shipping/base.rb#L18-L27

if you would call compute directly you would not hit this check and the calculator would fail without an error Raised on our part, it would say something like undefined ship_address for order