class Effective::Subscription

def <=>(other)

def <=>(other)
  name.to_s <=> other&.name.to_s
end

def active?

def active?
  status == 'active'
end

def canceled?

def canceled?
  status == 'canceled'
end

def past_due?

def past_due?
  status == 'past_due'
end

def plan

def plan
  EffectiveOrders.stripe_plans.find { |plan| plan[:id] == stripe_plan_id }
end

def stripe_subscription

def stripe_subscription
  @stripe_subscription ||= if stripe_subscription_id.present?
    Rails.logger.info "[STRIPE] get subscription: #{stripe_subscription_id}"
    ::Stripe::Subscription.retrieve(stripe_subscription_id)
  end
end

def to_s

def to_s
  name || 'New Subscription'
end

def trialing?

def trialing?
  status == 'trialing'
end