class Guac::Repo
Attributes
dir[R]
name[R]
Public Class Methods
build_from_config(*args)
click to toggle source
# File lib/guac/repo.rb, line 8 def self.build_from_config(*args) config = Guac::Config.load config[:repos].map { |r| new(config, r, *args) } end
new(config, repo, branch = nil)
click to toggle source
# File lib/guac/repo.rb, line 13 def initialize(config, repo, branch = nil) @config = config @repo = repo @name = repo[:name] @dir = repo[:dir] @branch = branch || config[:default_branch] end
valid?(dirs)
click to toggle source
# File lib/guac/repo.rb, line 43 def self.valid?(dirs) !dirs.empty? && dirs.all? do |dir| d = File.join(dir.sub('~', ENV['HOME']), '.git') Dir.exist?(d) end end
Public Instance Methods
branch()
click to toggle source
# File lib/guac/repo.rb, line 21 def branch aliases = @repo[:branch_aliases] if aliases aliases[@branch] || @branch else @branch end end
checkout()
click to toggle source
# File lib/guac/repo.rb, line 34 def checkout SysCommand.run(@dir, %W(git checkout #{branch})) end
pull()
click to toggle source
# File lib/guac/repo.rb, line 38 def pull pull_cmd = @config[:pull_strategy].split(/ \s*/) SysCommand.run(@dir, pull_cmd) end
status()
click to toggle source
# File lib/guac/repo.rb, line 30 def status SysCommand.run(@dir, %w(git status)) end