Sha256: dba7ef77bc239df82fc8b02c974dcca793aeb8130a82141204b8e6fa7275126f

Contents?: true

Size: 1.25 KB

Versions: 19

Compression:

Stored size: 1.25 KB

Contents

require "rubygems"
require "rubygems/gem_runner"

require "vagrant/util/safe_puts"

module Vagrant
  module Command
    class Gem < Base
      include Util::SafePuts

      def execute
        # Bundler sets up its own custom gem load paths such that our
        # own gems are never loaded. Therefore, give an error if a user
        # tries to install gems while within a Bundler-managed environment.
        if defined?(Bundler)
          require 'bundler/shared_helpers'
          if Bundler::SharedHelpers.in_bundle?
            raise Errors::GemCommandInBundler
          end
        end

        # If the user needs some help, we add our own little message at the
        # top so that they're aware of what `vagrant gem` is doing, really.
        if @argv.empty? || @argv.include?("-h") || @argv.include?("--help")
          @env.ui.info(I18n.t("vagrant.commands.gem.help_preamble"),
                       :prefix => false)
          safe_puts
        end

        # We just proxy the arguments onto a real RubyGems command
        # but change `GEM_HOME` so that the gems are installed into
        # our own private gem folder.
        ENV["GEM_HOME"] = @env.gems_path.to_s
        ::Gem.clear_paths
        ::Gem::GemRunner.new.run(@argv.dup)
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 6 rubygems

Version Path
bmhatfield-vagrant-1.0.10 lib/vagrant/command/gem.rb
bmhatfield-vagrant-1.0.9 lib/vagrant/command/gem.rb
bmhatfield-vagrant-1.0.8 lib/vagrant/command/gem.rb
bmhatfield-vagrant-1.0.7 lib/vagrant/command/gem.rb
vagrantup-1.0.7 lib/vagrant/command/gem.rb
vagrantup-1.0.6 lib/vagrant/command/gem.rb
vagrantup-1.0.5 lib/vagrant/command/gem.rb
vagrantup-1.0.4 lib/vagrant/command/gem.rb
vagrantup-1.0.3 lib/vagrant/command/gem.rb
vagrantup-1.0.2 lib/vagrant/command/gem.rb
vagrant-fixed-ssh-1.0.7 lib/vagrant/command/gem.rb
vagrant-1.0.7 lib/vagrant/command/gem.rb
vagrant-1.0.6 lib/vagrant/command/gem.rb
boxcar-0.10005.1 lib/vagrant/command/gem.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/vagrant-1.0.5/lib/vagrant/command/gem.rb
vagrant-1.0.5 lib/vagrant/command/gem.rb
vagrant-1.0.4 lib/vagrant/command/gem.rb
vagrant-1.0.3 lib/vagrant/command/gem.rb
vagrant-1.0.2 lib/vagrant/command/gem.rb