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

        let center = CGPoint(x: bounds.midX, y: bounds.midY)
        
        // Draw the outer path
        let radiusOut = max(bounds.width, bounds.height)
        let outerPath = UIBezierPath(arcCenter: center,
                                     radius: radiusOut/2 - outerRingWidth/2,
                                     startAngle: startAngle.toRads,
                                     endAngle: enndAngle.toRads,
                                     clockwise: rotateClockWise)
        
        outerPath.lineWidth = outerRingWidth
        outerRingColor.setStroke()
        outerPath.lineCapStyle = outStyle
        outerPath.stroke()
    }
    

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