diff --git a/lib/versioning/ruby/index.ts b/lib/versioning/ruby/index.ts
index 49fc24fee781064552d39f2930bdd34a75f2c8ec..6778528869f2e74a980f753a6cddcf3d4f0a12bd 100644
--- a/lib/versioning/ruby/index.ts
+++ b/lib/versioning/ruby/index.ts
@@ -73,6 +73,9 @@ const getNewValue = (
   toVersion: string
 ): string => {
   let result = null;
+  if (isVersion(currentValue)) {
+    return currentValue.startsWith('v') ? 'v' + toVersion : toVersion;
+  }
   switch (rangeStrategy) {
     case 'pin':
       result = pin({ to: vtrim(toVersion) });
@@ -87,11 +90,6 @@ const getNewValue = (
     default:
       logger.warn(`Unsupported strategy ${rangeStrategy}`);
   }
-
-  if (currentValue !== vtrim(currentValue) && isSingleVersion(result)) {
-    result = `v${result}`;
-  }
-
   return result;
 };
 
diff --git a/lib/versioning/ruby/strategies/bump.ts b/lib/versioning/ruby/strategies/bump.ts
index ec24cb3f01a4dcb65b4dda7581780454f95c72f5..acbac49726cdb1db765caa4e0764c73aa18faf2d 100644
--- a/lib/versioning/ruby/strategies/bump.ts
+++ b/lib/versioning/ruby/strategies/bump.ts
@@ -8,8 +8,6 @@ export default ({ range, to }: { range: string; to: string }): string => {
   const ranges = range.split(',').map(parseRange);
   const results = ranges.map(({ operator, version: ver, delimiter }) => {
     switch (operator) {
-      case null:
-        return to;
       case GT:
         return lte(to, ver)
           ? `${GT}${delimiter}${ver}`
diff --git a/test/versioning/ruby.spec.ts b/test/versioning/ruby.spec.ts
index e665f80eb58a02bb23024e74ea9059fa3b79e33b..d725c6af18daa44e4c8b9bea698ec131f5d92850 100644
--- a/test/versioning/ruby.spec.ts
+++ b/test/versioning/ruby.spec.ts
@@ -418,6 +418,14 @@ describe('semverRuby', () => {
         )
       ).toEqual('~> 5.3.0, >= 5.3.1');
     });
+    it('handles change in precision', () => {
+      expect(
+        semverRuby.getNewValue('4.2.0', 'replace', '4.2.0', '4.2.5.1')
+      ).toEqual('4.2.5.1');
+      expect(
+        semverRuby.getNewValue('4.2.5.1', 'replace', '4.2.5.1', '4.3.0')
+      ).toEqual('4.3.0');
+    });
 
     it('returns correct version for replace strategy', () => {
       [