diff --git a/lib/manager/bundler/extract.js b/lib/manager/bundler/extract.js
index f6221dc8b2dac567a7bc2e86a6746f29d263a3ae..6d6adaca638eceaf0bcc85260247fe1ef1a21a85 100644
--- a/lib/manager/bundler/extract.js
+++ b/lib/manager/bundler/extract.js
@@ -4,7 +4,7 @@ module.exports = {
   extractPackageFile,
 };
 
-function extractPackageFile(content) {
+async function extractPackageFile(content, fileName) {
   const res = {
     registryUrls: [],
     deps: [],
@@ -58,7 +58,7 @@ function extractPackageFile(content) {
           groupContent += groupLine.replace(/^ {2}/, '') + '\n';
         }
       }
-      const groupRes = extractPackageFile(groupContent);
+      const groupRes = await extractPackageFile(groupContent);
       if (groupRes) {
         res.deps = res.deps.concat(
           groupRes.deps.map(dep => ({
@@ -82,7 +82,7 @@ function extractPackageFile(content) {
           sourceContent += sourceLine.replace(/^ {2}/, '') + '\n';
         }
       }
-      const sourceRes = extractPackageFile(sourceContent);
+      const sourceRes = await extractPackageFile(sourceContent);
       if (sourceRes) {
         res.deps = res.deps.concat(
           sourceRes.deps.map(dep => ({
@@ -105,7 +105,7 @@ function extractPackageFile(content) {
           platformsContent += platformsLine.replace(/^ {2}/, '') + '\n';
         }
       }
-      const platformsRes = extractPackageFile(platformsContent);
+      const platformsRes = await extractPackageFile(platformsContent);
       if (platformsRes) {
         res.deps = res.deps.concat(
           // eslint-disable-next-line no-loop-func
@@ -128,7 +128,7 @@ function extractPackageFile(content) {
           ifContent += ifLine.replace(/^ {2}/, '') + '\n';
         }
       }
-      const ifRes = extractPackageFile(ifContent);
+      const ifRes = await extractPackageFile(ifContent);
       if (ifRes) {
         res.deps = res.deps.concat(
           // eslint-disable-next-line no-loop-func
@@ -143,5 +143,17 @@ function extractPackageFile(content) {
   if (!res.deps.length && !res.registryUrls.length) {
     return null;
   }
+  if (fileName) {
+    const gemfileLock = fileName + '.lock';
+    const lockContent = await platform.getFile(gemfileLock);
+    if (lockContent) {
+      logger.debug({ packageFile: fileName }, 'Found Gemfile.lock file');
+      const bundledWith = lockContent.match(/\nBUNDLED WITH\n\s+(.*?)(\n|$)/);
+      if (bundledWith) {
+        res.compatibility = res.compatibility || {};
+        res.compatibility.bundler = bundledWith[1];
+      }
+    }
+  }
   return res;
 }
diff --git a/test/_fixtures/bundler/Gemfile.rails.lock b/test/_fixtures/bundler/Gemfile.rails.lock
new file mode 100644
index 0000000000000000000000000000000000000000..23942b11fb2a7d85774290724764ec6a47a06d16
--- /dev/null
+++ b/test/_fixtures/bundler/Gemfile.rails.lock
@@ -0,0 +1,597 @@
+GIT
+  remote: https://github.com/matthewd/websocket-client-simple.git
+  revision: e161305f1a466b9398d86df3b1731b03362da91b
+  branch: close-race
+  specs:
+    websocket-client-simple (0.3.0)
+      event_emitter
+      websocket
+
+GIT
+  remote: https://github.com/rafaelfranca/queue_classic.git
+  revision: dee64b361355d56700ad7aa3b151bf653a617526
+  branch: update-pg
+  specs:
+    queue_classic (3.2.0.RC1)
+      pg (>= 0.17, < 2.0)
+
+GIT
+  remote: https://github.com/rails/webpacker.git
+  revision: bb132d591da35095e3246082cba3d693f847e0b5
+  specs:
+    webpacker (4.0.0.pre.3)
+      activesupport (>= 4.2)
+      rack-proxy (>= 0.6.1)
+      railties (>= 4.2)
+
+PATH
+  remote: .
+  specs:
+    actioncable (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      nio4r (~> 2.0)
+      websocket-driver (>= 0.6.1)
+    actionmailbox (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      activejob (= 6.0.0.alpha)
+      activerecord (= 6.0.0.alpha)
+      activestorage (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      mail (>= 2.7.1)
+    actionmailer (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      actionview (= 6.0.0.alpha)
+      activejob (= 6.0.0.alpha)
+      mail (~> 2.5, >= 2.5.4)
+      rails-dom-testing (~> 2.0)
+    actionpack (6.0.0.alpha)
+      actionview (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      rack (~> 2.0)
+      rack-test (>= 0.6.3)
+      rails-dom-testing (~> 2.0)
+      rails-html-sanitizer (~> 1.0, >= 1.0.2)
+    actiontext (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      activerecord (= 6.0.0.alpha)
+      activestorage (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      nokogiri (>= 1.8.5)
+    actionview (6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      builder (~> 3.1)
+      erubi (~> 1.4)
+      rails-dom-testing (~> 2.0)
+      rails-html-sanitizer (~> 1.0, >= 1.0.3)
+    activejob (6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      globalid (>= 0.3.6)
+    activemodel (6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+    activerecord (6.0.0.alpha)
+      activemodel (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+    activestorage (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      activerecord (= 6.0.0.alpha)
+      marcel (~> 0.3.1)
+    activesupport (6.0.0.alpha)
+      concurrent-ruby (~> 1.0, >= 1.0.2)
+      i18n (>= 0.7, < 2)
+      minitest (~> 5.1)
+      tzinfo (~> 1.1)
+    rails (6.0.0.alpha)
+      actioncable (= 6.0.0.alpha)
+      actionmailbox (= 6.0.0.alpha)
+      actionmailer (= 6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      actiontext (= 6.0.0.alpha)
+      actionview (= 6.0.0.alpha)
+      activejob (= 6.0.0.alpha)
+      activemodel (= 6.0.0.alpha)
+      activerecord (= 6.0.0.alpha)
+      activestorage (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      bundler (>= 1.3.0)
+      railties (= 6.0.0.alpha)
+      sprockets-rails (>= 2.0.0)
+    railties (6.0.0.alpha)
+      actionpack (= 6.0.0.alpha)
+      activesupport (= 6.0.0.alpha)
+      method_source
+      rake (>= 0.8.7)
+      thor (>= 0.20.3, < 2.0)
+
+GEM
+  remote: https://rubygems.org/
+  specs:
+    activerecord-jdbc-adapter (52.1-java)
+      activerecord (~> 5.2.0)
+    activerecord-jdbcmysql-adapter (52.1-java)
+      activerecord-jdbc-adapter (= 52.1)
+      jdbc-mysql (~> 5.1.36)
+    activerecord-jdbcpostgresql-adapter (52.1-java)
+      activerecord-jdbc-adapter (= 52.1)
+      jdbc-postgres (>= 9.4, < 43)
+    activerecord-jdbcsqlite3-adapter (52.1-java)
+      activerecord-jdbc-adapter (= 52.1)
+      jdbc-sqlite3 (~> 3.8, < 3.30)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
+    amq-protocol (2.3.0)
+    archive-zip (0.11.0)
+      io-like (~> 0.3.0)
+    ast (2.4.0)
+    aws-eventstream (1.0.1)
+    aws-partitions (1.111.0)
+    aws-sdk-core (3.37.0)
+      aws-eventstream (~> 1.0)
+      aws-partitions (~> 1.0)
+      aws-sigv4 (~> 1.0)
+      jmespath (~> 1.0)
+    aws-sdk-kms (1.11.0)
+      aws-sdk-core (~> 3, >= 3.26.0)
+      aws-sigv4 (~> 1.0)
+    aws-sdk-s3 (1.23.1)
+      aws-sdk-core (~> 3, >= 3.26.0)
+      aws-sdk-kms (~> 1)
+      aws-sigv4 (~> 1.0)
+    aws-sdk-sns (1.8.1)
+      aws-sdk-core (~> 3, >= 3.37.0)
+      aws-sigv4 (~> 1.0)
+    aws-sigv4 (1.0.3)
+    azure-core (0.1.14)
+      faraday (~> 0.9)
+      faraday_middleware (~> 0.10)
+      nokogiri (~> 1.6)
+    azure-storage (0.15.0.preview)
+      azure-core (~> 0.1)
+      faraday (~> 0.9)
+      faraday_middleware (~> 0.10)
+      nokogiri (~> 1.6, >= 1.6.8)
+    backburner (1.5.0)
+      beaneater (~> 1.0)
+      concurrent-ruby (~> 1.0, >= 1.0.1)
+      dante (> 0.1.5)
+    bcrypt (3.1.12)
+    bcrypt (3.1.12-java)
+    bcrypt (3.1.12-x64-mingw32)
+    bcrypt (3.1.12-x86-mingw32)
+    beaneater (1.0.0)
+    benchmark-ips (2.7.2)
+    blade (0.7.1)
+      activesupport (>= 3.0.0)
+      blade-qunit_adapter (~> 2.0.1)
+      coffee-script
+      coffee-script-source
+      curses (~> 1.0.0)
+      eventmachine
+      faye
+      sprockets (>= 3.0)
+      thin (>= 1.6.0)
+      thor (>= 0.19.1)
+      useragent (~> 0.16.7)
+    blade-qunit_adapter (2.0.1)
+    blade-sauce_labs_plugin (0.7.3)
+      childprocess
+      faraday
+      selenium-webdriver
+    bootsnap (1.3.2)
+      msgpack (~> 1.0)
+    bootsnap (1.3.2-java)
+      msgpack (~> 1.0)
+    builder (3.2.3)
+    bunny (2.9.2)
+      amq-protocol (~> 2.3.0)
+    byebug (10.0.2)
+    capybara (3.10.1)
+      addressable
+      mini_mime (>= 0.1.3)
+      nokogiri (~> 1.8)
+      rack (>= 1.6.0)
+      rack-test (>= 0.6.3)
+      regexp_parser (~> 1.2)
+      xpath (~> 3.2)
+    childprocess (0.9.0)
+      ffi (~> 1.0, >= 1.0.11)
+    chromedriver-helper (2.1.0)
+      archive-zip (~> 0.10)
+      nokogiri (~> 1.8)
+    coffee-script (2.4.1)
+      coffee-script-source
+      execjs
+    coffee-script-source (1.12.2)
+    concurrent-ruby (1.1.3)
+    connection_pool (2.2.2)
+    cookiejar (0.3.3)
+    crack (0.4.3)
+      safe_yaml (~> 1.0.0)
+    crass (1.0.4)
+    curses (1.0.2)
+    daemons (1.2.6)
+    dalli (2.7.9)
+    dante (0.2.0)
+    declarative (0.0.10)
+    declarative-option (0.1.0)
+    delayed_job (4.1.5)
+      activesupport (>= 3.0, < 5.3)
+    delayed_job_active_record (4.1.3)
+      activerecord (>= 3.0, < 5.3)
+      delayed_job (>= 3.0, < 5)
+    digest-crc (0.4.1)
+    em-http-request (1.1.5)
+      addressable (>= 2.3.4)
+      cookiejar (!= 0.3.1)
+      em-socksify (>= 0.3)
+      eventmachine (>= 1.0.3)
+      http_parser.rb (>= 0.6.0)
+    em-socksify (0.3.2)
+      eventmachine (>= 1.0.0.beta.4)
+    erubi (1.7.1)
+    et-orbi (1.1.6)
+      tzinfo
+    event_emitter (0.2.6)
+    eventmachine (1.2.7)
+    execjs (2.7.0)
+    faraday (0.15.3)
+      multipart-post (>= 1.2, < 3)
+    faraday_middleware (0.12.2)
+      faraday (>= 0.7.4, < 1.0)
+    faye (1.2.4)
+      cookiejar (>= 0.3.0)
+      em-http-request (>= 0.3.0)
+      eventmachine (>= 0.12.0)
+      faye-websocket (>= 0.9.1)
+      multi_json (>= 1.0.0)
+      rack (>= 1.0.0)
+      websocket-driver (>= 0.5.1)
+    faye-websocket (0.10.7)
+      eventmachine (>= 0.12.0)
+      websocket-driver (>= 0.5.1)
+    ffi (1.9.25)
+    ffi (1.9.25-java)
+    ffi (1.9.25-x64-mingw32)
+    ffi (1.9.25-x86-mingw32)
+    fugit (1.1.6)
+      et-orbi (~> 1.1, >= 1.1.6)
+      raabro (~> 1.1)
+    globalid (0.4.1)
+      activesupport (>= 4.2.0)
+    google-api-client (0.25.0)
+      addressable (~> 2.5, >= 2.5.1)
+      googleauth (>= 0.5, < 0.7.0)
+      httpclient (>= 2.8.1, < 3.0)
+      mime-types (~> 3.0)
+      representable (~> 3.0)
+      retriable (>= 2.0, < 4.0)
+      signet (~> 0.10)
+    google-cloud-core (1.2.7)
+      google-cloud-env (~> 1.0)
+    google-cloud-env (1.0.5)
+      faraday (~> 0.11)
+    google-cloud-storage (1.15.0)
+      digest-crc (~> 0.4)
+      google-api-client (~> 0.23)
+      google-cloud-core (~> 1.2)
+      googleauth (~> 0.6.2)
+    googleauth (0.6.7)
+      faraday (~> 0.12)
+      jwt (>= 1.4, < 3.0)
+      memoist (~> 0.16)
+      multi_json (~> 1.11)
+      os (>= 0.9, < 2.0)
+      signet (~> 0.7)
+    hashdiff (0.3.7)
+    hiredis (0.6.3)
+    hiredis (0.6.3-java)
+    http_parser.rb (0.6.0)
+    httpclient (2.8.3)
+    i18n (1.1.1)
+      concurrent-ruby (~> 1.0)
+    image_processing (1.7.1)
+      mini_magick (~> 4.0)
+      ruby-vips (>= 2.0.13, < 3)
+    io-like (0.3.0)
+    jaro_winkler (1.5.1)
+    jaro_winkler (1.5.1-java)
+    jdbc-mysql (5.1.46)
+    jdbc-postgres (42.1.4)
+    jdbc-sqlite3 (3.20.1)
+    jmespath (1.4.0)
+    json (2.1.0)
+    json (2.1.0-java)
+    jwt (2.1.0)
+    kindlerb (1.2.0)
+      mustache
+      nokogiri
+    libxml-ruby (3.1.0)
+    listen (3.1.5)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+      ruby_dep (~> 1.2)
+    loofah (2.2.3)
+      crass (~> 1.0.2)
+      nokogiri (>= 1.5.9)
+    mail (2.7.1)
+      mini_mime (>= 0.1.1)
+    marcel (0.3.3)
+      mimemagic (~> 0.3.2)
+    memoist (0.16.0)
+    method_source (0.9.2)
+    mime-types (3.2.2)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2018.0812)
+    mimemagic (0.3.3)
+    mini_magick (4.9.2)
+    mini_mime (1.0.1)
+    mini_portile2 (2.4.0)
+    minitest (5.11.3)
+    minitest-bisect (1.4.0)
+      minitest-server (~> 1.0)
+      path_expander (~> 1.0)
+    minitest-retry (0.1.9)
+      minitest (>= 5.0)
+    minitest-server (1.0.5)
+      minitest (~> 5.0)
+    mono_logger (1.1.0)
+    msgpack (1.2.4)
+    msgpack (1.2.4-java)
+    msgpack (1.2.4-x64-mingw32)
+    msgpack (1.2.4-x86-mingw32)
+    multi_json (1.13.1)
+    multipart-post (2.0.0)
+    mustache (1.1.0)
+    mustermann (1.0.3)
+    mysql2 (0.5.2)
+    mysql2 (0.5.2-x64-mingw32)
+    mysql2 (0.5.2-x86-mingw32)
+    nio4r (2.3.1)
+    nio4r (2.3.1-java)
+    nokogiri (1.9.1)
+      mini_portile2 (~> 2.4.0)
+    nokogiri (1.9.1-java)
+    nokogiri (1.9.1-x64-mingw32)
+      mini_portile2 (~> 2.4.0)
+    nokogiri (1.9.1-x86-mingw32)
+      mini_portile2 (~> 2.4.0)
+    os (1.0.0)
+    parallel (1.12.1)
+    parser (2.5.3.0)
+      ast (~> 2.4.0)
+    path_expander (1.0.3)
+    pg (1.1.3)
+    pg (1.1.3-x64-mingw32)
+    pg (1.1.3-x86-mingw32)
+    powerpack (0.1.2)
+    psych (3.0.3)
+    public_suffix (3.0.3)
+    puma (3.12.0)
+    puma (3.12.0-java)
+    que (0.14.3)
+    qunit-selenium (0.0.4)
+      selenium-webdriver
+      thor
+    raabro (1.1.6)
+    racc (1.4.14)
+    rack (2.0.6)
+    rack-cache (1.8.0)
+      rack (>= 0.4)
+    rack-protection (2.0.4)
+      rack
+    rack-proxy (0.6.5)
+      rack
+    rack-test (1.1.0)
+      rack (>= 1.0, < 3)
+    rails-dom-testing (2.0.3)
+      activesupport (>= 4.2.0)
+      nokogiri (>= 1.6)
+    rails-html-sanitizer (1.0.4)
+      loofah (~> 2.2, >= 2.2.2)
+    rainbow (3.0.0)
+    rake (12.3.1)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.10.0)
+      ffi (~> 1.0)
+    rdoc (6.0.4)
+    redcarpet (3.2.3)
+    redis (4.0.3)
+    redis-namespace (1.6.0)
+      redis (>= 3.0.4)
+    regexp_parser (1.3.0)
+    representable (3.0.4)
+      declarative (< 0.1.0)
+      declarative-option (< 0.2.0)
+      uber (< 0.2.0)
+    resque (1.27.4)
+      mono_logger (~> 1.0)
+      multi_json (~> 1.0)
+      redis-namespace (~> 1.3)
+      sinatra (>= 0.9.2)
+      vegas (~> 0.1.2)
+    resque-scheduler (4.3.1)
+      mono_logger (~> 1.0)
+      redis (>= 3.3, < 5)
+      resque (~> 1.26)
+      rufus-scheduler (~> 3.2)
+    retriable (3.1.2)
+    rubocop (0.61.1)
+      jaro_winkler (~> 1.5.1)
+      parallel (~> 1.10)
+      parser (>= 2.5, != 2.5.1.1)
+      powerpack (~> 0.1)
+      rainbow (>= 2.2.2, < 4.0)
+      ruby-progressbar (~> 1.7)
+      unicode-display_width (~> 1.4.0)
+    ruby-progressbar (1.10.0)
+    ruby-vips (2.0.13)
+      ffi (~> 1.9)
+    ruby_dep (1.5.0)
+    rubyzip (1.2.2)
+    rufus-scheduler (3.5.2)
+      fugit (~> 1.1, >= 1.1.5)
+    safe_yaml (1.0.4)
+    sass (3.7.2)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sass-rails (5.0.7)
+      railties (>= 4.0.0, < 6)
+      sass (~> 3.1)
+      sprockets (>= 2.8, < 4.0)
+      sprockets-rails (>= 2.0, < 4.0)
+      tilt (>= 1.1, < 3)
+    sdoc (1.0.0)
+      rdoc (>= 5.0)
+    selenium-webdriver (3.141.0)
+      childprocess (~> 0.5)
+      rubyzip (~> 1.2, >= 1.2.2)
+    sequel (5.14.0)
+    serverengine (2.0.7)
+      sigdump (~> 0.2.2)
+    sidekiq (5.2.3)
+      connection_pool (~> 2.2, >= 2.2.2)
+      rack-protection (>= 1.5.0)
+      redis (>= 3.3.5, < 5)
+    sigdump (0.2.4)
+    signet (0.11.0)
+      addressable (~> 2.3)
+      faraday (~> 0.9)
+      jwt (>= 1.5, < 3.0)
+      multi_json (~> 1.10)
+    sinatra (2.0.4)
+      mustermann (~> 1.0)
+      rack (~> 2.0)
+      rack-protection (= 2.0.4)
+      tilt (~> 2.0)
+    sneakers (2.7.0)
+      bunny (~> 2.9.2)
+      concurrent-ruby (~> 1.0)
+      serverengine (~> 2.0.5)
+      thor
+    sprockets (3.7.2)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    sprockets-export (1.0.0)
+    sprockets-rails (3.2.1)
+      actionpack (>= 4.0)
+      activesupport (>= 4.0)
+      sprockets (>= 3.0.0)
+    sqlite3 (1.3.13)
+    sqlite3 (1.3.13-x64-mingw32)
+    sqlite3 (1.3.13-x86-mingw32)
+    stackprof (0.2.12)
+    sucker_punch (2.1.1)
+      concurrent-ruby (~> 1.0)
+    thin (1.7.2)
+      daemons (~> 1.0, >= 1.0.9)
+      eventmachine (~> 1.0, >= 1.0.4)
+      rack (>= 1, < 3)
+    thor (0.20.3)
+    thread_safe (0.3.6)
+    thread_safe (0.3.6-java)
+    tilt (2.0.8)
+    turbolinks (5.2.0)
+      turbolinks-source (~> 5.2)
+    turbolinks-source (5.2.0)
+    tzinfo (1.2.5)
+      thread_safe (~> 0.1)
+    tzinfo-data (1.2018.7)
+      tzinfo (>= 1.0.0)
+    uber (0.1.0)
+    uglifier (4.1.19)
+      execjs (>= 0.3.0, < 3)
+    unicode-display_width (1.4.0)
+    useragent (0.16.10)
+    vegas (0.1.11)
+      rack (>= 1.0.0)
+    w3c_validators (1.3.4)
+      json (>= 1.8)
+      nokogiri (~> 1.6)
+    wdm (0.1.1)
+    webmock (3.4.2)
+      addressable (>= 2.3.6)
+      crack (>= 0.3.2)
+      hashdiff
+    websocket (1.2.8)
+    websocket-driver (0.7.0)
+      websocket-extensions (>= 0.1.0)
+    websocket-driver (0.7.0-java)
+      websocket-extensions (>= 0.1.0)
+    websocket-extensions (0.1.3)
+    xpath (3.2.0)
+      nokogiri (~> 1.8)
+
+PLATFORMS
+  java
+  ruby
+  x64-mingw32
+  x86-mingw32
+
+DEPENDENCIES
+  activerecord-jdbcmysql-adapter (>= 1.3.0)
+  activerecord-jdbcpostgresql-adapter (>= 1.3.0)
+  activerecord-jdbcsqlite3-adapter (>= 1.3.0)
+  aws-sdk-s3
+  aws-sdk-sns
+  azure-storage
+  backburner
+  bcrypt (~> 3.1.11)
+  benchmark-ips
+  blade
+  blade-sauce_labs_plugin
+  bootsnap (>= 1.1.0)
+  byebug
+  capybara (>= 2.15)
+  chromedriver-helper
+  connection_pool
+  dalli
+  delayed_job
+  delayed_job_active_record
+  google-cloud-storage (~> 1.11)
+  hiredis
+  image_processing (~> 1.2)
+  json (>= 2.0.0)
+  kindlerb (~> 1.2.0)
+  libxml-ruby
+  listen (>= 3.0.5, < 3.2)
+  minitest-bisect
+  minitest-retry
+  mysql2 (>= 0.4.10)
+  nokogiri (>= 1.8.1)
+  pg (>= 0.18.0)
+  psych (~> 3.0)
+  puma
+  que
+  queue_classic!
+  qunit-selenium
+  racc (>= 1.4.6)
+  rack-cache (~> 1.2)
+  rails!
+  rake (>= 11.1)
+  redcarpet (~> 3.2.3)
+  redis (~> 4.0)
+  redis-namespace
+  resque
+  resque-scheduler
+  rubocop (>= 0.47)
+  sass-rails
+  sdoc (~> 1.0)
+  sequel
+  sidekiq
+  sneakers
+  sprockets-export
+  sqlite3 (~> 1.3.6)
+  stackprof
+  sucker_punch
+  turbolinks (~> 5)
+  tzinfo-data
+  uglifier (>= 1.3.0)
+  w3c_validators
+  wdm (>= 0.1.0)
+  webmock
+  webpacker!
+  websocket-client-simple!
+
+BUNDLED WITH
+   1.17.2
diff --git a/test/manager/bundler/__snapshots__/extract.spec.js.snap b/test/manager/bundler/__snapshots__/extract.spec.js.snap
index 2a766abce3c6decf91e32be6c527e38918051d3b..e12c84b5f2f3fe73b84fb5cca7f66f8bc79ea748 100644
--- a/test/manager/bundler/__snapshots__/extract.spec.js.snap
+++ b/test/manager/bundler/__snapshots__/extract.spec.js.snap
@@ -2,6 +2,9 @@
 
 exports[`lib/manager/bundler/extract extractPackageFile() parses rails Gemfile 1`] = `
 Object {
+  "compatibility": Object {
+    "bundler": "1.17.2",
+  },
   "deps": Array [
     Object {
       "currentValue": ">= 11.1",
diff --git a/test/manager/bundler/extract.spec.js b/test/manager/bundler/extract.spec.js
index d74d91355fbbf95b4c556cf421decd146689ec31..e7c4cf7fcddef1e333a8dfa6f39f284b32fdc634 100644
--- a/test/manager/bundler/extract.spec.js
+++ b/test/manager/bundler/extract.spec.js
@@ -5,6 +5,10 @@ const railsGemfile = fs.readFileSync(
   'test/_fixtures/bundler/Gemfile.rails',
   'utf8'
 );
+const railsGemfileLock = fs.readFileSync(
+  'test/_fixtures/bundler/Gemfile.rails.lock',
+  'utf8'
+);
 
 const sourceGroupGemfile = fs.readFileSync(
   'test/_fixtures/bundler/Gemfile.sourceGroup',
@@ -19,16 +23,17 @@ function validateGems(raw, parsed) {
 
 describe('lib/manager/bundler/extract', () => {
   describe('extractPackageFile()', () => {
-    it('returns null for empty', () => {
-      expect(extractPackageFile('nothing here')).toBeNull();
+    it('returns null for empty', async () => {
+      expect(await extractPackageFile('nothing here', 'Gemfile')).toBeNull();
     });
-    it('parses rails Gemfile', () => {
-      const res = extractPackageFile(railsGemfile);
+    it('parses rails Gemfile', async () => {
+      platform.getFile.mockReturnValueOnce(railsGemfileLock);
+      const res = await extractPackageFile(railsGemfile, 'Gemfile');
       expect(res).toMatchSnapshot();
       validateGems(railsGemfile, res);
     });
-    it('parses sourceGroups', () => {
-      const res = extractPackageFile(sourceGroupGemfile);
+    it('parses sourceGroups', async () => {
+      const res = await extractPackageFile(sourceGroupGemfile, 'Gemfile');
       expect(res).toMatchSnapshot();
       validateGems(sourceGroupGemfile, res);
     });