You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

33 lines
784 B

class Cask
class AppLinker
def initialize(cask)
@cask = cask
end
def link
@cask.linkable_apps.each { |app| link_app(app) }
end
def unlink
@cask.linkable_apps.each { |app| unlink_app(app) }
end
def unlink_app(app)
app_path = Cask.appdir.join(app.basename)
if app_path.exist? && app_path.symlink?
ohai "Removing link: #{app_path}"
app_path.delete
end
end
def link_app(app)
app_path = Cask.appdir.join(app.basename)
if app_path.directory? && !app_path.symlink?
ohai "It seems there is already an app at #{app_path}; not linking."
return
end
ohai "Linking #{app.basename} to #{app_path}"
system %Q(ln -hfs "#{app}" "#{app_path}")
end
end
end