¿Hay formas más elegantes de evitar números negativos en Ruby?

Dado que me gustaría hacer el siguiente cálculo:

total = subtotal - discount

Porquediscount podría ser mayor quesubtotal, hay un código como el siguiente:

class Calculator
  def initialize(subtotal: subtotal, discount: discount)
    @subtotal = subtotal
    @discount = discount
  end

  def total
    [subtotal - discount, 0].max
  end

  private

  def subtotal
    @subtotal
  end

  def discount
    @discount
  end
end

Al ver el[subtotal - discount, 0].max parte o cualquier código similar, a menudo tengo que hacer una pausa y pensar.

¿Hay formas más elegantes de manejar este tipo de cálculo?

Respuestas a la pregunta(4)

Su respuesta a la pregunta