diff --git a/lib/manager/bundler/extract.js b/lib/manager/bundler/extract.js index 0e0ec50b2731d12a9e851eb5fd13b5dc2a71a1df..f6221dc8b2dac567a7bc2e86a6746f29d263a3ae 100644 --- a/lib/manager/bundler/extract.js +++ b/lib/manager/bundler/extract.js @@ -16,6 +16,10 @@ function extractPackageFile(content) { if (sourceMatch) { res.registryUrls.push(sourceMatch[1]); } + const rubyMatch = line.match(/^ruby "([^"]+)"/); + if (rubyMatch) { + res.compatibility = { ruby: rubyMatch[1] }; + } const gemMatch = line.match(/^gem "([^"]+)"(,\s+"([^"]+)"){0,2}/); if (gemMatch) { const dep = { diff --git a/test/_fixtures/bundler/Gemfile.sourceGroup b/test/_fixtures/bundler/Gemfile.sourceGroup index 47be95ab285c8dbf82889e63e3e460a0fcfb1e0d..0ba9edb79a09a56f704ee8f90aa03923bbfd4150 100644 --- a/test/_fixtures/bundler/Gemfile.sourceGroup +++ b/test/_fixtures/bundler/Gemfile.sourceGroup @@ -1,4 +1,5 @@ source "https://rubygems.org" +ruby "~> 1.5.3" source "https://gems.example.com" do gem "some_internal_gem" diff --git a/test/manager/bundler/__snapshots__/extract.spec.js.snap b/test/manager/bundler/__snapshots__/extract.spec.js.snap index 640506e22e57a4acf11ecd5ac5b9ee9fa3ece160..2a766abce3c6decf91e32be6c527e38918051d3b 100644 --- a/test/manager/bundler/__snapshots__/extract.spec.js.snap +++ b/test/manager/bundler/__snapshots__/extract.spec.js.snap @@ -499,10 +499,13 @@ Object { exports[`lib/manager/bundler/extract extractPackageFile() parses sourceGroups 1`] = ` Object { + "compatibility": Object { + "ruby": "~> 1.5.3", + }, "deps": Array [ Object { "depName": "some_internal_gem", - "lineNumber": 3, + "lineNumber": 4, "registryUrls": Array [ "https://gems.example.com", ], @@ -510,7 +513,7 @@ Object { }, Object { "depName": "another_internal_gem", - "lineNumber": 4, + "lineNumber": 5, "registryUrls": Array [ "https://gems.example.com", ], @@ -519,12 +522,12 @@ Object { Object { "currentValue": "latest", "depName": "ruby-debug", - "lineNumber": 8, + "lineNumber": 9, "skipReason": "invalid-value", }, Object { "depName": "sqlite3", - "lineNumber": 9, + "lineNumber": 10, "skipReason": "no-version", }, Object { @@ -533,7 +536,7 @@ Object { "development", "optional => true", ], - "lineNumber": 13, + "lineNumber": 14, "skipReason": "no-version", }, Object { @@ -542,7 +545,7 @@ Object { "development", "optional => true", ], - "lineNumber": 14, + "lineNumber": 15, "skipReason": "no-version", }, ],