brew/Library/Homebrew/sorbet/rbi/upstream.rbi
2020-11-29 21:23:55 +01:00

75 lines
1.7 KiB
Ruby

# typed: strict
# This file contains temporary definitions for fixes that have
# been submitted upstream to https://github.com/sorbet/sorbet.
class IO
# https://github.com/sorbet/sorbet/pull/3722
sig do
type_parameters(:U).params(
fd: T.any(String, Integer),
mode: T.any(Integer, String),
opt: T.nilable(T::Hash[Symbol, T.untyped]),
blk: T.proc.params(io: T.attached_class).returns(T.type_parameter(:U))
).returns(T.type_parameter(:U))
end
def self.open(fd, mode='r', opt=nil, &blk); end
end
class Pathname
# https://github.com/sorbet/sorbet/pull/3729
sig do
params(
owner: T.nilable(Integer),
group: T.nilable(Integer),
)
.returns(Integer)
end
def chown(owner, group); end
end
module FileUtils
# https://github.com/sorbet/sorbet/pull/3730
module_function
sig do
params(
src: T.untyped,
dest: T.untyped,
preserve: T.nilable(T::Boolean),
noop: T.nilable(T::Boolean),
verbose: T.nilable(T::Boolean)
).returns(T.untyped)
end
def cp(src, dest, preserve: nil, noop: nil, verbose: nil); end
sig do
params(
list: T.any(String, Pathname),
mode: T.nilable(Integer),
noop: T.nilable(T::Boolean),
verbose: T.nilable(T::Boolean)
).returns(T::Array[String])
end
def mkdir_p(list, mode: nil, noop: nil, verbose: nil); end
end
class Module
# https://github.com/sorbet/sorbet/pull/3732
sig do
params(
arg0: T.any(Symbol, String),
arg1: T.any(Proc, Method, UnboundMethod)
)
.returns(Symbol)
end
sig do
params(
arg0: T.any(Symbol, String),
blk: T.proc.bind(T.untyped).returns(T.untyped),
)
.returns(Symbol)
end
def define_method(arg0, arg1=T.unsafe(nil), &blk); end
end