class RocketEquation attr_reader :mass def initialize(mass) @mass = mass end def self.for(line) new line.to_i end def fuel_required [(mass / 3) - 2, 0].max end def more_fuel_required return 0 unless mass.positive? fuel_required + RocketEquation.new(fuel_required).more_fuel_required end end