Module: VPM::Commands::Install::GitInstall

Defined in:
lib/vpm/commands/install.rb

Class Method Summary collapse

Class Method Details

.chdir(dir) ⇒ Object



31
32
33
# File 'lib/vpm/commands/install.rb', line 31

def self.chdir(dir)
  Dir.chdir(dir) { yield }
end

.run(plugin) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/vpm/commands/install.rb', line 12

def self.run(plugin)
  plugin_name = plugin.name
  options = plugin.options

  chdir(VPM.bundle_dir_path) do
    result = VPM::Git.clone(options[:remote], plugin_name)

    chdir(File.join(VPM.plugin_dir, plugin_name)) do
      if options[:tag]
        result = VPM::Git.checkout_tag(options[:tag])
      end

      plugin.options[:revision] = VPM::Git.current_revision
    end

    result
  end
end