88module Homebrew
99 module Bundle
1010 module Checker
11- CheckResult = Struct . new :work_to_be_done , :errors
11+ class CheckResult < T ::Struct
12+ const :work_to_be_done , T ::Boolean
13+ const :errors , T ::Array [ String ]
14+ end
15+
1216 CheckStep = T . type_alias { Symbol }
1317
1418 CORE_CHECKS = T . let ( [
@@ -34,7 +38,7 @@ def self.check(global: false, file: nil, exit_on_first_error: false, no_upgrade:
3438 @dsl = T . let ( @dsl , T . nilable ( Homebrew ::Bundle ::Dsl ) )
3539 @dsl ||= Brewfile . read ( global :, file :)
3640
37- errors = T . let ( [ ] , T ::Array [ Object ] )
41+ errors = T . let ( [ ] , T ::Array [ String ] )
3842 enumerator = exit_on_first_error ? :find : :map
3943
4044 work_to_be_done = CORE_CHECKS . public_send ( enumerator ) do |check_step |
@@ -46,15 +50,15 @@ def self.check(global: false, file: nil, exit_on_first_error: false, no_upgrade:
4650
4751 work_to_be_done = Array ( work_to_be_done ) . flatten . any?
4852
49- CheckResult . new work_to_be_done , errors
53+ CheckResult . new ( work_to_be_done : , errors : )
5054 end
5155
5256 sig {
5357 params (
5458 exit_on_first_error : T ::Boolean ,
5559 no_upgrade : T ::Boolean ,
5660 verbose : T ::Boolean ,
57- ) . returns ( T ::Array [ Object ] )
61+ ) . returns ( T ::Array [ String ] )
5862 }
5963 def self . apps_to_install ( exit_on_first_error : false , no_upgrade : false , verbose : false )
6064 extension_errors ( :apps_to_install , exit_on_first_error :, no_upgrade :, verbose :)
@@ -65,7 +69,7 @@ def self.apps_to_install(exit_on_first_error: false, no_upgrade: false, verbose:
6569 exit_on_first_error : T ::Boolean ,
6670 no_upgrade : T ::Boolean ,
6771 verbose : T ::Boolean ,
68- ) . returns ( T ::Array [ Object ] )
72+ ) . returns ( T ::Array [ String ] )
6973 }
7074 def self . formulae_to_start ( exit_on_first_error : false , no_upgrade : false , verbose : false )
7175 raise ArgumentError , "dsl is unset!" unless @dsl
@@ -81,7 +85,7 @@ def self.formulae_to_start(exit_on_first_error: false, no_upgrade: false, verbos
8185 exit_on_first_error : T ::Boolean ,
8286 no_upgrade : T ::Boolean ,
8387 verbose : T ::Boolean ,
84- ) . returns ( T ::Array [ Object ] )
88+ ) . returns ( T ::Array [ String ] )
8589 }
8690 def self . taps_to_tap ( exit_on_first_error : false , no_upgrade : false , verbose : false )
8791 package_type_errors ( :tap , exit_on_first_error :, no_upgrade :, verbose :)
@@ -92,7 +96,7 @@ def self.taps_to_tap(exit_on_first_error: false, no_upgrade: false, verbose: fal
9296 exit_on_first_error : T ::Boolean ,
9397 no_upgrade : T ::Boolean ,
9498 verbose : T ::Boolean ,
95- ) . returns ( T ::Array [ Object ] )
99+ ) . returns ( T ::Array [ String ] )
96100 }
97101 def self . casks_to_install ( exit_on_first_error : false , no_upgrade : false , verbose : false )
98102 package_type_errors ( :cask , exit_on_first_error :, no_upgrade :, verbose :)
@@ -103,7 +107,7 @@ def self.casks_to_install(exit_on_first_error: false, no_upgrade: false, verbose
103107 exit_on_first_error : T ::Boolean ,
104108 no_upgrade : T ::Boolean ,
105109 verbose : T ::Boolean ,
106- ) . returns ( T ::Array [ Object ] )
110+ ) . returns ( T ::Array [ String ] )
107111 }
108112 def self . formulae_to_install ( exit_on_first_error : false , no_upgrade : false , verbose : false )
109113 package_type_errors ( :brew , exit_on_first_error :, no_upgrade :, verbose :)
@@ -114,7 +118,7 @@ def self.formulae_to_install(exit_on_first_error: false, no_upgrade: false, verb
114118 exit_on_first_error : T ::Boolean ,
115119 no_upgrade : T ::Boolean ,
116120 verbose : T ::Boolean ,
117- ) . returns ( T ::Array [ Object ] )
121+ ) . returns ( T ::Array [ String ] )
118122 }
119123 def self . registered_extensions_to_install ( exit_on_first_error : false , no_upgrade : false , verbose : false )
120124 extension_errors ( :registered_extensions_to_install , exit_on_first_error :, no_upgrade :, verbose :)
@@ -126,13 +130,13 @@ def self.registered_extensions_to_install(exit_on_first_error: false, no_upgrade
126130 exit_on_first_error : T ::Boolean ,
127131 no_upgrade : T ::Boolean ,
128132 verbose : T ::Boolean ,
129- ) . returns ( T ::Array [ Object ] )
133+ ) . returns ( T ::Array [ String ] )
130134 }
131135 def self . extension_errors ( step , exit_on_first_error :, no_upgrade :, verbose :)
132136 raise ArgumentError , "dsl is unset!" unless @dsl
133137
134138 matching_extensions = Homebrew ::Bundle . extensions . select { |extension | extension . legacy_check_step == step }
135- errors = T . let ( [ ] , T ::Array [ Object ] )
139+ errors = T . let ( [ ] , T ::Array [ String ] )
136140
137141 matching_extensions . each do |extension |
138142 check_errors = extension . check (
@@ -162,7 +166,7 @@ def self.reset!
162166 exit_on_first_error : T ::Boolean ,
163167 no_upgrade : T ::Boolean ,
164168 verbose : T ::Boolean ,
165- ) . returns ( T ::Array [ Object ] )
169+ ) . returns ( T ::Array [ String ] )
166170 }
167171 def self . package_type_errors ( type , exit_on_first_error :, no_upgrade :, verbose :)
168172 raise ArgumentError , "dsl is unset!" unless @dsl
0 commit comments