class Gurney::Source::Bundler

Attributes

gemfile_lock[R]

Public Class Methods

new(gemfile_lock:) click to toggle source
# File lib/gurney/source/bundler.rb, line 7
def initialize(gemfile_lock:)
  @gemfile_lock = gemfile_lock
end

Public Instance Methods

dependencies() click to toggle source
# File lib/gurney/source/bundler.rb, line 15
def dependencies
  if present?
    Dir.mktmpdir do |dir|
      Dir.chdir dir do
        File.write('Gemfile', '') # LockfileParser requires a Gemfile to be present, can be empty
        lockfile = ::Bundler::LockfileParser.new(@gemfile_lock)
        lockfile.specs.map { |spec| Dependency.new(ecosystem: 'rubygems', name: spec.name, version: spec.version.to_s) }
      end
    end
  end
end
present?() click to toggle source
# File lib/gurney/source/bundler.rb, line 11
def present?
  !@gemfile_lock.nil?
end