Class: Submodule::Manager

Inherits:
Object
  • Object
show all
Defined in:
lib/submodule/manager.rb

Class Method Summary collapse

Class Method Details

.add_dependency(submodule_name, url) ⇒ Object



11
12
13
# File 'lib/submodule/manager.rb', line 11

def self.add_dependency(submodule_name, url)
  puts `git submodule add #{url} Dependencies/#{submodule_name}`
end

.bootObject



24
25
26
27
28
# File 'lib/submodule/manager.rb', line 24

def self.boot()
  puts `git submodule sync --recursive`
  puts `git submodule update --init --recursive`
  puts "Submodules ready"
end

.initObject



5
6
7
8
9
# File 'lib/submodule/manager.rb', line 5

def self.init()
  current_dir = Dir.pwd
  Dir.mkdir("Dependencies") unless Dir.exists?("Dependencies")
  "Dependencies folder created!"
end

.remove(submodule_name) ⇒ Object



30
31
32
33
34
# File 'lib/submodule/manager.rb', line 30

def self.remove(submodule_name)
  puts `git submodule deinit -f Dependencies/#{submodule_name}`
  puts `rm -rf .git/modules/Dependencies/#{submodule_name}`
  puts `git rm -f Dependencies/#{submodule_name}`
end

.update_dependency(submodule_name, tag) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/submodule/manager.rb', line 15

def self.update_dependency(submodule_name, tag)
  Dir.chdir("Dependencies/#{submodule_name}") do
    puts `git fetch`
    puts `git checkout -q #{tag}`
  end
  puts `git commit -am "Updated submodule #{submodule_name} to #{tag}"`
  puts "Updated submodule #{submodule_name} to #{tag}"
end