Sha256: 6bc2fc4205c052298aa72472583d5e4dbb4c9b6253f3abd852d22bd17fe33527

Contents?: true

Size: 800 Bytes

Versions: 3

Compression:

Stored size: 800 Bytes

Contents

require 'pathname'
require 'bundler_ext/runtime'
require 'bundler_ext/gemfile'
require 'bundler_ext/system'

module BundlerExt
  def self.runtime
    @runtime ||= BundlerExt::Runtime.new
  end

  def self.system_require(gemfile, *groups)
    runtime.setup_env

    Gemfile.parse(gemfile, *groups).each do |name, gem_dep|
      if System.activate?
        System.activate!(name)
      end

      runtime.system_require(gem_dep[:files])
    end
  end

  def self.system_setup(gemfile, *groups)
    Gemfile.setup_env(gemfile)
    runtime.gemfile(Pathname.new(gemfile))
    runtime.setup_env
    runtime.clear
    Gemfile.parse(gemfile, *groups).each do |name, gem_dep|
      if System.activate?
        System.activate!(name)
      end

      runtime.add_spec(gem_dep[:dep].to_spec())
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bundler_ext-0.4.2 lib/bundler_ext.rb
bundler_ext-0.4.1 lib/bundler_ext.rb
bundler_ext-0.4.0 lib/bundler_ext.rb