@@ -5,7 +5,7 @@ class Unsubscriber
 
   def process
     Subscription.transaction do
-      @subscription.destroy
+      @subscription.update_attributes!(deactivated_on: Date.today)
       stripe_user = Stripe::Customer.retrieve(@subscription.stripe_customer)
       stripe_user.cancel_subscription
       deliver_unsubscription_survey
class Unsubscriber
  def initialize(subscription)
    @subscription = subscription
  end

  def process
    Subscription.transaction do
      @subscription.destroy
      stripe_user = Stripe::Customer.retrieve(@subscription.stripe_customer)
      stripe_user.cancel_subscription
      deliver_unsubscription_survey
    end
  end

  def deliver_unsubscription_survey
    Mailer.unsubscription_survey(@subscription.user).deliver
  end
end

I don't think we actually want to use update_attributes! here? I could see adding a deactive! Method on subscription, But I also just mean technically, on not sure we want the behavior and side effects of update_attributes!