class Dotfiles

Public Instance Methods

config() click to toggle source
# File lib/myosx/dotfiles.rb, line 11
def config
  Konfig.new.global['dotfiles']
end
dotfiledir() click to toggle source
# File lib/myosx/dotfiles.rb, line 15
def dotfiledir
  File.join(Konfig.new.workspace_directory, 'dotfiles')
end
exec() click to toggle source
# File lib/myosx/dotfiles.rb, line 50
def exec
  if repo(config['repo'], dotfiledir)
    config['files'].each do |file, dest|
      link("#{dotfiledir}/#{file}", dest)
    end
  end
end
repo(repo, target, local_repo = 'dotfiles') click to toggle source
# File lib/myosx/dotfiles.rb, line 19
def repo(repo, target, local_repo = 'dotfiles')
  if Git.ls_remote(repo)
    unless File.exist?(target)
      puts "Cloning #{repo}"
      Git.clone(repo, local_repo, :path => File.dirname(target))
    else
      g = Git.init(target)
      puts "Pulling latest #{repo}"
      g.pull
    end
  end
end