utils/link: Bump to Sorbet typed: strict

This commit is contained in:
Issy Long 2024-08-10 00:23:29 +01:00
parent c62ee6be6c
commit 058688f239
No known key found for this signature in database

View File

@ -1,9 +1,10 @@
# typed: true
# typed: strict
# frozen_string_literal: true
module Utils
# Helper functions for creating symlinks.
module Link
sig { params(src_dir: Pathname, dst_dir: Pathname, command: String, link_dir: T::Boolean).void }
def self.link_src_dst_dirs(src_dir, dst_dir, command, link_dir: false)
return unless src_dir.exist?
@ -38,6 +39,7 @@ module Utils
end
private_class_method :link_src_dst_dirs
sig { params(src_dir: Pathname, dst_dir: Pathname, unlink_dir: T::Boolean).void }
def self.unlink_src_dst_dirs(src_dir, dst_dir, unlink_dir: false)
return unless src_dir.exist?
@ -52,26 +54,31 @@ module Utils
end
private_class_method :unlink_src_dst_dirs
sig { params(path: Pathname, command: String).void }
def self.link_manpages(path, command)
link_src_dst_dirs(path/"manpages", HOMEBREW_PREFIX/"share/man/man1", command)
end
sig { params(path: Pathname).void }
def self.unlink_manpages(path)
unlink_src_dst_dirs(path/"manpages", HOMEBREW_PREFIX/"share/man/man1")
end
sig { params(path: Pathname, command: String).void }
def self.link_completions(path, command)
link_src_dst_dirs(path/"completions/bash", HOMEBREW_PREFIX/"etc/bash_completion.d", command)
link_src_dst_dirs(path/"completions/zsh", HOMEBREW_PREFIX/"share/zsh/site-functions", command)
link_src_dst_dirs(path/"completions/fish", HOMEBREW_PREFIX/"share/fish/vendor_completions.d", command)
end
sig { params(path: Pathname).void }
def self.unlink_completions(path)
unlink_src_dst_dirs(path/"completions/bash", HOMEBREW_PREFIX/"etc/bash_completion.d")
unlink_src_dst_dirs(path/"completions/zsh", HOMEBREW_PREFIX/"share/zsh/site-functions")
unlink_src_dst_dirs(path/"completions/fish", HOMEBREW_PREFIX/"share/fish/vendor_completions.d")
end
sig { params(path: Pathname, command: String).void }
def self.link_docs(path, command)
link_src_dst_dirs(path/"docs", HOMEBREW_PREFIX/"share/doc/homebrew", command, link_dir: true)
end