mirror of
https://github.com/genebean/dots.git
synced 2026-03-27 01:17:42 -04:00
All functions of 'bundle exec rake dots' now work
This commit is contained in:
parent
48b87f7744
commit
96d067d035
6 changed files with 69 additions and 23 deletions
|
|
@ -12,11 +12,32 @@ def existing_symlink(source, destination)
|
|||
# rubocop:enable Metrics/LineLength
|
||||
end
|
||||
|
||||
def rename_file(source, destination)
|
||||
# rubocop:disable Metrics/MethodLength
|
||||
def rename_file(source, destination, action)
|
||||
puts "#{destination} exists, renaming to #{destination}.predots"
|
||||
File.rename(destination, "#{destination}.predots")
|
||||
puts "Linking #{destination} to #{source}"
|
||||
File.symlink(source, destination)
|
||||
if action.eql?('link')
|
||||
puts "Linking #{destination} to #{source}"
|
||||
File.symlink(source, destination)
|
||||
elsif action.eql?('copy')
|
||||
puts "Copying #{destination} to #{source}"
|
||||
FileUtils.cp_r(source, destination)
|
||||
else
|
||||
raise ArgumentError, "'#{action}' is not a valid action", backtrace
|
||||
end
|
||||
end
|
||||
# rubocop:enable Metrics/MethodLength
|
||||
|
||||
def copy_file(source, destination)
|
||||
if File.exist?(destination)
|
||||
if @prompt.yes?("#{destination} exists, do you want to replace it?")
|
||||
rename_file(source, destination, 'copy')
|
||||
else
|
||||
puts "#{destination} is unchanged"
|
||||
end
|
||||
else
|
||||
FileUtils.cp_r(source, destination)
|
||||
end
|
||||
end
|
||||
|
||||
def link_file(source, destination)
|
||||
|
|
@ -24,9 +45,28 @@ def link_file(source, destination)
|
|||
existing_symlink(source, destination)
|
||||
elsif File.exist?(destination)
|
||||
# this catches anything that is not a symlink
|
||||
rename_file(source, destination)
|
||||
rename_file(source, destination, 'link')
|
||||
else
|
||||
puts "Linking #{destination} to #{source}"
|
||||
File.symlink(source, destination)
|
||||
end
|
||||
end
|
||||
|
||||
# rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
||||
def mac_vers
|
||||
stdout, _stderr, _status = Open3.capture3('sw_vers -productVersion')
|
||||
if Integer(stdout.strip.split('.')[0]) == 10
|
||||
if Integer(stdout.strip.split('.')[1]) >= 12
|
||||
puts "It seems you are on macOS #{stdout.strip}"
|
||||
else
|
||||
puts "It seems you are on OX X #{stdout.strip}"
|
||||
end
|
||||
|
||||
elsif Integer(stdout.strip.split('.')[0]) < 10
|
||||
puts "Wow... you're sure running an old os (#{stdout.strip} to be exact)"
|
||||
else
|
||||
abort("It seems you are on a Mac but I don't know what to do on \
|
||||
v#{stdout.strip}")
|
||||
end
|
||||
end
|
||||
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue