     override public func draw(_ rect: CGRect) {
         drawOuterRing()
         drawInnerRing()
-        drawValueLabel()
+        if shouldShowValueText {
+            drawValueLabel()
+        }
     }
     
     private func drawOuterRing() {

        shapeLayer.fillColor = UIColor.clear.cgColor
        shapeLayer.lineWidth = innerRingWidth
        shapeLayer.strokeEnd = 1.0
        shapeLayer.lineCap =  String(innerRingStyle)
        shapeLayer.lineJoin = String(innerRingStyle)
        
        self.layer.addSublayer(shapeLayer)
    }

        let center = CGPoint(x: bounds.midX, y: bounds.midY)
        
        // Draw the outer path
        let radiusOut = max(bounds.width, bounds.height)/2 - outerRingWidth/2
        let outerPath = UIBezierPath(arcCenter: center,
                                     radius: radiusOut,
                                     startAngle: startAngle.toRads,
                                     endAngle: enndAngle.toRads,
                                     clockwise: true)
        
        outerPath.lineWidth = outerRingWidth
        outerRingColor.setStroke()
        outerPath.lineCapStyle = outStyle
        
        if progressRingStyle == 3 {
            outerPath.setLineDash(patternForDashes, count: 1, phase: 0.0)
        } else if progressRingStyle == 4 {
            outerPath.setLineDash([0, outerPath.lineWidth * 2], count: 2, phase: 0)
            outerPath.lineCapStyle = .round
        }
        
        outerPath.stroke()
    }
    
