Skip to content
Snippets Groups Projects
Commit 64a0e9a7 authored by Markus Reiter's avatar Markus Reiter
Browse files

Add type signatures for `Caskroom`.

parent 181baaaf
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@ AllCops:
- 'Homebrew/sorbet/rbi/gems/**/*.rbi'
- 'Homebrew/sorbet/rbi/hidden-definitions/**/*.rbi'
- 'Homebrew/sorbet/rbi/todo.rbi'
- 'Homebrew/sorbet/rbi/upstream.rbi'
- 'Homebrew/bin/*'
- 'Homebrew/vendor/**/*'
......
# typed: false
# typed: true
# frozen_string_literal: true
require "utils/user"
......@@ -10,13 +10,13 @@ module Cask
module Caskroom
extend T::Sig
module_function
def path
sig { returns(Pathname) }
def self.path
@path ||= HOMEBREW_PREFIX.join("Caskroom")
end
def ensure_caskroom_exists
sig { void }
def self.ensure_caskroom_exists
return if path.exist?
sudo = !path.parent.writable?
......@@ -32,8 +32,8 @@ module Cask
SystemCommand.run("/usr/bin/chgrp", args: ["admin", path], sudo: sudo)
end
sig { params(config: Config).returns(T::Array[Cask]) }
def casks(config: nil)
sig { params(config: T.nilable(Config)).returns(T::Array[Cask]) }
def self.casks(config: nil)
return [] unless path.exist?
Pathname.glob(path.join("*")).sort.select(&:directory?).map do |path|
......
# typed: strict
class Pathname
# https://github.com/sorbet/sorbet/pull/3676
sig { params(p1: T.any(String, Pathname), p2: String).returns(T::Array[Pathname]) }
def self.glob(p1, p2 = T.unsafe(nil)); end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment