Sha256: 50adefdd50fa174859e71b7d8d3680986ac0ff1bf100920033dbb3805ec4e555

Contents?: true

Size: 703 Bytes

Versions: 9

Compression:

Stored size: 703 Bytes

Contents

require 'bundler'

module Gurney
  module Source
    class Bundler < Base

    def initialize(gemfile_lock:)
      @gemfile_lock = gemfile_lock
    end

    def present?
      !@gemfile_lock.nil?
    end

    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

    private

    attr_reader :gemfile_lock

    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
gurney_client-0.2.2 lib/gurney/source/bundler.rb
gurney_client-0.2.1 lib/gurney/source/bundler.rb
gurney_client-0.2.0 lib/gurney/source/bundler.rb
gurney_client-0.1.6 lib/gurney/source/bundler.rb
gurney_client-0.1.5 lib/gurney/source/bundler.rb
gurney_client-0.1.4 lib/gurney/source/bundler.rb
gurney_client-0.1.3 lib/gurney/source/bundler.rb
gurney_client-0.1.2 lib/gurney/source/bundler.rb
gurney_client-0.1.1 lib/gurney/source/bundler.rb