Sha256: 907fe7352e3b75209042d2f1f4addd879dc5337cc773fec572da7be8247b9cbb
Contents?: true
Size: 923 Bytes
Versions: 3
Compression:
Stored size: 923 Bytes
Contents
#!/usr/bin/env ruby require 'optparse' require 'methadone' require 'fullstop' require 'fileutils' class App include Methadone::Main include Methadone::CLILogging include Methadone::SH include Fullstop main do |repo_url| Dir.chdir options['checkout-dir'] do repo = Repo.clone_from(repo_url,options[:force]) repo.files do |file| link_file(repo,file,options[:force]) end end info "Dotfiles symlinked" end def self.link_file(repo,file,overwrite) source_file = File.join(repo.repo_dir,file) FileUtils.rm(file) if File.exists?(file) && overwrite FileUtils.ln_s source_file,'.' end version Fullstop::VERSION description 'Manages dotfiles from a git repo' options['checkout-dir'] = ENV['HOME'] on("--force","Overwrite files if they exist") on("-d DIR","--checkout-dir","Where to clone the repo") arg :repo_url use_log_level_option go! end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
methadone-1.0.0.rc5 | tutorial/code/fullstop/bin/fullstop |
methadone-1.0.0.rc4 | tutorial/code/fullstop/bin/fullstop |
methadone-1.0.0.rc3 | tutorial/code/fullstop/bin/fullstop |