Merge pull request #20244 from Homebrew/dependabot/bundler/Library/Homebrew/dependabot-9b21bfb7c6
build(deps): bump the dependabot group across 1 directory with 25 updates
This commit is contained in:
commit
fe81c46f9f
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -451,8 +451,6 @@ jobs:
|
||||
|
||||
- run: brew test-bot --only-cleanup-before
|
||||
|
||||
- run: brew test-bot --only-setup
|
||||
|
||||
- name: Run brew bundle and brew services integration tests
|
||||
run: |
|
||||
cat <<EOS >> Brewfile
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -116,6 +116,7 @@
|
||||
**/vendor/bundle/ruby/*/gems/rdoc-*/
|
||||
**/vendor/bundle/ruby/*/gems/redcarpet-*/
|
||||
**/vendor/bundle/ruby/*/gems/regexp_parser-*/
|
||||
**/vendor/bundle/ruby/*/gems/require-hooks-*/
|
||||
**/vendor/bundle/ruby/*/gems/rexml-*/
|
||||
**/vendor/bundle/ruby/*/gems/rspec-*/
|
||||
**/vendor/bundle/ruby/*/gems/rspec-core-*/
|
||||
|
||||
@ -216,6 +216,10 @@ Naming/MethodParameterName:
|
||||
merge:
|
||||
- AllowedNames
|
||||
|
||||
# Allows a nicer API for boolean methods with side effects.
|
||||
Naming/PredicateMethod:
|
||||
AllowBangMethods: true
|
||||
|
||||
# Both styles are used depending on context,
|
||||
# e.g. `sha256` and `something_countable_1`.
|
||||
Naming/VariableNumber:
|
||||
|
||||
@ -10,7 +10,13 @@ Homebrew/MoveToExtendOS:
|
||||
- "{extend,test,requirements}/**/*"
|
||||
- "os.rb"
|
||||
|
||||
Naming/PredicateName:
|
||||
# We don't use Sorbet for RSpec tests so let's disable this there.
|
||||
Sorbet/BlockMethodDefinition:
|
||||
Exclude:
|
||||
- test/**/*
|
||||
|
||||
# Want to preserve our own API for these methods for now.
|
||||
Naming/PredicatePrefix:
|
||||
inherit_mode:
|
||||
merge:
|
||||
- AllowedMethods
|
||||
|
||||
@ -4,20 +4,20 @@ GEM
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
ast (2.4.3)
|
||||
base64 (0.2.0)
|
||||
benchmark (0.4.0)
|
||||
bigdecimal (3.1.9)
|
||||
base64 (0.3.0)
|
||||
benchmark (0.4.1)
|
||||
bigdecimal (3.2.2)
|
||||
bindata (2.5.1)
|
||||
coderay (1.1.3)
|
||||
concurrent-ruby (1.3.5)
|
||||
csv (3.3.4)
|
||||
csv (3.3.5)
|
||||
diff-lcs (1.6.2)
|
||||
docile (1.4.1)
|
||||
elftools (1.3.1)
|
||||
bindata (~> 2)
|
||||
erubi (1.13.1)
|
||||
hana (1.3.7)
|
||||
json (2.12.0)
|
||||
json (2.12.2)
|
||||
json_schemer (2.4.0)
|
||||
bigdecimal
|
||||
hana (~> 1.3)
|
||||
@ -32,7 +32,7 @@ GEM
|
||||
minitest (5.25.5)
|
||||
netrc (0.11.0)
|
||||
parallel (1.27.0)
|
||||
parallel_tests (5.2.0)
|
||||
parallel_tests (5.3.0)
|
||||
parallel
|
||||
parser (3.3.8.0)
|
||||
ast (~> 2.4.1)
|
||||
@ -48,37 +48,38 @@ GEM
|
||||
pycall (1.5.2)
|
||||
racc (1.8.1)
|
||||
rainbow (3.1.1)
|
||||
rbi (0.3.3)
|
||||
rbi (0.3.6)
|
||||
prism (~> 1.0)
|
||||
rbs (>= 3.4.4)
|
||||
sorbet-runtime (>= 0.5.9204)
|
||||
rbs (3.9.4)
|
||||
rbs (4.0.0.dev.4)
|
||||
logger
|
||||
prism (>= 1.3.0)
|
||||
redcarpet (3.6.1)
|
||||
regexp_parser (2.10.0)
|
||||
require-hooks (0.2.2)
|
||||
rexml (3.4.1)
|
||||
rspec (3.13.0)
|
||||
rspec (3.13.1)
|
||||
rspec-core (~> 3.13.0)
|
||||
rspec-expectations (~> 3.13.0)
|
||||
rspec-mocks (~> 3.13.0)
|
||||
rspec-core (3.13.3)
|
||||
rspec-core (3.13.5)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-expectations (3.13.4)
|
||||
rspec-expectations (3.13.5)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-github (3.0.0)
|
||||
rspec-core (~> 3.0)
|
||||
rspec-mocks (3.13.4)
|
||||
rspec-mocks (3.13.5)
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.13.0)
|
||||
rspec-retry (0.6.2)
|
||||
rspec-core (> 3.3)
|
||||
rspec-sorbet (1.9.2)
|
||||
sorbet-runtime
|
||||
rspec-support (3.13.3)
|
||||
rspec-support (3.13.4)
|
||||
rspec_junit_formatter (0.6.0)
|
||||
rspec-core (>= 2, < 4, != 2.12.0)
|
||||
rubocop (1.75.6)
|
||||
rubocop (1.77.0)
|
||||
json (~> 2.3)
|
||||
language_server-protocol (~> 3.17.0.2)
|
||||
lint_roller (~> 1.1.0)
|
||||
@ -86,10 +87,10 @@ GEM
|
||||
parser (>= 3.3.0.2)
|
||||
rainbow (>= 2.2.2, < 4.0)
|
||||
regexp_parser (>= 2.9.3, < 3.0)
|
||||
rubocop-ast (>= 1.44.0, < 2.0)
|
||||
rubocop-ast (>= 1.45.1, < 2.0)
|
||||
ruby-progressbar (~> 1.7)
|
||||
unicode-display_width (>= 2.4.0, < 4.0)
|
||||
rubocop-ast (1.44.1)
|
||||
rubocop-ast (1.45.1)
|
||||
parser (>= 3.3.7.2)
|
||||
prism (~> 1.4)
|
||||
rubocop-md (2.0.1)
|
||||
@ -102,15 +103,17 @@ GEM
|
||||
rubocop-rspec (3.6.0)
|
||||
lint_roller (~> 1.1)
|
||||
rubocop (~> 1.72, >= 1.72.1)
|
||||
rubocop-sorbet (0.10.0)
|
||||
rubocop (>= 1)
|
||||
ruby-lsp (0.23.21)
|
||||
rubocop-sorbet (0.10.5)
|
||||
lint_roller
|
||||
rubocop (>= 1.75.2)
|
||||
ruby-lsp (0.24.2)
|
||||
language_server-protocol (~> 3.17.0)
|
||||
prism (>= 1.2, < 2.0)
|
||||
rbs (>= 3, < 4)
|
||||
rbs (>= 3, < 5)
|
||||
sorbet-runtime (>= 0.5.10782)
|
||||
ruby-macho (4.1.0)
|
||||
ruby-prof (1.7.1)
|
||||
ruby-prof (1.7.2)
|
||||
base64
|
||||
ruby-progressbar (1.13.0)
|
||||
simplecov (0.22.0)
|
||||
docile (~> 1.1)
|
||||
@ -122,38 +125,40 @@ GEM
|
||||
simplecov-html (0.13.1)
|
||||
simplecov_json_formatter (0.1.4)
|
||||
simpleidn (0.2.3)
|
||||
sorbet (0.5.12117)
|
||||
sorbet-static (= 0.5.12117)
|
||||
sorbet-runtime (0.5.12117)
|
||||
sorbet-static (0.5.12117-aarch64-linux)
|
||||
sorbet-static (0.5.12117-universal-darwin)
|
||||
sorbet-static (0.5.12117-x86_64-linux)
|
||||
sorbet-static-and-runtime (0.5.12117)
|
||||
sorbet (= 0.5.12117)
|
||||
sorbet-runtime (= 0.5.12117)
|
||||
spoom (1.6.3)
|
||||
sorbet (0.5.12222)
|
||||
sorbet-static (= 0.5.12222)
|
||||
sorbet-runtime (0.5.12222)
|
||||
sorbet-static (0.5.12222-aarch64-linux)
|
||||
sorbet-static (0.5.12222-universal-darwin)
|
||||
sorbet-static (0.5.12222-x86_64-linux)
|
||||
sorbet-static-and-runtime (0.5.12222)
|
||||
sorbet (= 0.5.12222)
|
||||
sorbet-runtime (= 0.5.12222)
|
||||
spoom (1.7.4)
|
||||
erubi (>= 1.10.0)
|
||||
prism (>= 0.28.0)
|
||||
rbi (>= 0.3.3)
|
||||
rbs (>= 4.0.0.dev.4)
|
||||
rexml (>= 3.2.6)
|
||||
sorbet-static-and-runtime (>= 0.5.10187)
|
||||
thor (>= 0.19.2)
|
||||
stackprof (0.2.27)
|
||||
tapioca (0.16.11)
|
||||
tapioca (0.17.5)
|
||||
benchmark
|
||||
bundler (>= 2.2.25)
|
||||
netrc (>= 0.11.0)
|
||||
parallel (>= 1.21.0)
|
||||
rbi (~> 0.2)
|
||||
rbi (>= 0.3.1)
|
||||
require-hooks (>= 0.2.2)
|
||||
sorbet-static-and-runtime (>= 0.5.11087)
|
||||
spoom (>= 1.2.0)
|
||||
spoom (>= 1.7.0)
|
||||
thor (>= 1.2.0)
|
||||
yard-sorbet
|
||||
thor (1.3.2)
|
||||
unicode-display_width (3.1.4)
|
||||
unicode-emoji (~> 4.0, >= 4.0.4)
|
||||
unicode-emoji (4.0.4)
|
||||
vernier (1.7.1)
|
||||
vernier (1.8.0)
|
||||
warning (1.5.0)
|
||||
yard (0.9.37)
|
||||
yard-sorbet (0.9.0)
|
||||
|
||||
@ -142,7 +142,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
sig { params(names: T::Array[String], type: String, regenerate: T::Boolean).returns(T::Boolean) }
|
||||
def self.write_names_file(names, type, regenerate:)
|
||||
def self.write_names_file!(names, type, regenerate:)
|
||||
names_path = HOMEBREW_CACHE_API/"#{type}_names.txt"
|
||||
if !names_path.exist? || regenerate
|
||||
names_path.write(names.join("\n"))
|
||||
|
||||
@ -28,7 +28,7 @@ module Homebrew
|
||||
|
||||
sig { params(cask: ::Cask::Cask).returns(::Cask::Cask) }
|
||||
def self.source_download(cask)
|
||||
path = cask.ruby_source_path.to_s || "Casks/#{cask.token}.rb"
|
||||
path = cask.ruby_source_path.to_s
|
||||
sha256 = cask.ruby_source_checksum[:sha256]
|
||||
checksum = Checksum.new(sha256) if sha256
|
||||
git_head = cask.tap_git_head || "HEAD"
|
||||
@ -95,7 +95,7 @@ module Homebrew
|
||||
def self.write_names(regenerate: false)
|
||||
download_and_cache_data! unless cache.key?("casks")
|
||||
|
||||
Homebrew::API.write_names_file(all_casks.keys, "cask", regenerate:)
|
||||
Homebrew::API.write_names_file!(all_casks.keys, "cask", regenerate:)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -129,7 +129,7 @@ module Homebrew
|
||||
def self.write_names_and_aliases(regenerate: false)
|
||||
download_and_cache_data! unless cache.key?("formulae")
|
||||
|
||||
return unless Homebrew::API.write_names_file(all_formulae.keys, "formula", regenerate:)
|
||||
return unless Homebrew::API.write_names_file!(all_formulae.keys, "formula", regenerate:)
|
||||
|
||||
(HOMEBREW_CACHE_API/"formula_aliases.txt").open("w") do |file|
|
||||
all_aliases.each do |alias_name, real_name|
|
||||
|
||||
@ -91,7 +91,7 @@ class Bottle
|
||||
def fetch(verify_download_integrity: true, timeout: nil, quiet: false)
|
||||
resource.fetch(verify_download_integrity:, timeout:, quiet:)
|
||||
rescue DownloadError
|
||||
raise unless fallback_on_error
|
||||
raise unless fallback_on_error?
|
||||
|
||||
fetch_tab
|
||||
retry
|
||||
@ -121,7 +121,7 @@ class Bottle
|
||||
begin
|
||||
resource.fetch(timeout:, quiet:)
|
||||
rescue DownloadError
|
||||
raise unless fallback_on_error
|
||||
raise unless fallback_on_error?
|
||||
|
||||
retry
|
||||
rescue Resource::BottleManifest::Error
|
||||
@ -193,7 +193,7 @@ class Bottle
|
||||
specs
|
||||
end
|
||||
|
||||
def fallback_on_error
|
||||
def fallback_on_error?
|
||||
# Use the default bottle domain as a fallback mirror
|
||||
if @resource.url.start_with?(Homebrew::EnvConfig.bottle_domain) &&
|
||||
Homebrew::EnvConfig.bottle_domain != HOMEBREW_BOTTLE_DEFAULT_DOMAIN
|
||||
|
||||
@ -41,7 +41,7 @@ module Homebrew
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def mas_installed?
|
||||
@mas_installed ||= which_formula("mas")
|
||||
@mas_installed ||= which_formula?("mas")
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
@ -59,7 +59,7 @@ module Homebrew
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def whalebrew_installed?
|
||||
@whalebrew_installed ||= which_formula("whalebrew")
|
||||
@whalebrew_installed ||= which_formula?("whalebrew")
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
@ -70,7 +70,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
sig { params(name: String).returns(T::Boolean) }
|
||||
def which_formula(name)
|
||||
def which_formula?(name)
|
||||
formula = Formulary.factory(name)
|
||||
ENV["PATH"] = "#{formula.opt_bin}:#{ENV.fetch("PATH", nil)}" if formula.any_version_installed?
|
||||
which(name).present?
|
||||
|
||||
@ -18,7 +18,7 @@ module Homebrew
|
||||
Homebrew::Bundle::CaskDumper.cask_is_outdated_using_greedy?(name)
|
||||
end
|
||||
|
||||
def self.preinstall(name, no_upgrade: false, verbose: false, **options)
|
||||
def self.preinstall!(name, no_upgrade: false, verbose: false, **options)
|
||||
if installed_casks.include?(name) && !upgrading?(no_upgrade, name, options)
|
||||
puts "Skipping install of #{name} cask. It is already installed." if verbose
|
||||
return false
|
||||
@ -27,7 +27,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def self.install(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
||||
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
||||
return true unless preinstall
|
||||
|
||||
full_name = options.fetch(:full_name, name)
|
||||
|
||||
@ -37,12 +37,12 @@ module Homebrew
|
||||
if casks.any?
|
||||
args = zap ? ["--zap"] : []
|
||||
Kernel.system HOMEBREW_BREW_FILE, "uninstall", "--cask", *args, "--force", *casks
|
||||
puts "Uninstalled #{casks.size} cask#{(casks.size == 1) ? "" : "s"}"
|
||||
puts "Uninstalled #{casks.size} cask#{"s" if casks.size != 1}"
|
||||
end
|
||||
|
||||
if formulae.any?
|
||||
Kernel.system HOMEBREW_BREW_FILE, "uninstall", "--formula", "--force", *formulae
|
||||
puts "Uninstalled #{formulae.size} formula#{(formulae.size == 1) ? "" : "e"}"
|
||||
puts "Uninstalled #{formulae.size} formula#{"e" if formulae.size != 1}"
|
||||
end
|
||||
|
||||
Kernel.system HOMEBREW_BREW_FILE, "untap", *taps if taps.any?
|
||||
|
||||
@ -11,7 +11,7 @@ module Homebrew
|
||||
def self.run(global: false, file: nil, no_lock: false, no_upgrade: false, verbose: false, force: false,
|
||||
quiet: false)
|
||||
@dsl = Brewfile.read(global:, file:)
|
||||
Homebrew::Bundle::Installer.install(
|
||||
Homebrew::Bundle::Installer.install!(
|
||||
@dsl.entries,
|
||||
global:, file:, no_lock:, no_upgrade:, verbose:, force:, quiet:,
|
||||
) || exit(1)
|
||||
|
||||
@ -10,12 +10,12 @@ module Homebrew
|
||||
@pinned_formulae = nil
|
||||
end
|
||||
|
||||
def self.preinstall(name, no_upgrade: false, verbose: false, **options)
|
||||
new(name, options).preinstall(no_upgrade:, verbose:)
|
||||
def self.preinstall!(name, no_upgrade: false, verbose: false, **options)
|
||||
new(name, options).preinstall!(no_upgrade:, verbose:)
|
||||
end
|
||||
|
||||
def self.install(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
||||
new(name, options).install(preinstall:, no_upgrade:, verbose:, force:)
|
||||
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false, **options)
|
||||
new(name, options).install!(preinstall:, no_upgrade:, verbose:, force:)
|
||||
end
|
||||
|
||||
def initialize(name, options = {})
|
||||
@ -31,7 +31,7 @@ module Homebrew
|
||||
@changed = nil
|
||||
end
|
||||
|
||||
def preinstall(no_upgrade: false, verbose: false)
|
||||
def preinstall!(no_upgrade: false, verbose: false)
|
||||
if installed? && (self.class.no_upgrade_with_args?(no_upgrade, @name) || !upgradable?)
|
||||
puts "Skipping install of #{@name} formula. It is already installed." if verbose
|
||||
@changed = nil
|
||||
@ -41,7 +41,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def install(preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
def install!(preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
install_result = if preinstall
|
||||
install_change_state!(no_upgrade:, verbose:, force:)
|
||||
else
|
||||
@ -80,9 +80,9 @@ module Homebrew
|
||||
return false unless resolve_conflicts!(verbose:)
|
||||
|
||||
if installed?
|
||||
upgrade!(verbose:, force:)
|
||||
upgrade_formula!(verbose:, force:)
|
||||
else
|
||||
install!(verbose:, force:)
|
||||
install_formula!(verbose:, force:)
|
||||
end
|
||||
end
|
||||
|
||||
@ -282,7 +282,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def install!(verbose:, force:)
|
||||
def install_formula!(verbose:, force:)
|
||||
install_args = @args.dup
|
||||
install_args << "--force" << "--overwrite" if force
|
||||
install_args << "--skip-link" if @link == false
|
||||
@ -298,7 +298,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def upgrade!(verbose:, force:)
|
||||
def upgrade_formula!(verbose:, force:)
|
||||
upgrade_args = []
|
||||
upgrade_args << "--force" if force
|
||||
with_args = " with #{upgrade_args.join(" ")}" if upgrade_args.present?
|
||||
|
||||
@ -13,8 +13,8 @@ require "bundle/skipper"
|
||||
module Homebrew
|
||||
module Bundle
|
||||
module Installer
|
||||
def self.install(entries, global: false, file: nil, no_lock: false, no_upgrade: false, verbose: false,
|
||||
force: false, quiet: false)
|
||||
def self.install!(entries, global: false, file: nil, no_lock: false, no_upgrade: false, verbose: false,
|
||||
force: false, quiet: false)
|
||||
success = 0
|
||||
failure = 0
|
||||
|
||||
@ -49,7 +49,7 @@ module Homebrew
|
||||
next if cls.nil?
|
||||
next if Homebrew::Bundle::Skipper.skip? entry
|
||||
|
||||
preinstall = if cls.preinstall(*args, **options, no_upgrade:, verbose:)
|
||||
preinstall = if cls.preinstall!(*args, **options, no_upgrade:, verbose:)
|
||||
puts Formatter.success("#{verb} #{name}")
|
||||
true
|
||||
else
|
||||
@ -57,7 +57,7 @@ module Homebrew
|
||||
false
|
||||
end
|
||||
|
||||
if cls.install(*args, **options,
|
||||
if cls.install!(*args, **options,
|
||||
preinstall:, no_upgrade:, verbose:, force:)
|
||||
success += 1
|
||||
else
|
||||
|
||||
@ -11,7 +11,7 @@ module Homebrew
|
||||
@outdated_app_ids = nil
|
||||
end
|
||||
|
||||
def self.preinstall(name, id, no_upgrade: false, verbose: false)
|
||||
def self.preinstall!(name, id, no_upgrade: false, verbose: false)
|
||||
unless Bundle.mas_installed?
|
||||
puts "Installing mas. It is not currently installed." if verbose
|
||||
Bundle.brew("install", "mas", verbose:)
|
||||
@ -27,7 +27,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def self.install(name, id, preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
def self.install!(name, id, preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
return true unless preinstall
|
||||
|
||||
if app_id_installed?(id)
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
module Homebrew
|
||||
module Bundle
|
||||
module TapInstaller
|
||||
def self.preinstall(name, verbose: false, **_options)
|
||||
def self.preinstall!(name, verbose: false, **_options)
|
||||
if installed_taps.include? name
|
||||
puts "Skipping install of #{name} tap. It is already installed." if verbose
|
||||
return false
|
||||
@ -13,7 +13,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def self.install(name, preinstall: true, verbose: false, force: false, **options)
|
||||
def self.install!(name, preinstall: true, verbose: false, force: false, **options)
|
||||
return true unless preinstall
|
||||
|
||||
puts "Installing #{name} tap. It is not currently installed." if verbose
|
||||
|
||||
@ -8,7 +8,7 @@ module Homebrew
|
||||
@installed_extensions = nil
|
||||
end
|
||||
|
||||
def self.preinstall(name, no_upgrade: false, verbose: false)
|
||||
def self.preinstall!(name, no_upgrade: false, verbose: false)
|
||||
if !Bundle.vscode_installed? && Bundle.cask_installed?
|
||||
puts "Installing visual-studio-code. It is not currently installed." if verbose
|
||||
Bundle.brew("install", "--cask", "visual-studio-code", verbose:)
|
||||
@ -24,7 +24,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def self.install(name, preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
def self.install!(name, preinstall: true, no_upgrade: false, verbose: false, force: false)
|
||||
return true unless preinstall
|
||||
return true if extension_installed?(name)
|
||||
|
||||
|
||||
@ -8,7 +8,7 @@ module Homebrew
|
||||
@installed_images = nil
|
||||
end
|
||||
|
||||
def self.preinstall(name, verbose: false, **_options)
|
||||
def self.preinstall!(name, verbose: false, **_options)
|
||||
unless Bundle.whalebrew_installed?
|
||||
puts "Installing whalebrew. It is not currently installed." if verbose
|
||||
Bundle.brew("install", "--formula", "whalebrew", verbose:)
|
||||
@ -23,7 +23,7 @@ module Homebrew
|
||||
true
|
||||
end
|
||||
|
||||
def self.install(name, preinstall: true, verbose: false, force: false, **_options)
|
||||
def self.install!(name, preinstall: true, verbose: false, force: false, **_options)
|
||||
odeprecated "`brew bundle` `whalebrew` support", "using `whalebrew` directly"
|
||||
return true unless preinstall
|
||||
|
||||
|
||||
@ -189,7 +189,7 @@ on_request: true)
|
||||
when :deprecated
|
||||
opoo message_full
|
||||
when :disabled
|
||||
GitHub::Actions.puts_annotation_if_env_set(:error, message)
|
||||
GitHub::Actions.puts_annotation_if_env_set!(:error, message)
|
||||
raise CaskCannotBeInstalledError.new(@cask, message)
|
||||
end
|
||||
end
|
||||
|
||||
@ -23,7 +23,7 @@ module Cask
|
||||
require_sha: T.nilable(T::Boolean),
|
||||
).returns(T::Boolean)
|
||||
}
|
||||
def self.upgrade_casks(
|
||||
def self.upgrade_casks!(
|
||||
*casks,
|
||||
args:,
|
||||
force: false,
|
||||
@ -134,7 +134,7 @@ module Cask
|
||||
|
||||
return true if caught_exceptions.empty?
|
||||
raise MultipleCaskErrors, caught_exceptions if caught_exceptions.count > 1
|
||||
raise caught_exceptions.fetch(0) if caught_exceptions.count == 1
|
||||
raise caught_exceptions.fetch(0) if caught_exceptions.one?
|
||||
|
||||
false
|
||||
end
|
||||
|
||||
@ -194,7 +194,7 @@ class Caveats
|
||||
startup = formula.service.requires_root?
|
||||
if Utils::Service.running?(formula)
|
||||
s << "To restart #{formula.full_name} after an upgrade:"
|
||||
s << " #{startup ? "sudo " : ""}brew services restart #{formula.full_name}"
|
||||
s << " #{"sudo " if startup}brew services restart #{formula.full_name}"
|
||||
elsif startup
|
||||
s << "To start #{formula.full_name} now and restart at startup:"
|
||||
s << " sudo brew services start #{formula.full_name}"
|
||||
|
||||
@ -259,7 +259,7 @@ module Homebrew
|
||||
if !Homebrew::EnvConfig.no_install_upgrade? && installed_casks.any?
|
||||
require "cask/upgrade"
|
||||
|
||||
Cask::Upgrade.upgrade_casks(
|
||||
Cask::Upgrade.upgrade_casks!(
|
||||
*installed_casks,
|
||||
force: args.force?,
|
||||
dry_run: args.dry_run?,
|
||||
|
||||
@ -52,8 +52,8 @@ module Homebrew
|
||||
|
||||
version = Keg.new(path).version
|
||||
major_version = version.major.to_i
|
||||
minor_version = version.minor.to_i || 0
|
||||
patch_version = version.patch.to_i || 0
|
||||
minor_version = version.minor.to_i
|
||||
patch_version = version.patch.to_i
|
||||
|
||||
minor_version_range, patch_version_range = if Homebrew::EnvConfig.env_sync_strict?
|
||||
# Only create symlinks for the exact installed patch version.
|
||||
|
||||
@ -53,7 +53,7 @@ module Homebrew
|
||||
version = Keg.new(path).version
|
||||
major_version = version.major.to_i
|
||||
minor_version = version.minor.to_i
|
||||
patch_version = version.patch.to_i || 0
|
||||
patch_version = version.patch.to_i
|
||||
|
||||
patch_version_range = if Homebrew::EnvConfig.env_sync_strict?
|
||||
# Only create symlinks for the exact installed patch version.
|
||||
|
||||
@ -65,7 +65,7 @@ module Homebrew
|
||||
|
||||
sig { override.void }
|
||||
def run
|
||||
return if search_package_manager
|
||||
return if search_package_manager!
|
||||
|
||||
query = args.named.join(" ")
|
||||
string_or_regex = Search.query_regexp(query)
|
||||
@ -108,7 +108,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def search_package_manager
|
||||
def search_package_manager!
|
||||
package_manager = PACKAGE_MANAGERS.find { |name,| args.public_send(:"#{name}?") }
|
||||
return false if package_manager.nil?
|
||||
|
||||
|
||||
@ -137,8 +137,8 @@ module Homebrew
|
||||
|
||||
formulae = Homebrew::Attestation.sort_formulae_for_install(formulae) if Homebrew::Attestation.enabled?
|
||||
|
||||
upgrade_outdated_formulae(formulae) unless only_upgrade_casks
|
||||
upgrade_outdated_casks(casks) unless only_upgrade_formulae
|
||||
upgrade_outdated_formulae!(formulae) unless only_upgrade_casks
|
||||
upgrade_outdated_casks!(casks) unless only_upgrade_formulae
|
||||
|
||||
Cleanup.periodic_clean!(dry_run: args.dry_run?)
|
||||
|
||||
@ -148,7 +148,7 @@ module Homebrew
|
||||
private
|
||||
|
||||
sig { params(formulae: T::Array[Formula]).returns(T::Boolean) }
|
||||
def upgrade_outdated_formulae(formulae)
|
||||
def upgrade_outdated_formulae!(formulae)
|
||||
return false if args.cask?
|
||||
|
||||
if args.build_from_source?
|
||||
@ -280,12 +280,12 @@ module Homebrew
|
||||
end
|
||||
|
||||
sig { params(casks: T::Array[Cask::Cask]).returns(T::Boolean) }
|
||||
def upgrade_outdated_casks(casks)
|
||||
def upgrade_outdated_casks!(casks)
|
||||
return false if args.formula?
|
||||
|
||||
Install.ask_casks casks if args.ask?
|
||||
|
||||
Cask::Upgrade.upgrade_casks(
|
||||
Cask::Upgrade.upgrade_casks!(
|
||||
*casks,
|
||||
force: args.force?,
|
||||
greedy: args.greedy?,
|
||||
|
||||
@ -723,7 +723,7 @@ module Homebrew
|
||||
all_bottle = !args.no_all_checks? &&
|
||||
(!old_bottle_spec_matches || bottle.rebuild != old_bottle_spec.rebuild) &&
|
||||
tag_hashes.count > 1 &&
|
||||
tag_hashes.uniq { |tag_hash| "#{tag_hash["cellar"]}-#{tag_hash["sha256"]}" }.count == 1
|
||||
tag_hashes.uniq { |tag_hash| "#{tag_hash["cellar"]}-#{tag_hash["sha256"]}" }.one?
|
||||
|
||||
old_all_bottle = old_bottle_spec.tag?(Utils::Bottles.tag(:all))
|
||||
if !all_bottle && old_all_bottle && !args.no_all_checks?
|
||||
|
||||
@ -589,7 +589,7 @@ module Homebrew
|
||||
#{leading_spaces}resource "#{resource.name}" do
|
||||
#{leading_spaces} url "#{new_url}"#{new_mirrors.map { |m| "\n#{leading_spaces} mirror \"#{m}\"" }.join}
|
||||
#{leading_spaces} sha256 "#{new_hash}"
|
||||
#{forced_version ? "#{leading_spaces} version \"#{version}\"\n" : ""}
|
||||
#{"#{leading_spaces} version \"#{version}\"\n" if forced_version}
|
||||
#{leading_spaces} livecheck do
|
||||
#{leading_spaces} formula :parent
|
||||
#{leading_spaces} end
|
||||
|
||||
@ -180,7 +180,7 @@ module Homebrew
|
||||
|
||||
formulae_and_casks.each_with_index do |formula_or_cask, i|
|
||||
puts if i.positive?
|
||||
next if skip_ineligible_formulae(formula_or_cask)
|
||||
next if skip_ineligible_formulae!(formula_or_cask)
|
||||
|
||||
use_full_name = args.full_name? || ambiguous_names.include?(formula_or_cask)
|
||||
name = Livecheck.package_or_resource_name(formula_or_cask, full_name: use_full_name)
|
||||
@ -204,7 +204,7 @@ module Homebrew
|
||||
sig {
|
||||
params(formula_or_cask: T.any(Formula, Cask::Cask)).returns(T::Boolean)
|
||||
}
|
||||
def skip_ineligible_formulae(formula_or_cask)
|
||||
def skip_ineligible_formulae!(formula_or_cask)
|
||||
if formula_or_cask.is_a?(Formula)
|
||||
skip = formula_or_cask.disabled? || formula_or_cask.head_only?
|
||||
name = formula_or_cask.name
|
||||
|
||||
@ -587,7 +587,7 @@ module Homebrew
|
||||
EOS
|
||||
end
|
||||
|
||||
def __check_linked_brew(formula)
|
||||
def __check_linked_brew!(formula)
|
||||
formula.installed_prefixes.each do |prefix|
|
||||
prefix.find do |src|
|
||||
next if src == prefix
|
||||
|
||||
@ -341,7 +341,7 @@ class AbstractFileDownloadStrategy < AbstractDownloadStrategy
|
||||
.reject { |path| path.extname.end_with?(".incomplete") }
|
||||
|
||||
@cached_location = T.let(
|
||||
if downloads.count == 1
|
||||
if downloads.one?
|
||||
downloads.fetch(0)
|
||||
else
|
||||
HOMEBREW_CACHE/"downloads/#{url_sha256}--#{Utils.safe_filename(resolved_basename)}"
|
||||
|
||||
@ -20,11 +20,11 @@ class File
|
||||
# file.write('hello')
|
||||
# end
|
||||
sig {
|
||||
type_parameters(:out).params(
|
||||
type_parameters(:Out).params(
|
||||
file_name: T.any(Pathname, String),
|
||||
temp_dir: String,
|
||||
_block: T.proc.params(arg0: Tempfile).returns(T.type_parameter(:out)),
|
||||
).returns(T.type_parameter(:out))
|
||||
_block: T.proc.params(arg0: Tempfile).returns(T.type_parameter(:Out)),
|
||||
).returns(T.type_parameter(:Out))
|
||||
}
|
||||
def self.atomic_write(file_name, temp_dir = dirname(file_name), &_block)
|
||||
require "tempfile" unless defined?(Tempfile)
|
||||
|
||||
@ -3,18 +3,18 @@
|
||||
|
||||
class Hash
|
||||
sig {
|
||||
type_parameters(:k2).params(
|
||||
other_hash: T::Hash[T.type_parameter(:k2), T.untyped],
|
||||
type_parameters(:K2).params(
|
||||
other_hash: T::Hash[T.type_parameter(:K2), T.untyped],
|
||||
block: T.nilable(T.proc.params(k: T.untyped, v1: T.untyped, v2: T.untyped).returns(T.untyped)),
|
||||
).returns(T::Hash[T.any(Hash::K, T.type_parameter(:k2)), T.untyped])
|
||||
).returns(T::Hash[T.any(Hash::K, T.type_parameter(:K2)), T.untyped])
|
||||
}
|
||||
def deep_merge(other_hash, &block); end
|
||||
|
||||
sig {
|
||||
type_parameters(:k2).params(
|
||||
other_hash: T::Hash[T.type_parameter(:k2), T.untyped],
|
||||
type_parameters(:K2).params(
|
||||
other_hash: T::Hash[T.type_parameter(:K2), T.untyped],
|
||||
block: T.nilable(T.proc.params(k: T.untyped, v1: T.untyped, v2: T.untyped).returns(T.untyped)),
|
||||
).returns(T::Hash[T.any(Hash::K, T.type_parameter(:k2)), T.untyped])
|
||||
).returns(T::Hash[T.any(Hash::K, T.type_parameter(:K2)), T.untyped])
|
||||
}
|
||||
def deep_merge!(other_hash, &block); end
|
||||
end
|
||||
|
||||
@ -2,16 +2,16 @@
|
||||
|
||||
class Hash
|
||||
sig {
|
||||
type_parameters(:out).params(
|
||||
block: T.proc.params(o: Hash::V).returns(T.type_parameter(:out)),
|
||||
).returns(T::Hash[Hash::K, T.type_parameter(:out)])
|
||||
type_parameters(:Out).params(
|
||||
block: T.proc.params(o: Hash::V).returns(T.type_parameter(:Out)),
|
||||
).returns(T::Hash[Hash::K, T.type_parameter(:Out)])
|
||||
}
|
||||
def deep_transform_values(&block); end
|
||||
|
||||
sig {
|
||||
type_parameters(:out).params(
|
||||
block: T.proc.params(o: Hash::V).returns(T.type_parameter(:out)),
|
||||
).returns(T::Hash[Hash::K, T.type_parameter(:out)])
|
||||
type_parameters(:Out).params(
|
||||
block: T.proc.params(o: Hash::V).returns(T.type_parameter(:Out)),
|
||||
).returns(T::Hash[Hash::K, T.type_parameter(:Out)])
|
||||
}
|
||||
def deep_transform_values!(&block); end
|
||||
end
|
||||
|
||||
@ -3,16 +3,16 @@
|
||||
|
||||
class Hash
|
||||
sig {
|
||||
type_parameters(:out).params(
|
||||
block: T.proc.params(o: K).returns(T.type_parameter(:out)),
|
||||
).returns(T::Hash[T.type_parameter(:out), V])
|
||||
type_parameters(:Out).params(
|
||||
block: T.proc.params(o: K).returns(T.type_parameter(:Out)),
|
||||
).returns(T::Hash[T.type_parameter(:Out), V])
|
||||
}
|
||||
def deep_transform_keys(&block); end
|
||||
|
||||
sig {
|
||||
type_parameters(:out).params(
|
||||
block: T.proc.params(o: K).returns(T.type_parameter(:out)),
|
||||
).returns(T::Hash[T.type_parameter(:out), V])
|
||||
type_parameters(:Out).params(
|
||||
block: T.proc.params(o: K).returns(T.type_parameter(:Out)),
|
||||
).returns(T::Hash[T.type_parameter(:Out), V])
|
||||
}
|
||||
def deep_transform_keys!(&block); end
|
||||
|
||||
|
||||
@ -26,9 +26,8 @@ module Kernel
|
||||
require path
|
||||
end
|
||||
true
|
||||
rescue LoadError => e
|
||||
# we should raise on syntax errors but not if the file doesn't exist.
|
||||
raise unless e.message.include?(path)
|
||||
rescue LoadError
|
||||
false
|
||||
end
|
||||
|
||||
def ohai_title(title)
|
||||
@ -81,7 +80,7 @@ module Kernel
|
||||
sig { params(message: T.any(String, Exception)).void }
|
||||
def opoo(message)
|
||||
require "utils/github/actions"
|
||||
return if GitHub::Actions.puts_annotation_if_env_set(:warning, message.to_s)
|
||||
return if GitHub::Actions.puts_annotation_if_env_set!(:warning, message.to_s)
|
||||
|
||||
require "utils/formatter"
|
||||
|
||||
@ -107,7 +106,7 @@ module Kernel
|
||||
sig { params(message: T.any(String, Exception)).void }
|
||||
def onoe(message)
|
||||
require "utils/github/actions"
|
||||
return if GitHub::Actions.puts_annotation_if_env_set(:error, message.to_s)
|
||||
return if GitHub::Actions.puts_annotation_if_env_set!(:error, message.to_s)
|
||||
|
||||
require "utils/formatter"
|
||||
|
||||
@ -205,7 +204,7 @@ module Kernel
|
||||
disable = true if disable_for_developers && Homebrew::EnvConfig.developer?
|
||||
if disable || Homebrew.raise_deprecation_exceptions?
|
||||
require "utils/github/actions"
|
||||
GitHub::Actions.puts_annotation_if_env_set(:error, message, file:, line:)
|
||||
GitHub::Actions.puts_annotation_if_env_set!(:error, message, file:, line:)
|
||||
exception = MethodDeprecatedError.new(message)
|
||||
exception.set_backtrace(backtrace)
|
||||
raise exception
|
||||
|
||||
@ -12,12 +12,12 @@ class Keg
|
||||
|
||||
elf_files.each do |file|
|
||||
file.ensure_writable do
|
||||
change_rpath(file, old_prefix, new_prefix)
|
||||
change_rpath!(file, old_prefix, new_prefix)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def change_rpath(file, old_prefix, new_prefix)
|
||||
def change_rpath!(file, old_prefix, new_prefix)
|
||||
return false if !file.elf? || !file.dynamic_elf?
|
||||
|
||||
updated = {}
|
||||
|
||||
@ -5,7 +5,7 @@ require "requirement"
|
||||
|
||||
class XcodeRequirement < Requirement
|
||||
sig { returns(T::Boolean) }
|
||||
def xcode_installed_version
|
||||
def xcode_installed_version!
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
@ -38,7 +38,7 @@ module OS
|
||||
# conflict between what `uname` reports and the underlying `sysctl` flags,
|
||||
# since the `sysctl` flags don't change behaviour under Rosetta 2.
|
||||
def in_rosetta2?
|
||||
::Hardware::CPU.sysctl_bool("sysctl.proc_translated")
|
||||
::Hardware::CPU.sysctl_bool!("sysctl.proc_translated")
|
||||
end
|
||||
|
||||
def features
|
||||
@ -50,7 +50,7 @@ module OS
|
||||
end
|
||||
|
||||
def sse4?
|
||||
::Hardware::CPU.sysctl_bool("hw.optional.sse4_1")
|
||||
::Hardware::CPU.sysctl_bool!("hw.optional.sse4_1")
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -68,41 +68,41 @@ module Hardware
|
||||
end
|
||||
|
||||
def aes?
|
||||
sysctl_bool("hw.optional.aes")
|
||||
sysctl_bool!("hw.optional.aes")
|
||||
end
|
||||
|
||||
def altivec?
|
||||
sysctl_bool("hw.optional.altivec")
|
||||
sysctl_bool!("hw.optional.altivec")
|
||||
end
|
||||
|
||||
def avx?
|
||||
sysctl_bool("hw.optional.avx1_0")
|
||||
sysctl_bool!("hw.optional.avx1_0")
|
||||
end
|
||||
|
||||
def avx2?
|
||||
sysctl_bool("hw.optional.avx2_0")
|
||||
sysctl_bool!("hw.optional.avx2_0")
|
||||
end
|
||||
|
||||
def sse3?
|
||||
sysctl_bool("hw.optional.sse3")
|
||||
sysctl_bool!("hw.optional.sse3")
|
||||
end
|
||||
|
||||
def ssse3?
|
||||
sysctl_bool("hw.optional.supplementalsse3")
|
||||
sysctl_bool!("hw.optional.supplementalsse3")
|
||||
end
|
||||
|
||||
def sse4_2?
|
||||
sysctl_bool("hw.optional.sse4_2")
|
||||
sysctl_bool!("hw.optional.sse4_2")
|
||||
end
|
||||
|
||||
# NOTE: This is more reliable than checking `uname`. `sysctl` returns
|
||||
# the right answer even when running in Rosetta 2.
|
||||
def physical_cpu_arm64?
|
||||
sysctl_bool("hw.optional.arm64")
|
||||
sysctl_bool!("hw.optional.arm64")
|
||||
end
|
||||
|
||||
def virtualized?
|
||||
sysctl_bool("kern.hv_vmm_present")
|
||||
sysctl_bool!("kern.hv_vmm_present")
|
||||
end
|
||||
|
||||
def arm_family
|
||||
@ -173,7 +173,7 @@ module Hardware
|
||||
end
|
||||
end
|
||||
|
||||
def sysctl_bool(key)
|
||||
def sysctl_bool!(key)
|
||||
sysctl_int(key) == 1
|
||||
end
|
||||
|
||||
|
||||
@ -306,7 +306,7 @@ class FormulaInstaller
|
||||
if force?
|
||||
opoo message
|
||||
else
|
||||
GitHub::Actions.puts_annotation_if_env_set(:error, message)
|
||||
GitHub::Actions.puts_annotation_if_env_set!(:error, message)
|
||||
raise CannotInstallFormulaError, message
|
||||
end
|
||||
end
|
||||
|
||||
@ -79,6 +79,9 @@ module Formulary
|
||||
end
|
||||
|
||||
module PathnameWriteMkpath
|
||||
# TODO: migrate away from refinements here, they don't play nicely with
|
||||
# Sorbet, when we migrate to `typed: strict`
|
||||
# rubocop:todo Sorbet/BlockMethodDefinition
|
||||
refine Pathname do
|
||||
def write(content, offset = nil, **open_args)
|
||||
T.bind(self, Pathname)
|
||||
@ -89,6 +92,7 @@ module Formulary
|
||||
super
|
||||
end
|
||||
end
|
||||
# rubocop:enable Sorbet/BlockMethodDefinition
|
||||
end
|
||||
|
||||
using PathnameWriteMkpath
|
||||
@ -133,7 +137,7 @@ module Formulary
|
||||
rescue NameError => e
|
||||
class_list = mod.constants
|
||||
.map { |const_name| mod.const_get(const_name) }
|
||||
.select { |const| const.is_a?(Class) }
|
||||
.grep(Class)
|
||||
new_exception = FormulaClassUnavailableError.new(name, path, class_name, class_list)
|
||||
remove_const(namespace)
|
||||
raise new_exception, "", e.backtrace
|
||||
@ -170,7 +174,7 @@ module Formulary
|
||||
end
|
||||
|
||||
sig { params(name: String, flags: T::Array[String]).returns(T.class_of(Formula)) }
|
||||
def self.load_formula_from_api(name, flags:)
|
||||
def self.load_formula_from_api!(name, flags:)
|
||||
namespace = :"FormulaNamespaceAPI#{namespace_key(name)}"
|
||||
|
||||
mod = Module.new
|
||||
@ -264,6 +268,9 @@ module Formulary
|
||||
end
|
||||
end
|
||||
|
||||
# TODO: migrate away from this inline class here, they don't play nicely with
|
||||
# Sorbet, when we migrate to `typed: strict`
|
||||
# rubocop:todo Sorbet/BlockMethodDefinition
|
||||
klass = Class.new(::Formula) do
|
||||
@loaded_from_api = true
|
||||
|
||||
@ -431,6 +438,7 @@ module Formulary
|
||||
Checksum.new(checksum) if checksum
|
||||
end
|
||||
end
|
||||
# rubocop:enable Sorbet/BlockMethodDefinition
|
||||
|
||||
mod.const_set(class_name, klass)
|
||||
|
||||
@ -902,7 +910,7 @@ module Formulary
|
||||
private
|
||||
|
||||
def load_from_api(flags:)
|
||||
Formulary.load_formula_from_api(name, flags:)
|
||||
Formulary.load_formula_from_api!(name, flags:)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -19,6 +19,9 @@ module Ignorable
|
||||
end
|
||||
|
||||
def self.hook_raise
|
||||
# TODO: migrate away from this inline class here, they don't play nicely with
|
||||
# Sorbet, when we migrate to `typed: strict`
|
||||
# rubocop:todo Sorbet/BlockMethodDefinition
|
||||
Object.class_eval do
|
||||
alias_method :original_raise, :raise
|
||||
|
||||
@ -37,6 +40,7 @@ module Ignorable
|
||||
|
||||
alias_method :fail, :raise
|
||||
end
|
||||
# rubocop:enable Sorbet/BlockMethodDefinition
|
||||
|
||||
return unless block_given?
|
||||
|
||||
|
||||
@ -465,9 +465,7 @@ module Homebrew
|
||||
|
||||
def collect_dependencies(formulae_installer, dependants)
|
||||
formulae_dependencies = formulae_installer.flat_map do |f|
|
||||
[f.formula, f.compute_dependencies.flatten.filter do |c|
|
||||
c.is_a? Dependency
|
||||
end.flat_map(&:to_formula)]
|
||||
[f.formula, f.compute_dependencies.flatten.grep(Dependency).flat_map(&:to_formula)]
|
||||
end.flatten.uniq
|
||||
formulae_dependencies.concat(dependants.upgradeable) if dependants&.upgradeable
|
||||
formulae_dependencies.uniq
|
||||
|
||||
@ -35,7 +35,7 @@ class Keg
|
||||
end
|
||||
|
||||
sig { params(text: String).returns(T::Boolean) }
|
||||
def replace_text(text)
|
||||
def replace_text!(text)
|
||||
replacements = @replacement_map.values.to_h
|
||||
|
||||
sorted_keys = replacements.keys.sort_by do |key|
|
||||
@ -143,7 +143,7 @@ class Keg
|
||||
files.map { path.join(_1) }.group_by { |f| f.stat.ino }.each_value do |first, *rest|
|
||||
s = first.open("rb", &:read)
|
||||
|
||||
next unless relocation.replace_text(s)
|
||||
next unless relocation.replace_text!(s)
|
||||
|
||||
changed_files += [first, *rest].map { |file| file.relative_path_from(path) }
|
||||
|
||||
|
||||
@ -323,7 +323,7 @@ module Homebrew
|
||||
end
|
||||
return unless name
|
||||
|
||||
if skip_hash[:messages].is_a?(Array) && skip_hash[:messages].count.positive?
|
||||
if skip_hash[:messages].is_a?(Array) && skip_hash[:messages].any?
|
||||
# TODO: Handle multiple messages, only if needed in the future
|
||||
if skip_hash[:status] == "skipped"
|
||||
puts "#{Tty.red}#{name}#{Tty.reset}: skipped - #{skip_hash[:messages][0]}"
|
||||
|
||||
@ -12,7 +12,7 @@ class XcodeRequirement < Requirement
|
||||
|
||||
satisfy(build_env: false) do
|
||||
T.bind(self, XcodeRequirement)
|
||||
xcode_installed_version
|
||||
xcode_installed_version!
|
||||
end
|
||||
|
||||
sig { params(tags: T::Array[String]).void }
|
||||
@ -23,7 +23,7 @@ class XcodeRequirement < Requirement
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def xcode_installed_version
|
||||
def xcode_installed_version!
|
||||
return false unless MacOS::Xcode.installed?
|
||||
return true unless @version
|
||||
|
||||
|
||||
@ -228,13 +228,13 @@ module RuboCop
|
||||
rescue JSON::ParserError
|
||||
nil
|
||||
end
|
||||
next if list_contents.nil? || list_contents.count.zero?
|
||||
next if list_contents.nil? || list_contents.none?
|
||||
|
||||
@tap_style_exceptions[list_name] = list_contents
|
||||
end
|
||||
end
|
||||
|
||||
return false if @tap_style_exceptions.nil? || @tap_style_exceptions.count.zero?
|
||||
return false if @tap_style_exceptions.nil? || @tap_style_exceptions.none?
|
||||
return false unless @tap_style_exceptions.key? list
|
||||
|
||||
T.must(@tap_style_exceptions[list]).include?(formula || @formula_name)
|
||||
|
||||
@ -42,7 +42,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
# Check if formula has been found.
|
||||
def self.check(targets)
|
||||
def self.check!(targets)
|
||||
raise UsageError, "Formula(e) missing, please provide a formula name or use --all" if targets.empty?
|
||||
|
||||
true
|
||||
|
||||
@ -17,7 +17,7 @@ module Homebrew
|
||||
).void
|
||||
}
|
||||
def self.run(targets, verbose:, json:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
|
||||
output = targets.map(&:to_hash)
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ module Homebrew
|
||||
|
||||
sig { params(targets: T::Array[Services::FormulaWrapper], verbose: T::Boolean).void }
|
||||
def self.run(targets, verbose:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
Services::Cli.kill(targets, verbose:)
|
||||
end
|
||||
end
|
||||
|
||||
@ -22,7 +22,7 @@ module Homebrew
|
||||
).void
|
||||
}
|
||||
def self.run(targets, custom_plist, verbose:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
|
||||
ran = []
|
||||
started = []
|
||||
|
||||
@ -17,7 +17,7 @@ module Homebrew
|
||||
).void
|
||||
}
|
||||
def self.run(targets, custom_plist, verbose:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
Services::Cli.run(targets, custom_plist, verbose:)
|
||||
end
|
||||
end
|
||||
|
||||
@ -17,7 +17,7 @@ module Homebrew
|
||||
).void
|
||||
}
|
||||
def self.run(targets, custom_plist, verbose:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
Services::Cli.start(targets, custom_plist, verbose:)
|
||||
end
|
||||
end
|
||||
|
||||
@ -19,7 +19,7 @@ module Homebrew
|
||||
).void
|
||||
}
|
||||
def self.run(targets, verbose:, no_wait:, max_wait:, keep:)
|
||||
Services::Cli.check(targets)
|
||||
Services::Cli.check!(targets)
|
||||
Services::Cli.stop(targets, verbose:, no_wait:, max_wait:, keep:)
|
||||
end
|
||||
end
|
||||
|
||||
@ -915,14 +915,29 @@ class CSV
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# source://csv//lib/csv.rb#2507
|
||||
# source://csv//lib/csv.rb#2511
|
||||
def add_row(row); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def binmode(*args, **_arg1, &block); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv.rb#2396
|
||||
def binmode?; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def close(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def close_read(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def close_write(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def closed?(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.col_sep -> string
|
||||
#
|
||||
@ -1075,7 +1090,7 @@ class CSV
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv.rb#2432
|
||||
# source://csv//lib/csv.rb#2444
|
||||
def eof; end
|
||||
|
||||
# @return [Boolean]
|
||||
@ -1083,6 +1098,12 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2432
|
||||
def eof?; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def external_encoding(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def fcntl(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.field_size_limit -> integer or nil
|
||||
#
|
||||
@ -1095,11 +1116,17 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2176
|
||||
def field_size_limit; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def fileno(*args, **_arg1, &block); end
|
||||
|
||||
# @raise [NotImplementedError]
|
||||
#
|
||||
# source://csv//lib/csv.rb#2404
|
||||
def flock(*args); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def flush(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.force_quotes? -> true or false
|
||||
#
|
||||
@ -1113,6 +1140,9 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2307
|
||||
def force_quotes?; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def fsync(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.shift -> array, csv_row, or nil
|
||||
#
|
||||
@ -1147,7 +1177,7 @@ class CSV
|
||||
# # Raises IOError (not opened for reading)
|
||||
# csv.shift
|
||||
#
|
||||
# source://csv//lib/csv.rb#2803
|
||||
# source://csv//lib/csv.rb#2814
|
||||
def gets; end
|
||||
|
||||
# The block need not return a \String object:
|
||||
@ -1240,11 +1270,17 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2825
|
||||
def inspect; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def internal_encoding(*args, **_arg1, &block); end
|
||||
|
||||
# @raise [NotImplementedError]
|
||||
#
|
||||
# source://csv//lib/csv.rb#2409
|
||||
def ioctl(*args); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def isatty(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.liberal_parsing? -> true or false
|
||||
#
|
||||
@ -1325,6 +1361,15 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2414
|
||||
def path; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def pid(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def pos(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def pos=(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv << row -> self
|
||||
#
|
||||
@ -1376,7 +1421,7 @@ class CSV
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# source://csv//lib/csv.rb#2507
|
||||
# source://csv//lib/csv.rb#2512
|
||||
def puts(row); end
|
||||
|
||||
# :call-seq:
|
||||
@ -1458,7 +1503,7 @@ class CSV
|
||||
# # Raises IOError (not opened for reading)
|
||||
# csv.shift
|
||||
#
|
||||
# source://csv//lib/csv.rb#2803
|
||||
# source://csv//lib/csv.rb#2815
|
||||
def readline; end
|
||||
|
||||
# :call-seq:
|
||||
@ -1493,9 +1538,12 @@ class CSV
|
||||
# # Raises IOError (not opened for reading)
|
||||
# csv.read
|
||||
#
|
||||
# source://csv//lib/csv.rb#2730
|
||||
# source://csv//lib/csv.rb#2738
|
||||
def readlines; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def reopen(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.return_headers? -> true or false
|
||||
#
|
||||
@ -1523,6 +1571,9 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2154
|
||||
def row_sep; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def seek(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.shift -> array, csv_row, or nil
|
||||
#
|
||||
@ -1587,6 +1638,18 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2418
|
||||
def stat(*args); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def string(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def sync(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def sync=(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def tell(*args, **_arg1, &block); end
|
||||
|
||||
# @raise [NotImplementedError]
|
||||
#
|
||||
# source://csv//lib/csv.rb#2423
|
||||
@ -1595,6 +1658,12 @@ class CSV
|
||||
# source://csv//lib/csv.rb#2428
|
||||
def to_io; end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def truncate(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv.rb#2389
|
||||
def tty?(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# csv.unconverted_fields? -> object
|
||||
#
|
||||
@ -2500,16 +2569,6 @@ end
|
||||
# source://csv//lib/csv.rb#895
|
||||
CSV::ConverterEncoding = T.let(T.unsafe(nil), Encoding)
|
||||
|
||||
# A \Hash containing the names and \Procs for the built-in field converters.
|
||||
# See {Built-In Field Converters}[#class-CSV-label-Built-In+Field+Converters].
|
||||
#
|
||||
# This \Hash is intentionally left unfrozen, and may be extended with
|
||||
# custom field converters.
|
||||
# See {Custom Field Converters}[#class-CSV-label-Custom+Field+Converters].
|
||||
#
|
||||
# source://csv//lib/csv.rb#903
|
||||
CSV::Converters = T.let(T.unsafe(nil), Hash)
|
||||
|
||||
# A Regexp used to find and convert some common Date formats.
|
||||
#
|
||||
# source://csv//lib/csv.rb#884
|
||||
@ -2520,6 +2579,88 @@ CSV::DateMatcher = T.let(T.unsafe(nil), Regexp)
|
||||
# source://csv//lib/csv.rb#887
|
||||
CSV::DateTimeMatcher = T.let(T.unsafe(nil), Regexp)
|
||||
|
||||
# A FieldInfo Struct contains details about a field's position in the data
|
||||
# source it was read from. CSV will pass this Struct to some blocks that make
|
||||
# decisions based on field structure. See CSV.convert_fields() for an
|
||||
# example.
|
||||
#
|
||||
# <b><tt>index</tt></b>:: The zero-based index of the field in its row.
|
||||
# <b><tt>line</tt></b>:: The line of the data source this row is from.
|
||||
# <b><tt>header</tt></b>:: The header for the column, when available.
|
||||
# <b><tt>quoted?</tt></b>:: True or false, whether the original value is quoted or not.
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
class CSV::FieldInfo < ::Struct
|
||||
# Returns the value of attribute header
|
||||
#
|
||||
# @return [Object] the current value of header
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def header; end
|
||||
|
||||
# Sets the attribute header
|
||||
#
|
||||
# @param value [Object] the value to set the attribute header to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def header=(_); end
|
||||
|
||||
# Returns the value of attribute index
|
||||
#
|
||||
# @return [Object] the current value of index
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def index; end
|
||||
|
||||
# Sets the attribute index
|
||||
#
|
||||
# @param value [Object] the value to set the attribute index to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def index=(_); end
|
||||
|
||||
# Returns the value of attribute line
|
||||
#
|
||||
# @return [Object] the current value of line
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def line; end
|
||||
|
||||
# Sets the attribute line
|
||||
#
|
||||
# @param value [Object] the value to set the attribute line to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def line=(_); end
|
||||
|
||||
# Returns the value of attribute quoted?
|
||||
#
|
||||
# @return [Object] the current value of quoted?
|
||||
#
|
||||
# source://csv//lib/csv.rb#881
|
||||
def quoted?; end
|
||||
|
||||
class << self
|
||||
# source://csv//lib/csv.rb#881
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://csv//lib/csv.rb#881
|
||||
def inspect; end
|
||||
|
||||
# source://csv//lib/csv.rb#881
|
||||
def keyword_init?; end
|
||||
|
||||
# source://csv//lib/csv.rb#881
|
||||
def members; end
|
||||
|
||||
# source://csv//lib/csv.rb#881
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
|
||||
# Note: Don't use this class directly. This is an internal class.
|
||||
#
|
||||
# source://csv//lib/csv/fields_converter.rb#5
|
||||
@ -2617,7 +2758,7 @@ class CSV::MalformedCSVError < ::RuntimeError
|
||||
|
||||
# Returns the value of attribute line_number.
|
||||
#
|
||||
# source://csv//lib/csv.rb#853
|
||||
# source://csv//lib/csv.rb#854
|
||||
def lineno; end
|
||||
end
|
||||
|
||||
@ -2912,7 +3053,7 @@ CSV::Parser::STRING_SCANNER_SCAN_ACCEPT_STRING = T.let(T.unsafe(nil), TrueClass)
|
||||
# Uses StringScanner (the official strscan gem). Strscan provides lexical
|
||||
# scanning operations on a String. We inherit its object and take advantage
|
||||
# on the methods. For more information, please visit:
|
||||
# https://ruby-doc.org/stdlib-2.6.1/libdoc/strscan/rdoc/StringScanner.html
|
||||
# https://docs.ruby-lang.org/en/master/StringScanner.html
|
||||
#
|
||||
# source://csv//lib/csv/parser.rb#52
|
||||
class CSV::Parser::Scanner < ::StringScanner
|
||||
@ -2936,6 +3077,7 @@ class CSV::Parser::Scanner < ::StringScanner
|
||||
# source://csv//lib/csv/parser.rb#69
|
||||
def keep_start; end
|
||||
|
||||
# source://csv//lib/csv/parser.rb#53
|
||||
def scan_all(_arg0); end
|
||||
end
|
||||
|
||||
@ -3162,7 +3304,7 @@ class CSV::Row
|
||||
#
|
||||
# Returns +nil+ if the header does not exist.
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#203
|
||||
# source://csv//lib/csv/row.rb#215
|
||||
def [](header_or_index, minimum_index = T.unsafe(nil)); end
|
||||
|
||||
# :call-seq:
|
||||
@ -3350,9 +3492,12 @@ class CSV::Row
|
||||
# If no block is given, returns a new Enumerator:
|
||||
# row.each # => #<Enumerator: #<CSV::Row "Name":"Foo" "Name":"Bar" "Name":"Baz">:each>
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#610
|
||||
# source://csv//lib/csv/row.rb#618
|
||||
def each_pair(&block); end
|
||||
|
||||
# source://csv//lib/csv/row.rb#124
|
||||
def empty?(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# fetch(header) -> value
|
||||
# fetch(header, default) -> value
|
||||
@ -3536,7 +3681,7 @@ class CSV::Row
|
||||
#
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#279
|
||||
# source://csv//lib/csv/row.rb#285
|
||||
def header?(header); end
|
||||
|
||||
# :call-seq:
|
||||
@ -3569,7 +3714,7 @@ class CSV::Row
|
||||
#
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#279
|
||||
# source://csv//lib/csv/row.rb#282
|
||||
def include?(header); end
|
||||
|
||||
# :call-seq:
|
||||
@ -3619,9 +3764,12 @@ class CSV::Row
|
||||
#
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#279
|
||||
# source://csv//lib/csv/row.rb#283
|
||||
def key?(header); end
|
||||
|
||||
# source://csv//lib/csv/row.rb#124
|
||||
def length(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# row.has_key?(header) -> true or false
|
||||
#
|
||||
@ -3630,7 +3778,7 @@ class CSV::Row
|
||||
#
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#279
|
||||
# source://csv//lib/csv/row.rb#284
|
||||
def member?(header); end
|
||||
|
||||
# :call-seq:
|
||||
@ -3646,6 +3794,12 @@ class CSV::Row
|
||||
# source://csv//lib/csv/row.rb#410
|
||||
def push(*args); end
|
||||
|
||||
# source://csv//lib/csv/row.rb#124
|
||||
def size(*args, **_arg1, &block); end
|
||||
|
||||
# source://csv//lib/csv/row.rb#675
|
||||
def to_ary(*_arg0); end
|
||||
|
||||
# :call-seq:
|
||||
# row.to_csv -> csv_string
|
||||
#
|
||||
@ -3693,7 +3847,7 @@ class CSV::Row
|
||||
# row = table[0]
|
||||
# row.to_h # => {"Name"=>"Foo"}
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#653
|
||||
# source://csv//lib/csv/row.rb#660
|
||||
def to_hash; end
|
||||
|
||||
# :call-seq:
|
||||
@ -3705,7 +3859,7 @@ class CSV::Row
|
||||
# row = table[0]
|
||||
# row.to_csv # => "foo,0\n"
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#694
|
||||
# source://csv//lib/csv/row.rb#697
|
||||
def to_s(**options); end
|
||||
|
||||
# :call-seq:
|
||||
@ -3755,7 +3909,7 @@ class CSV::Row
|
||||
# Returns all fields if no argument given:
|
||||
# row.fields # => ["Foo", "Bar", "Baz"]
|
||||
#
|
||||
# source://csv//lib/csv/row.rb#530
|
||||
# source://csv//lib/csv/row.rb#551
|
||||
def values_at(*headers_and_or_indices); end
|
||||
|
||||
protected
|
||||
@ -4533,6 +4687,9 @@ class CSV::Table
|
||||
# source://csv//lib/csv/table.rb#930
|
||||
def each(&block); end
|
||||
|
||||
# source://csv//lib/csv/table.rb#223
|
||||
def empty?(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# table.headers -> array_of_headers
|
||||
#
|
||||
@ -4574,6 +4731,9 @@ class CSV::Table
|
||||
# source://csv//lib/csv/table.rb#1048
|
||||
def inspect; end
|
||||
|
||||
# source://csv//lib/csv/table.rb#223
|
||||
def length(*args, **_arg1, &block); end
|
||||
|
||||
# The current access mode for indexing and iteration.
|
||||
#
|
||||
# source://csv//lib/csv/table.rb#214
|
||||
@ -4598,6 +4758,9 @@ class CSV::Table
|
||||
# source://csv//lib/csv/table.rb#788
|
||||
def push(*rows); end
|
||||
|
||||
# source://csv//lib/csv/table.rb#223
|
||||
def size(*args, **_arg1, &block); end
|
||||
|
||||
# :call-seq:
|
||||
# table.to_a -> array_of_arrays
|
||||
#
|
||||
@ -4649,7 +4812,7 @@ class CSV::Table
|
||||
# Limit rows if option +limit+ is given like +2+:
|
||||
# table.to_csv(limit: 2) # => "Name,Value\nfoo,0\nbar,1\n"
|
||||
#
|
||||
# source://csv//lib/csv/table.rb#1004
|
||||
# source://csv//lib/csv/table.rb#1015
|
||||
def to_s(write_headers: T.unsafe(nil), limit: T.unsafe(nil), **options); end
|
||||
|
||||
# :call-seq:
|
||||
@ -78,36 +78,39 @@ class ParallelTests::CLI
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#189
|
||||
def any_test_failed?(test_results); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#375
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#401
|
||||
def append_test_options(options, argv); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#416
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#442
|
||||
def detailed_duration(seconds); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#390
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#416
|
||||
def execute_command_in_parallel(command, num_processes, options); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#56
|
||||
def execute_in_parallel(items, num_processes, options); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#364
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#390
|
||||
def extract_file_paths(argv); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#370
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#396
|
||||
def extract_test_options(argv); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#423
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#449
|
||||
def final_fail_message; end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#433
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#459
|
||||
def first_is_1?; end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#31
|
||||
def handle_interrupt; end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#383
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#482
|
||||
def heredoc(text, newline_padding); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#409
|
||||
def load_runner(type); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#138
|
||||
@ -128,7 +131,7 @@ class ParallelTests::CLI
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#148
|
||||
def report_results(test_results, options); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#411
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#437
|
||||
def report_time_taken(&block); end
|
||||
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#130
|
||||
@ -142,12 +145,12 @@ class ParallelTests::CLI
|
||||
|
||||
# CI systems often fail when there is no output for a long time, so simulate some output
|
||||
#
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#439
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#465
|
||||
def simulate_output_for_ci(simulate); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#429
|
||||
# source://parallel_tests//lib/parallel_tests/cli.rb#455
|
||||
def use_colors?; end
|
||||
end
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
113
Library/Homebrew/sorbet/rbi/gems/require-hooks@0.2.2.rbi
generated
Normal file
113
Library/Homebrew/sorbet/rbi/gems/require-hooks@0.2.2.rbi
generated
Normal file
@ -0,0 +1,113 @@
|
||||
# typed: true
|
||||
|
||||
# DO NOT EDIT MANUALLY
|
||||
# This is an autogenerated file for types exported from the `require-hooks` gem.
|
||||
# Please instead update this file by running `bin/tapioca gem require-hooks`.
|
||||
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#3
|
||||
module RequireHooks
|
||||
class << self
|
||||
# Define a block to wrap the code loading.
|
||||
# The return value MUST be a result of calling the passed block.
|
||||
# For example, you can use such hooks for instrumentation, debugging purposes.
|
||||
#
|
||||
# RequireHooks.around_load do |path, &block|
|
||||
# puts "Loading #{path}"
|
||||
# block.call.tap { puts "Loaded #{path}" }
|
||||
# end
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#71
|
||||
def around_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#107
|
||||
def context_for(path); end
|
||||
|
||||
# This hook should be used to manually compile byte code to be loaded by the VM.
|
||||
# The arguments are (path, source = nil), where source is only defined if transformations took place.
|
||||
# Otherwise, you MUST read the source code from the file yourself.
|
||||
#
|
||||
# The return value MUST be either nil (continue to the next hook or default behavior) or a platform-specific bytecode object (e.g., RubyVM::InstructionSequence).
|
||||
#
|
||||
# RequireHooks.hijack_load do |path, source|
|
||||
# source ||= File.read(path)
|
||||
# if defined?(RubyVM::InstructionSequence)
|
||||
# RubyVM::InstructionSequence.compile(source)
|
||||
# elsif defined?(JRUBY_VERSION)
|
||||
# JRuby.compile(source)
|
||||
# end
|
||||
# end
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#103
|
||||
def hijack_load(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
|
||||
|
||||
# Returns the value of attribute print_warnings.
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#61
|
||||
def print_warnings; end
|
||||
|
||||
# Sets the attribute print_warnings
|
||||
#
|
||||
# @param value the value to set the attribute print_warnings to.
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#61
|
||||
def print_warnings=(_arg0); end
|
||||
|
||||
# Define hooks to perform source-to-source transformations.
|
||||
# The return value MUST be either String (new source code) or nil (indicating that no transformations were performed).
|
||||
#
|
||||
# NOTE: The second argument (`source`) MAY be nil, indicating that no transformer tried to transform the source code.
|
||||
#
|
||||
#
|
||||
# RequireHooks.source_transform do |path, source|
|
||||
# end
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#85
|
||||
def source_transform(patterns: T.unsafe(nil), exclude_patterns: T.unsafe(nil), &block); end
|
||||
end
|
||||
end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#8
|
||||
class RequireHooks::Context
|
||||
# @return [Context] a new instance of Context
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#9
|
||||
def initialize(around_load, source_transform, hijack_load); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#15
|
||||
def empty?; end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#23
|
||||
def hijack?; end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#37
|
||||
def perform_source_transform(path); end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#27
|
||||
def run_around_load_callbacks(path); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://require-hooks//lib/require-hooks/api.rb#19
|
||||
def source_transform?; end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/api.rb#49
|
||||
def try_hijack_load(path, source); end
|
||||
end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/mode/load_iseq.rb#4
|
||||
module RequireHooks::LoadIseq
|
||||
# source://require-hooks//lib/require-hooks/mode/load_iseq.rb#5
|
||||
def load_iseq(path); end
|
||||
end
|
||||
|
||||
# source://require-hooks//lib/require-hooks/version.rb#4
|
||||
RequireHooks::VERSION = T.let(T.unsafe(nil), String)
|
||||
|
||||
class RubyVM::InstructionSequence
|
||||
extend ::RequireHooks::LoadIseq
|
||||
end
|
||||
File diff suppressed because it is too large
Load Diff
@ -9,75 +9,7 @@
|
||||
# in the `RSpec::Expectations` and `RSpec::Matchers` namespaces.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/english_phrasing.rb#1
|
||||
module RSpec
|
||||
class << self
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#70
|
||||
def clear_examples; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#85
|
||||
def configuration; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#49
|
||||
def configuration=(_arg0); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#97
|
||||
def configure; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#194
|
||||
def const_missing(name); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def context(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#122
|
||||
def current_example; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#128
|
||||
def current_example=(example); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#154
|
||||
def current_scope; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#134
|
||||
def current_scope=(scope); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def describe(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def example_group(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def fcontext(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def fdescribe(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#58
|
||||
def reset; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_context(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_examples(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_examples_for(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#160
|
||||
def world; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#49
|
||||
def world=(_arg0); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def xcontext(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def xdescribe(*args, &example_group_block); end
|
||||
end
|
||||
end
|
||||
module RSpec; end
|
||||
|
||||
# RSpec::Expectations provides a simple, readable API to express
|
||||
# the expected outcomes in a code example. To express an expected
|
||||
@ -164,7 +96,7 @@ class RSpec::Expectations::BlockExpectationTarget < ::RSpec::Expectations::Expec
|
||||
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#137
|
||||
def to(matcher, message = T.unsafe(nil), &block); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#142
|
||||
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#146
|
||||
def to_not(matcher, message = T.unsafe(nil), &block); end
|
||||
|
||||
private
|
||||
@ -249,12 +181,16 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockLocator < ::Struct
|
||||
# Returns the value of attribute beginning_line_number
|
||||
#
|
||||
# @return [Object] the current value of beginning_line_number
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def beginning_line_number; end
|
||||
|
||||
# Sets the attribute beginning_line_number
|
||||
#
|
||||
# @param value [Object] the value to set the attribute beginning_line_number to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def beginning_line_number=(_); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#205
|
||||
@ -266,23 +202,31 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockLocator < ::Struct
|
||||
# Returns the value of attribute method_name
|
||||
#
|
||||
# @return [Object] the current value of method_name
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def method_name; end
|
||||
|
||||
# Sets the attribute method_name
|
||||
#
|
||||
# @param value [Object] the value to set the attribute method_name to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def method_name=(_); end
|
||||
|
||||
# Returns the value of attribute source
|
||||
#
|
||||
# @return [Object] the current value of source
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def source; end
|
||||
|
||||
# Sets the attribute source
|
||||
#
|
||||
# @param value [Object] the value to set the attribute source to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def source=(_); end
|
||||
|
||||
private
|
||||
@ -308,10 +252,19 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockLocator < ::Struct
|
||||
def method_ident_node?(node); end
|
||||
|
||||
class << self
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def members; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#200
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -331,12 +284,16 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct
|
||||
# Returns the value of attribute beginning_line_number
|
||||
#
|
||||
# @return [Object] the current value of beginning_line_number
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def beginning_line_number; end
|
||||
|
||||
# Sets the attribute beginning_line_number
|
||||
#
|
||||
# @param value [Object] the value to set the attribute beginning_line_number to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def beginning_line_number=(_); end
|
||||
|
||||
# Returns the value of attribute body_tokens.
|
||||
@ -347,23 +304,31 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct
|
||||
# Returns the value of attribute method_name
|
||||
#
|
||||
# @return [Object] the current value of method_name
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def method_name; end
|
||||
|
||||
# Sets the attribute method_name
|
||||
#
|
||||
# @param value [Object] the value to set the attribute method_name to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def method_name=(_); end
|
||||
|
||||
# Returns the value of attribute source
|
||||
#
|
||||
# @return [Object] the current value of source
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def source; end
|
||||
|
||||
# Sets the attribute source
|
||||
#
|
||||
# @param value [Object] the value to set the attribute source to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def source=(_); end
|
||||
|
||||
# Returns the value of attribute state.
|
||||
@ -434,10 +399,19 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct
|
||||
def pipe_token?(token); end
|
||||
|
||||
class << self
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def members; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/expectations/block_snippet_extractor.rb#77
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -773,7 +747,7 @@ module RSpec::Expectations::ExpectationTarget::InstanceMethods
|
||||
# @return [Boolean] false if the negative expectation succeeds (else raises)
|
||||
# @see RSpec::Matchers
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#76
|
||||
# source://rspec-expectations//lib/rspec/expectations/expectation_target.rb#80
|
||||
def to_not(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end
|
||||
|
||||
private
|
||||
@ -1558,7 +1532,7 @@ module RSpec::Matchers
|
||||
# @param receiver [Object]
|
||||
# @param message [Symbol] the message to send the receiver
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_changing(*args, **_arg1, &block); end
|
||||
|
||||
# With no arg, passes if the block outputs `to_stdout` or `to_stderr`.
|
||||
@ -1591,7 +1565,7 @@ module RSpec::Matchers
|
||||
# @note `to_stdout_from_any_process` and `to_stderr_from_any_process` use Tempfiles, and
|
||||
# are thus significantly (~30x) slower than `to_stdout` and `to_stderr`.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_outputting(*args, **_arg1, &block); end
|
||||
|
||||
# With no args, matches if any error is raised.
|
||||
@ -1611,7 +1585,7 @@ module RSpec::Matchers
|
||||
#
|
||||
# expect { do_something_risky }.not_to raise_error
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_raising(*args, **_arg1, &block); end
|
||||
|
||||
# Given no argument, matches if a proc throws any Symbol.
|
||||
@ -1630,7 +1604,7 @@ module RSpec::Matchers
|
||||
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
|
||||
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_throwing(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the method called in the expect block yields, regardless
|
||||
@ -1642,7 +1616,7 @@ module RSpec::Matchers
|
||||
# @note Your expect block must accept a parameter and pass it on to
|
||||
# the method-under-test as a block.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_yielding_control(*args, **_arg1, &block); end
|
||||
|
||||
# Designed for use with methods that repeatedly yield (such as
|
||||
@ -1660,7 +1634,7 @@ module RSpec::Matchers
|
||||
# @note Your expect block must accept a parameter and pass it on to
|
||||
# the method-under-test as a block.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_yielding_successive_args(*args, **_arg1, &block); end
|
||||
|
||||
# Given no arguments, matches if the method called in the expect
|
||||
@ -1687,7 +1661,7 @@ module RSpec::Matchers
|
||||
# @note This matcher is not designed for use with methods that yield
|
||||
# multiple times.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_yielding_with_args(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the method called in the expect block yields with
|
||||
@ -1702,7 +1676,7 @@ module RSpec::Matchers
|
||||
# @note This matcher is not designed for use with methods that yield
|
||||
# multiple times.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_block_yielding_with_no_args(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual contains all of the expected regardless of order.
|
||||
@ -1716,7 +1690,7 @@ module RSpec::Matchers
|
||||
# but `=~` is not supported with `expect`.
|
||||
# @see #match_array
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_collection_containing_exactly(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value ends with the expected value(s). In the case
|
||||
@ -1729,7 +1703,7 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to end_with 4
|
||||
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_collection_ending_with(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual includes expected. This works for
|
||||
@ -1750,7 +1724,7 @@ module RSpec::Matchers
|
||||
# expect(:a => 1, :b => 2).to include(:c) # fails
|
||||
# expect(:a => 1, :b => 2).not_to include(:a => 2)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_collection_including(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value starts with the expected value(s). In the
|
||||
@ -1763,17 +1737,17 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to start_with 0
|
||||
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_collection_starting_with(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual is falsey (false or nil)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_falsey_value(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual is falsey (false or nil)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_falsy_value(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual includes expected. This works for
|
||||
@ -1794,7 +1768,7 @@ module RSpec::Matchers
|
||||
# expect(:a => 1, :b => 2).to include(:c) # fails
|
||||
# expect(:a => 1, :b => 2).not_to include(:a => 2)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_hash_including(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual.kind_of?(expected)
|
||||
@ -1804,12 +1778,12 @@ module RSpec::Matchers
|
||||
# expect(5).to be_a_kind_of(Numeric)
|
||||
# expect(5).not_to be_a_kind_of(Float)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_kind_of(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual is nil
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_nil_value(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual covers expected. This works for
|
||||
@ -1825,7 +1799,7 @@ module RSpec::Matchers
|
||||
# expect(1..10).not_to cover(11)
|
||||
# expect(1..10).not_to cover(5) # fails
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_range_covering(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value ends with the expected value(s). In the case
|
||||
@ -1838,7 +1812,7 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to end_with 4
|
||||
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_string_ending_with(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual includes expected. This works for
|
||||
@ -1859,7 +1833,7 @@ module RSpec::Matchers
|
||||
# expect(:a => 1, :b => 2).to include(:c) # fails
|
||||
# expect(:a => 1, :b => 2).not_to include(:a => 2)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_string_including(*args, **_arg1, &block); end
|
||||
|
||||
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
|
||||
@ -1892,7 +1866,7 @@ module RSpec::Matchers
|
||||
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
|
||||
# `match` could not be used there), but is no longer needed in 3.x.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_string_matching(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value starts with the expected value(s). In the
|
||||
@ -1905,12 +1879,12 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to start_with 0
|
||||
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_string_starting_with(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual is truthy (anything but false or nil)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_truthy_value(*args, **_arg1, &block); end
|
||||
|
||||
# Given true, false, or nil, will pass if actual value is true, false or
|
||||
@ -1934,7 +1908,7 @@ module RSpec::Matchers
|
||||
# expect(actual).not_to be_nil
|
||||
# expect(actual).not_to be_[arbitrary_predicate](*args)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_value(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual.between?(min, max). Works with any Comparable object,
|
||||
@ -1949,7 +1923,7 @@ module RSpec::Matchers
|
||||
# expect(11).not_to be_between(1, 10)
|
||||
# expect(10).not_to be_between(1, 10).exclusive
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_value_between(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual == expected +/- delta
|
||||
@ -1958,7 +1932,7 @@ module RSpec::Matchers
|
||||
# expect(result).to be_within(0.5).of(3.0)
|
||||
# expect(result).not_to be_within(0.5).of(3.0)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def a_value_within(*args, **_arg1, &block); end
|
||||
|
||||
# Allows multiple expectations in the provided block to fail, and then
|
||||
@ -2021,7 +1995,7 @@ module RSpec::Matchers
|
||||
# expect(results).to match_array([1, 2])
|
||||
# @see #contain_exactly
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_array_matching(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual.instance_of?(expected)
|
||||
@ -2031,7 +2005,7 @@ module RSpec::Matchers
|
||||
# expect(5).not_to be_an_instance_of(Numeric)
|
||||
# expect(5).not_to be_an_instance_of(Float)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_instance_of(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if <tt>actual == expected</tt>.
|
||||
@ -2043,7 +2017,7 @@ module RSpec::Matchers
|
||||
# expect(5).to eq(5)
|
||||
# expect(5).not_to eq(3)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_eq_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if `actual.eql?(expected)`
|
||||
@ -2055,7 +2029,7 @@ module RSpec::Matchers
|
||||
# expect(5).to eql(5)
|
||||
# expect(5).not_to eql(3)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_eql_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if <tt>actual.equal?(expected)</tt> (object identity).
|
||||
@ -2067,7 +2041,7 @@ module RSpec::Matchers
|
||||
# expect(5).to equal(5) # Integers are equal
|
||||
# expect("5").not_to equal("5") # Strings that look the same are not the same object
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_equal_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if `actual.exist?` or `actual.exists?`
|
||||
@ -2075,7 +2049,7 @@ module RSpec::Matchers
|
||||
# @example
|
||||
# expect(File).to exist("path/to/file")
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_existing(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual's attribute values match the expected attributes hash.
|
||||
@ -2091,7 +2065,7 @@ module RSpec::Matchers
|
||||
# expect(person).to have_attributes(:color => "red")
|
||||
# @note It will fail if actual doesn't respond to any of the expected attributes.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_having_attributes(*args, **_arg1, &block); end
|
||||
|
||||
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
|
||||
@ -2124,7 +2098,7 @@ module RSpec::Matchers
|
||||
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
|
||||
# `match` could not be used there), but is no longer needed in 3.x.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_matching(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the target object responds to all of the names
|
||||
@ -2133,7 +2107,7 @@ module RSpec::Matchers
|
||||
# @example
|
||||
# expect("string").to respond_to(:length)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_responding_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the submitted block returns true. Yields target to the
|
||||
@ -2151,7 +2125,7 @@ module RSpec::Matchers
|
||||
# expect(5).to satisfy("be greater than 3") { |n| n > 3 }
|
||||
# @param description [String] optional description to be used for this matcher.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def an_object_satisfying(*args, **_arg1, &block); end
|
||||
|
||||
# Given true, false, or nil, will pass if actual value is true, false or
|
||||
@ -2195,7 +2169,7 @@ module RSpec::Matchers
|
||||
|
||||
# passes if target.kind_of?(klass)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#355
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#358
|
||||
def be_an(klass); end
|
||||
|
||||
# Passes if actual.instance_of?(expected)
|
||||
@ -2230,7 +2204,7 @@ module RSpec::Matchers
|
||||
|
||||
# Passes if actual is falsey (false or nil)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def be_falsy(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual.instance_of?(expected)
|
||||
@ -2240,7 +2214,7 @@ module RSpec::Matchers
|
||||
# expect(5).not_to be_an_instance_of(Numeric)
|
||||
# expect(5).not_to be_an_instance_of(Float)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#366
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#369
|
||||
def be_instance_of(expected); end
|
||||
|
||||
# Passes if actual.kind_of?(expected)
|
||||
@ -2250,7 +2224,7 @@ module RSpec::Matchers
|
||||
# expect(5).to be_a_kind_of(Numeric)
|
||||
# expect(5).not_to be_a_kind_of(Float)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#378
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#381
|
||||
def be_kind_of(expected); end
|
||||
|
||||
# Passes if actual is nil
|
||||
@ -2437,7 +2411,7 @@ module RSpec::Matchers
|
||||
# @param receiver [Object]
|
||||
# @param message [Symbol] the message to send the receiver
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def changing(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual contains all of the expected regardless of order.
|
||||
@ -2465,7 +2439,7 @@ module RSpec::Matchers
|
||||
# but `=~` is not supported with `expect`.
|
||||
# @see #match_array
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def containing_exactly(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual covers expected. This works for
|
||||
@ -2497,7 +2471,7 @@ module RSpec::Matchers
|
||||
# expect(1..10).not_to cover(11)
|
||||
# expect(1..10).not_to cover(5) # fails
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def covering(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value ends with the expected value(s). In the case
|
||||
@ -2523,7 +2497,7 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to end_with 4
|
||||
# expect([0, 2, 3, 4, 4]).to end_with 3, 4
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def ending_with(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if <tt>actual == expected</tt>.
|
||||
@ -2547,7 +2521,7 @@ module RSpec::Matchers
|
||||
# expect(5).to eq(5)
|
||||
# expect(5).not_to eq(3)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def eq_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if `actual.eql?(expected)`
|
||||
@ -2571,7 +2545,7 @@ module RSpec::Matchers
|
||||
# expect(5).to eql(5)
|
||||
# expect(5).not_to eql(3)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def eql_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if <tt>actual.equal?(expected)</tt> (object identity).
|
||||
@ -2595,7 +2569,7 @@ module RSpec::Matchers
|
||||
# expect(5).to equal(5) # Integers are equal
|
||||
# expect("5").not_to equal("5") # Strings that look the same are not the same object
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def equal_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if `actual.exist?` or `actual.exists?`
|
||||
@ -2611,7 +2585,7 @@ module RSpec::Matchers
|
||||
# @example
|
||||
# expect(File).to exist("path/to/file")
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def existing(*args, **_arg1, &block); end
|
||||
|
||||
# Supports `expect(actual).to matcher` syntax by wrapping `actual` in an
|
||||
@ -2624,7 +2598,7 @@ module RSpec::Matchers
|
||||
# @see Expectations::ExpectationTarget#to
|
||||
# @see Expectations::ExpectationTarget#not_to
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/expectations/syntax.rb#72
|
||||
# source://rspec-expectations//lib/rspec/expectations/configuration.rb#48
|
||||
def expect(value = T.unsafe(nil), &block); end
|
||||
|
||||
# Passes if actual's attribute values match the expected attributes hash.
|
||||
@ -2656,7 +2630,7 @@ module RSpec::Matchers
|
||||
# expect(person).to have_attributes(:color => "red")
|
||||
# @note It will fail if actual doesn't respond to any of the expected attributes.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def having_attributes(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual includes expected. This works for
|
||||
@ -2698,7 +2672,7 @@ module RSpec::Matchers
|
||||
# expect(:a => 1, :b => 2).to include(:c) # fails
|
||||
# expect(:a => 1, :b => 2).not_to include(:a => 2)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def including(*args, **_arg1, &block); end
|
||||
|
||||
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
|
||||
@ -2777,7 +2751,7 @@ module RSpec::Matchers
|
||||
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
|
||||
# `match` could not be used there), but is no longer needed in 3.x.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def match_regex(*args, **_arg1, &block); end
|
||||
|
||||
# Given a `Regexp` or `String`, passes if `actual.match(pattern)`
|
||||
@ -2810,7 +2784,7 @@ module RSpec::Matchers
|
||||
# matchers (due to how the custom matcher DSL was evaluated in 2.x,
|
||||
# `match` could not be used there), but is no longer needed in 3.x.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def matching(*args, **_arg1, &block); end
|
||||
|
||||
# With no arg, passes if the block outputs `to_stdout` or `to_stderr`.
|
||||
@ -2883,7 +2857,7 @@ module RSpec::Matchers
|
||||
#
|
||||
# expect { do_something_risky }.not_to raise_error
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#773
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#776
|
||||
def raise_exception(error = T.unsafe(nil), message = T.unsafe(nil), &block); end
|
||||
|
||||
# With no args, matches if any error is raised.
|
||||
@ -2903,7 +2877,7 @@ module RSpec::Matchers
|
||||
#
|
||||
# expect { do_something_risky }.not_to raise_error
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def raising(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the target object responds to all of the names
|
||||
@ -2921,7 +2895,7 @@ module RSpec::Matchers
|
||||
# @example
|
||||
# expect("string").to respond_to(:length)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def responding_to(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the submitted block returns true. Yields target to the
|
||||
@ -2957,7 +2931,7 @@ module RSpec::Matchers
|
||||
# expect(5).to satisfy("be greater than 3") { |n| n > 3 }
|
||||
# @param description [String] optional description to be used for this matcher.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def satisfying(*args, **_arg1, &block); end
|
||||
|
||||
# Matches if the actual value starts with the expected value(s). In the
|
||||
@ -2983,7 +2957,7 @@ module RSpec::Matchers
|
||||
# expect([0, 1, 2, 3, 4]).to start_with 0
|
||||
# expect([0, 2, 3, 4, 4]).to start_with 0, 1
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def starting_with(*args, **_arg1, &block); end
|
||||
|
||||
# Given no argument, matches if a proc throws any Symbol.
|
||||
@ -3021,7 +2995,7 @@ module RSpec::Matchers
|
||||
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky)
|
||||
# expect { do_something_risky }.not_to throw_symbol(:that_was_risky, 'culprit')
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def throwing(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if actual == expected +/- delta
|
||||
@ -3030,7 +3004,7 @@ module RSpec::Matchers
|
||||
# expect(result).to be_within(0.5).of(3.0)
|
||||
# expect(result).not_to be_within(0.5).of(3.0)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def within(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the method called in the expect block yields, regardless
|
||||
@ -3114,7 +3088,7 @@ module RSpec::Matchers
|
||||
# @note Your expect block must accept a parameter and pass it on to
|
||||
# the method-under-test as a block.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def yielding_control(*args, **_arg1, &block); end
|
||||
|
||||
# Designed for use with methods that repeatedly yield (such as
|
||||
@ -3132,7 +3106,7 @@ module RSpec::Matchers
|
||||
# @note Your expect block must accept a parameter and pass it on to
|
||||
# the method-under-test as a block.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def yielding_successive_args(*args, **_arg1, &block); end
|
||||
|
||||
# Given no arguments, matches if the method called in the expect
|
||||
@ -3159,7 +3133,7 @@ module RSpec::Matchers
|
||||
# @note This matcher is not designed for use with methods that yield
|
||||
# multiple times.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def yielding_with_args(*args, **_arg1, &block); end
|
||||
|
||||
# Passes if the method called in the expect block yields with
|
||||
@ -3174,7 +3148,7 @@ module RSpec::Matchers
|
||||
# @note This matcher is not designed for use with methods that yield
|
||||
# multiple times.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers.rb#251
|
||||
def yielding_with_no_args(*args, **_arg1, &block); end
|
||||
|
||||
private
|
||||
@ -3693,7 +3667,7 @@ module RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting
|
||||
#
|
||||
# @api private
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#138
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#141
|
||||
def improve_hash_formatting(inspect_string); end
|
||||
end
|
||||
end
|
||||
@ -3731,7 +3705,7 @@ module RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
|
||||
# @param _value [String]
|
||||
# @return [nil] nil as the curent Ruby version does not support String encoding
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#172
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#186
|
||||
def format_encoding(value); end
|
||||
|
||||
# :nocov:
|
||||
@ -3739,7 +3713,7 @@ module RSpec::Matchers::BuiltIn::BaseMatcher::StringEncodingFormatting
|
||||
# @api private
|
||||
# @return [Boolean] False always as the curent Ruby version does not support String encoding
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#153
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/base_matcher.rb#165
|
||||
def string_encoding_differs?; end
|
||||
end
|
||||
end
|
||||
@ -5074,45 +5048,61 @@ class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::Solution < ::
|
||||
# Returns the value of attribute indeterminate_actual_indexes
|
||||
#
|
||||
# @return [Object] the current value of indeterminate_actual_indexes
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def indeterminate_actual_indexes; end
|
||||
|
||||
# Sets the attribute indeterminate_actual_indexes
|
||||
#
|
||||
# @param value [Object] the value to set the attribute indeterminate_actual_indexes to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def indeterminate_actual_indexes=(_); end
|
||||
|
||||
# Returns the value of attribute indeterminate_expected_indexes
|
||||
#
|
||||
# @return [Object] the current value of indeterminate_expected_indexes
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def indeterminate_expected_indexes; end
|
||||
|
||||
# Sets the attribute indeterminate_expected_indexes
|
||||
#
|
||||
# @param value [Object] the value to set the attribute indeterminate_expected_indexes to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def indeterminate_expected_indexes=(_); end
|
||||
|
||||
# Returns the value of attribute unmatched_actual_indexes
|
||||
#
|
||||
# @return [Object] the current value of unmatched_actual_indexes
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def unmatched_actual_indexes; end
|
||||
|
||||
# Sets the attribute unmatched_actual_indexes
|
||||
#
|
||||
# @param value [Object] the value to set the attribute unmatched_actual_indexes to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def unmatched_actual_indexes=(_); end
|
||||
|
||||
# Returns the value of attribute unmatched_expected_indexes
|
||||
#
|
||||
# @return [Object] the current value of unmatched_expected_indexes
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def unmatched_expected_indexes; end
|
||||
|
||||
# Sets the attribute unmatched_expected_indexes
|
||||
#
|
||||
# @param value [Object] the value to set the attribute unmatched_expected_indexes to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def unmatched_expected_indexes=(_); end
|
||||
|
||||
# @api private
|
||||
@ -5127,10 +5117,19 @@ class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::Solution < ::
|
||||
def worse_than?(other); end
|
||||
|
||||
class << self
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def members; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/contain_exactly.rb#190
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -6510,7 +6509,7 @@ class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatc
|
||||
# @example
|
||||
# expect(obj).to respond_to(:message).with_any_keywords
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#48
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#52
|
||||
def and_any_keywords; end
|
||||
|
||||
# Specifies keyword arguments, if any.
|
||||
@ -6521,7 +6520,7 @@ class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatc
|
||||
# @example with an expected number of arguments
|
||||
# expect(obj).to respond_to(:message).with(3).arguments.and_keywords(:color, :shape)
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#36
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#40
|
||||
def and_keywords(*keywords); end
|
||||
|
||||
# Specifies that the number of arguments has no upper limit, i.e. the
|
||||
@ -6531,7 +6530,7 @@ class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatc
|
||||
# @example
|
||||
# expect(obj).to respond_to(:message).with_unlimited_arguments
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#60
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#64
|
||||
def and_unlimited_arguments; end
|
||||
|
||||
# No-op. Intended to be used as syntactic sugar when using `with`.
|
||||
@ -6549,7 +6548,7 @@ class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatc
|
||||
# @example
|
||||
# expect(obj).to respond_to(:message).with(3).arguments
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#71
|
||||
# source://rspec-expectations//lib/rspec/matchers/built_in/respond_to.rb#74
|
||||
def arguments; end
|
||||
|
||||
# @api private
|
||||
@ -7372,7 +7371,7 @@ module RSpec::Matchers::Composable
|
||||
# @note The negative form (`expect(...).not_to matcher.and other`)
|
||||
# is not supported at this time.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#22
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#25
|
||||
def &(matcher); end
|
||||
|
||||
# Delegates to `#matches?`. Allows matchers to be used in composable
|
||||
@ -7425,7 +7424,7 @@ module RSpec::Matchers::Composable
|
||||
# @note The negative form (`expect(...).not_to matcher.or other`)
|
||||
# is not supported at this time.
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#38
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#41
|
||||
def |(matcher); end
|
||||
|
||||
private
|
||||
@ -7522,7 +7521,7 @@ module RSpec::Matchers::Composable
|
||||
# @api private
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#142
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#154
|
||||
def should_enumerate?(item); end
|
||||
|
||||
# Transforms the given data structure (typically a hash or array)
|
||||
@ -7538,13 +7537,13 @@ module RSpec::Matchers::Composable
|
||||
#
|
||||
# @api public
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#98
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#154
|
||||
def surface_descriptions_in(item); end
|
||||
|
||||
# @api private
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#147
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#154
|
||||
def unreadable_io?(object); end
|
||||
end
|
||||
end
|
||||
@ -7565,12 +7564,16 @@ class RSpec::Matchers::Composable::DescribableItem < ::Struct
|
||||
# Returns the value of attribute item
|
||||
#
|
||||
# @return [Object] the current value of item
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def item; end
|
||||
|
||||
# Sets the attribute item
|
||||
#
|
||||
# @param value [Object] the value to set the attribute item to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def item=(_); end
|
||||
|
||||
# A pretty printed version of the item description.
|
||||
@ -7581,10 +7584,19 @@ class RSpec::Matchers::Composable::DescribableItem < ::Struct
|
||||
def pretty_print(pp); end
|
||||
|
||||
class << self
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def members; end
|
||||
|
||||
# source://rspec-expectations//lib/rspec/matchers/composable.rb#158
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -7659,7 +7671,7 @@ module RSpec::Matchers::DSL
|
||||
# When args are passed to your matcher, they will be yielded here,
|
||||
# usually representing the expected value(s).
|
||||
#
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#73
|
||||
# source://rspec-expectations//lib/rspec/matchers/dsl.rb#79
|
||||
def matcher(name, &declarations); end
|
||||
|
||||
private
|
||||
@ -8,74 +8,6 @@
|
||||
# source://rspec-support//lib/rspec/support.rb#3
|
||||
module RSpec
|
||||
extend ::RSpec::Support::Warnings
|
||||
|
||||
class << self
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#70
|
||||
def clear_examples; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#85
|
||||
def configuration; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#49
|
||||
def configuration=(_arg0); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#97
|
||||
def configure; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#194
|
||||
def const_missing(name); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def context(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#122
|
||||
def current_example; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#128
|
||||
def current_example=(example); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#154
|
||||
def current_scope; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#134
|
||||
def current_scope=(scope); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def describe(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def example_group(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def fcontext(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def fdescribe(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#58
|
||||
def reset; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_context(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_examples(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/shared_example_group.rb#110
|
||||
def shared_examples_for(name, *args, &block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#160
|
||||
def world; end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core.rb#49
|
||||
def world=(_arg0); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def xcontext(*args, &example_group_block); end
|
||||
|
||||
# source://rspec-core/3.13.3/lib/rspec/core/dsl.rb#42
|
||||
def xdescribe(*args, &example_group_block); end
|
||||
end
|
||||
end
|
||||
|
||||
# Consistent implementation for "cleaning" the caller method to strip out
|
||||
@ -185,18 +117,6 @@ module RSpec::Support
|
||||
# source://rspec-support//lib/rspec/support/matcher_definition.rb#16
|
||||
def register_matcher_definition(&block); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support.rb#25
|
||||
def require_rspec_core(f); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support.rb#25
|
||||
def require_rspec_expectations(f); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support.rb#25
|
||||
def require_rspec_matchers(f); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support.rb#25
|
||||
def require_rspec_mocks(f); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support.rb#25
|
||||
def require_rspec_support(f); end
|
||||
|
||||
@ -467,7 +387,7 @@ class RSpec::Support::EncodedString
|
||||
# source://rspec-support//lib/rspec/support/encoded_string.rb#46
|
||||
def to_s; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/encoded_string.rb#46
|
||||
# source://rspec-support//lib/rspec/support/encoded_string.rb#49
|
||||
def to_str; end
|
||||
|
||||
private
|
||||
@ -1055,12 +975,16 @@ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
|
||||
# Returns the value of attribute formatter
|
||||
#
|
||||
# @return [Object] the current value of formatter
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def formatter; end
|
||||
|
||||
# Sets the attribute formatter
|
||||
#
|
||||
# @param value [Object] the value to set the attribute formatter to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def formatter=(_); end
|
||||
|
||||
# @api private
|
||||
@ -1072,12 +996,16 @@ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
|
||||
# Returns the value of attribute object
|
||||
#
|
||||
# @return [Object] the current value of object
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def object; end
|
||||
|
||||
# Sets the attribute object
|
||||
#
|
||||
# @param value [Object] the value to set the attribute object to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def object=(_); end
|
||||
|
||||
# @api private
|
||||
@ -1086,6 +1014,7 @@ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
|
||||
def pretty_print(pp); end
|
||||
|
||||
class << self
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def [](*_arg0); end
|
||||
|
||||
# @api private
|
||||
@ -1095,9 +1024,16 @@ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#130
|
||||
def can_inspect?(_object); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def members; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#129
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -1209,19 +1145,32 @@ class RSpec::Support::ObjectFormatter::InspectableItem < ::Struct
|
||||
# Returns the value of attribute text
|
||||
#
|
||||
# @return [Object] the current value of text
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def text; end
|
||||
|
||||
# Sets the attribute text
|
||||
#
|
||||
# @param value [Object] the value to set the attribute text to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def text=(_); end
|
||||
|
||||
class << self
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def inspect; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def members; end
|
||||
|
||||
# source://rspec-support//lib/rspec/support/object_formatter.rb#119
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
File diff suppressed because it is too large
Load Diff
@ -381,19 +381,32 @@ class RuboCop::CLI::Command::ShowCops::ExactMatcher < ::Struct
|
||||
# Returns the value of attribute pattern
|
||||
#
|
||||
# @return [Object] the current value of pattern
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def pattern; end
|
||||
|
||||
# Sets the attribute pattern
|
||||
#
|
||||
# @param value [Object] the value to set the attribute pattern to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def pattern=(_); end
|
||||
|
||||
class << self
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def inspect; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def members; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#12
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -408,19 +421,32 @@ class RuboCop::CLI::Command::ShowCops::WildcardMatcher < ::Struct
|
||||
# Returns the value of attribute pattern
|
||||
#
|
||||
# @return [Object] the current value of pattern
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def pattern; end
|
||||
|
||||
# Sets the attribute pattern
|
||||
#
|
||||
# @param value [Object] the value to set the attribute pattern to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def pattern=(_); end
|
||||
|
||||
class << self
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def inspect; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def members; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cli/command/show_cops.rb#18
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -603,10 +629,10 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#31
|
||||
def initialize(hash = T.unsafe(nil), loaded_path = T.unsafe(nil)); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def [](*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def []=(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# @return [Boolean]
|
||||
@ -650,13 +676,13 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#200
|
||||
def cop_enabled?(name); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def delete(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#139
|
||||
def deprecation_check; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def dig(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# @return [Boolean]
|
||||
@ -664,10 +690,10 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#204
|
||||
def disabled_new_cops?; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def each(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def each_key(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# @return [Boolean]
|
||||
@ -675,7 +701,7 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#208
|
||||
def enabled_new_cops?; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def fetch(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# @return [Boolean]
|
||||
@ -737,10 +763,10 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#110
|
||||
def internal?; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def key?(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def keys(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#81
|
||||
@ -757,10 +783,10 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#115
|
||||
def make_excludes_absolute; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def map(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def merge(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#293
|
||||
@ -786,7 +812,7 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#253
|
||||
def possibly_include_hidden?; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def replace(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#105
|
||||
@ -803,22 +829,22 @@ class RuboCop::Config
|
||||
# source://rubocop//lib/rubocop/config.rb#297
|
||||
def target_rails_version; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#99
|
||||
def target_ruby_version(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def to_h(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def to_hash(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#101
|
||||
def to_s; end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#97
|
||||
def transform_values(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config.rb#99
|
||||
def validate(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#92
|
||||
@ -863,30 +889,47 @@ class RuboCop::Config::CopConfig < ::Struct
|
||||
# Returns the value of attribute metadata
|
||||
#
|
||||
# @return [Object] the current value of metadata
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def metadata; end
|
||||
|
||||
# Sets the attribute metadata
|
||||
#
|
||||
# @param value [Object] the value to set the attribute metadata to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def metadata=(_); end
|
||||
|
||||
# Returns the value of attribute name
|
||||
#
|
||||
# @return [Object] the current value of name
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def name; end
|
||||
|
||||
# Sets the attribute name
|
||||
#
|
||||
# @param value [Object] the value to set the attribute name to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def name=(_); end
|
||||
|
||||
class << self
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def inspect; end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def members; end
|
||||
|
||||
# source://rubocop//lib/rubocop/config.rb#17
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -1014,7 +1057,7 @@ class RuboCop::ConfigLoader
|
||||
|
||||
# Returns the value of attribute debug.
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config_loader.rb#33
|
||||
# source://rubocop//lib/rubocop/config_loader.rb#38
|
||||
def debug?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/config_loader.rb#162
|
||||
@ -1065,7 +1108,7 @@ class RuboCop::ConfigLoader
|
||||
|
||||
# Returns the value of attribute ignore_parent_exclusion.
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config_loader.rb#33
|
||||
# source://rubocop//lib/rubocop/config_loader.rb#39
|
||||
def ignore_parent_exclusion?; end
|
||||
|
||||
# Returns the value of attribute ignore_unrecognized_cops.
|
||||
@ -1851,7 +1894,7 @@ class RuboCop::ConfigStore
|
||||
|
||||
# Returns the value of attribute validated.
|
||||
#
|
||||
# source://rubocop//lib/rubocop/config_store.rb#7
|
||||
# source://rubocop//lib/rubocop/config_store.rb#8
|
||||
def validated?; end
|
||||
end
|
||||
|
||||
@ -1863,10 +1906,10 @@ class RuboCop::ConfigValidator
|
||||
# source://rubocop//lib/rubocop/config_validator.rb#28
|
||||
def initialize(config); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config_validator.rb#26
|
||||
def for_all_cops(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop-ast/1.44.1/lib/rubocop/ast/utilities/simple_forwardable.rb#19
|
||||
# source://rubocop//lib/rubocop/config_validator.rb#26
|
||||
def smart_loaded_path(*_arg0, **_arg1, &_arg2); end
|
||||
|
||||
# source://rubocop//lib/rubocop/config_validator.rb#65
|
||||
@ -2082,19 +2125,32 @@ module RuboCop::Cop::AutocorrectLogic
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#51
|
||||
def disable_offense(offense_range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#135
|
||||
def disable_offense_at_end_of_line(range, eol_comment); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#139
|
||||
def disable_offense_at_end_of_line(range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#147
|
||||
def disable_offense_before_and_after(range_by_lines); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#77
|
||||
def disable_offense_with_eol_or_surround_comment(range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#96
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#143
|
||||
def eol_comment; end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#85
|
||||
def eol_comment_would_be_inside_literal?(offense_range, literal_range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#100
|
||||
def heredoc_range(node); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#131
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#92
|
||||
def line_with_eol_comment_too_long?(range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#135
|
||||
def max_line_length; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#63
|
||||
@ -2102,36 +2158,31 @@ module RuboCop::Cop::AutocorrectLogic
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#108
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#112
|
||||
def multiline_string?(node); end
|
||||
|
||||
# Expand the given range to include all of any lines it covers. Does not
|
||||
# include newline at end of the last line.
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#121
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#125
|
||||
def range_by_lines(range); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#112
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#116
|
||||
def range_of_first_line(range); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#88
|
||||
def range_overlaps_offense?(offense_range, range); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#104
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#108
|
||||
def string_continuation?(node); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#92
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#96
|
||||
def surrounding_heredoc?(node); end
|
||||
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#100
|
||||
# source://rubocop//lib/rubocop/cop/autocorrect_logic.rb#104
|
||||
def surrounding_percent_array?(node); end
|
||||
end
|
||||
|
||||
@ -2246,7 +2297,7 @@ class RuboCop::Cop::Base
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#183
|
||||
def message(_range = T.unsafe(nil)); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#238
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#242
|
||||
def name; end
|
||||
|
||||
# @deprecated Make potential errors with previous API more obvious
|
||||
@ -2520,52 +2571,77 @@ class RuboCop::Cop::Base::InvestigationReport < ::Struct
|
||||
# Returns the value of attribute cop
|
||||
#
|
||||
# @return [Object] the current value of cop
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def cop; end
|
||||
|
||||
# Sets the attribute cop
|
||||
#
|
||||
# @param value [Object] the value to set the attribute cop to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def cop=(_); end
|
||||
|
||||
# Returns the value of attribute corrector
|
||||
#
|
||||
# @return [Object] the current value of corrector
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def corrector; end
|
||||
|
||||
# Sets the attribute corrector
|
||||
#
|
||||
# @param value [Object] the value to set the attribute corrector to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def corrector=(_); end
|
||||
|
||||
# Returns the value of attribute offenses
|
||||
#
|
||||
# @return [Object] the current value of offenses
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def offenses; end
|
||||
|
||||
# Sets the attribute offenses
|
||||
#
|
||||
# @param value [Object] the value to set the attribute offenses to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def offenses=(_); end
|
||||
|
||||
# Returns the value of attribute processed_source
|
||||
#
|
||||
# @return [Object] the current value of processed_source
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def processed_source; end
|
||||
|
||||
# Sets the attribute processed_source
|
||||
#
|
||||
# @param value [Object] the value to set the attribute processed_source to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def processed_source=(_); end
|
||||
|
||||
class << self
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def inspect; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def members; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/base.rb#48
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -2735,7 +2811,7 @@ class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter
|
||||
|
||||
# Legacy
|
||||
#
|
||||
# source://parser/3.3.8.0/lib/parser/source/tree_rewriter.rb#252
|
||||
# source://rubocop//lib/rubocop/cop/corrector.rb#45
|
||||
def rewrite; end
|
||||
|
||||
# Swaps sources at the given ranges.
|
||||
@ -2785,6 +2861,8 @@ RuboCop::Cop::Gemspec::AddRuntimeDependency::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Gemspec::AddRuntimeDependency::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Gemspec::AttributeAssignment::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Gemspec::DependencyVersion::ADD_DEPENDENCY_METHODS = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Gemspec::DependencyVersion::FORBIDDEN_MSG = T.let(T.unsafe(nil), String)
|
||||
@ -3343,6 +3421,8 @@ RuboCop::Cop::Lint::FloatComparison::FLOAT_INSTANCE_METHODS = T.let(T.unsafe(nil
|
||||
|
||||
RuboCop::Cop::Lint::FloatComparison::FLOAT_RETURNING_METHODS = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Lint::FloatComparison::MSG_CASE = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::FloatComparison::MSG_EQUALITY = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::FloatComparison::MSG_INEQUALITY = T.let(T.unsafe(nil), String)
|
||||
@ -3739,6 +3819,10 @@ RuboCop::Cop::Lint::UselessAssignment::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessConstantScoping::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessDefaultValueArgument::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessDefaultValueArgument::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Lint::UselessDefined::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessDefined::TYPES = T.let(T.unsafe(nil), Hash)
|
||||
@ -3751,6 +3835,10 @@ RuboCop::Cop::Lint::UselessNumericOperation::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessNumericOperation::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Lint::UselessOr::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessOr::TRUTHY_RETURN_VALUE_METHODS = T.let(T.unsafe(nil), Set)
|
||||
|
||||
RuboCop::Cop::Lint::UselessRescue::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Lint::UselessRuby2Keywords::MSG = T.let(T.unsafe(nil), String)
|
||||
@ -3910,6 +3998,10 @@ RuboCop::Cop::Naming::MethodName::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Naming::MethodName::MSG_FORBIDDEN = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Naming::PredicateMethod::MSG_NON_PREDICATE = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Naming::PredicateMethod::MSG_PREDICATE = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Naming::RescuedExceptionsVariableName::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Naming::VariableName::MSG = T.let(T.unsafe(nil), String)
|
||||
@ -4003,7 +4095,7 @@ class RuboCop::Cop::Offense
|
||||
# @api public
|
||||
# @return [Boolean] returns `true` if two offenses contain same attributes
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#210
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#216
|
||||
def eql?(other); end
|
||||
|
||||
# @api private
|
||||
@ -4091,23 +4183,31 @@ class RuboCop::Cop::Offense::PseudoSourceRange < ::Struct
|
||||
# Returns the value of attribute begin_pos
|
||||
#
|
||||
# @return [Object] the current value of begin_pos
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def begin_pos; end
|
||||
|
||||
# Sets the attribute begin_pos
|
||||
#
|
||||
# @param value [Object] the value to set the attribute begin_pos to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def begin_pos=(_); end
|
||||
|
||||
# Returns the value of attribute column
|
||||
#
|
||||
# @return [Object] the current value of column
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def column; end
|
||||
|
||||
# Sets the attribute column
|
||||
#
|
||||
# @param value [Object] the value to set the attribute column to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def column=(_); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#69
|
||||
@ -4116,41 +4216,55 @@ class RuboCop::Cop::Offense::PseudoSourceRange < ::Struct
|
||||
# Returns the value of attribute end_pos
|
||||
#
|
||||
# @return [Object] the current value of end_pos
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def end_pos; end
|
||||
|
||||
# Sets the attribute end_pos
|
||||
#
|
||||
# @param value [Object] the value to set the attribute end_pos to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def end_pos=(_); end
|
||||
|
||||
# Returns the value of attribute line
|
||||
#
|
||||
# @return [Object] the current value of line
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#65
|
||||
def first_line; end
|
||||
|
||||
# Returns the value of attribute column
|
||||
#
|
||||
# @return [Object] the current value of column
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#67
|
||||
def last_column; end
|
||||
|
||||
# Returns the value of attribute line
|
||||
#
|
||||
# @return [Object] the current value of line
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#66
|
||||
def last_line; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#73
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#76
|
||||
def length; end
|
||||
|
||||
# Returns the value of attribute line
|
||||
#
|
||||
# @return [Object] the current value of line
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def line; end
|
||||
|
||||
# Sets the attribute line
|
||||
#
|
||||
# @param value [Object] the value to set the attribute line to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def line=(_); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#73
|
||||
@ -4159,19 +4273,32 @@ class RuboCop::Cop::Offense::PseudoSourceRange < ::Struct
|
||||
# Returns the value of attribute source_line
|
||||
#
|
||||
# @return [Object] the current value of source_line
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def source_line; end
|
||||
|
||||
# Sets the attribute source_line
|
||||
#
|
||||
# @param value [Object] the value to set the attribute source_line to.
|
||||
# @return [Object] the newly set value
|
||||
#
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def source_line=(_); end
|
||||
|
||||
class << self
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def [](*_arg0); end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def inspect; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def keyword_init?; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def members; end
|
||||
|
||||
# source://rubocop//lib/rubocop/cop/offense.rb#63
|
||||
def new(*_arg0); end
|
||||
end
|
||||
end
|
||||
@ -4622,6 +4749,12 @@ RuboCop::Cop::Style::CollectionCompact::TO_ENUM_METHODS = T.let(T.unsafe(nil), A
|
||||
|
||||
RuboCop::Cop::Style::CollectionMethods::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::CollectionQuerying::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::CollectionQuerying::REPLACEMENTS = T.let(T.unsafe(nil), Hash)
|
||||
|
||||
RuboCop::Cop::Style::CollectionQuerying::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Style::ColonMethodCall::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ColonMethodDefinition::MSG = T.let(T.unsafe(nil), String)
|
||||
@ -4780,6 +4913,10 @@ RuboCop::Cop::Style::EmptyMethod::MSG_COMPACT = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::EmptyMethod::MSG_EXPANDED = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::EmptyStringInsideInterpolation::MSG_TERNARY = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::EmptyStringInsideInterpolation::MSG_TRAILING_CONDITIONAL = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::Encoding::ENCODING_PATTERN = T.let(T.unsafe(nil), Regexp)
|
||||
|
||||
RuboCop::Cop::Style::Encoding::MSG = T.let(T.unsafe(nil), String)
|
||||
@ -4832,7 +4969,9 @@ RuboCop::Cop::Style::ExplicitBlockArgument::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ExponentialNotation::MESSAGES = T.let(T.unsafe(nil), Hash)
|
||||
|
||||
RuboCop::Cop::Style::FetchEnvVar::MSG = T.let(T.unsafe(nil), String)
|
||||
RuboCop::Cop::Style::FetchEnvVar::MSG_WITHOUT_NIL = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::FetchEnvVar::MSG_WITH_NIL = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::FetchEnvVar::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
@ -4982,9 +5121,11 @@ RuboCop::Cop::Style::IpAddresses::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ItAssignment::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ItBlockParameter::MSG_AVOID_IT_BLOCK_PARAMETER = T.let(T.unsafe(nil), String)
|
||||
RuboCop::Cop::Style::ItBlockParameter::MSG_AVOID_IT_PARAMETER = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ItBlockParameter::MSG_USE_IT_BLOCK_PARAMETER = T.let(T.unsafe(nil), String)
|
||||
RuboCop::Cop::Style::ItBlockParameter::MSG_AVOID_IT_PARAMETER_MULTILINE = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::ItBlockParameter::MSG_USE_IT_PARAMETER = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::KeywordArgumentsMerging::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
@ -5056,9 +5197,9 @@ RuboCop::Cop::Style::MethodDefParentheses::MSG_PRESENT = T.let(T.unsafe(nil), St
|
||||
|
||||
RuboCop::Cop::Style::MinMax::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::MinMaxComparison::COMPARISON_OPERATORS = T.let(T.unsafe(nil), Array)
|
||||
RuboCop::Cop::Style::MinMaxComparison::COMPARISON_OPERATORS = T.let(T.unsafe(nil), Set)
|
||||
|
||||
RuboCop::Cop::Style::MinMaxComparison::GRATER_OPERATORS = T.let(T.unsafe(nil), Array)
|
||||
RuboCop::Cop::Style::MinMaxComparison::GREATER_OPERATORS = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Style::MinMaxComparison::LESS_OPERATORS = T.let(T.unsafe(nil), Array)
|
||||
|
||||
@ -5254,6 +5395,10 @@ RuboCop::Cop::Style::RedundantArrayConstructor::MSG = T.let(T.unsafe(nil), Strin
|
||||
|
||||
RuboCop::Cop::Style::RedundantArrayConstructor::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Style::RedundantArrayFlatten::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::RedundantArrayFlatten::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
||||
|
||||
RuboCop::Cop::Style::RedundantAssignment::MSG = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Cop::Style::RedundantBegin::MSG = T.let(T.unsafe(nil), String)
|
||||
@ -6407,9 +6552,9 @@ RuboCop::Formatter::PacmanFormatter::FALLBACK_TERMINAL_WIDTH = T.let(T.unsafe(ni
|
||||
|
||||
RuboCop::Formatter::PacmanFormatter::GHOST = T.let(T.unsafe(nil), String)
|
||||
|
||||
RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::Presenter)
|
||||
RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::NullPresenter)
|
||||
|
||||
RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::Presenter)
|
||||
RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::NullPresenter)
|
||||
|
||||
RuboCop::Formatter::ProgressFormatter::DOT = T.let(T.unsafe(nil), String)
|
||||
|
||||
@ -6924,13 +7069,13 @@ class RuboCop::Runner
|
||||
# source://rubocop//lib/rubocop/runner.rb#56
|
||||
def errors; end
|
||||
|
||||
# source://rubocop-md/2.0.1/lib/rubocop/markdown/rubocop_ext.rb#50
|
||||
# source://rubocop//lib/rubocop/runner.rb#248
|
||||
def file_finished(file, offenses); end
|
||||
|
||||
# source://rubocop-md/2.0.1/lib/rubocop/markdown/rubocop_ext.rb#44
|
||||
# source://rubocop//lib/rubocop/runner.rb#177
|
||||
def file_offense_cache(file); end
|
||||
|
||||
# source://rubocop-md/2.0.1/lib/rubocop/markdown/rubocop_ext.rb#36
|
||||
# source://rubocop//lib/rubocop/runner.rb#485
|
||||
def get_processed_source(*args); end
|
||||
|
||||
# source://rubocop//lib/rubocop/runner.rb#67
|
||||
@ -7143,7 +7288,7 @@ class RuboCop::TargetFinder
|
||||
# @api private
|
||||
# @return [Boolean]
|
||||
#
|
||||
# source://rubocop-md/2.0.1/lib/rubocop/markdown/rubocop_ext.rb#78
|
||||
# source://rubocop//lib/rubocop/target_finder.rb#154
|
||||
def ruby_file?(file); end
|
||||
|
||||
# Finds all Ruby source files under the current or other supplied directory. A Ruby source file
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -8,24 +8,25 @@
|
||||
# source://vernier//lib/vernier/version.rb#3
|
||||
module Vernier
|
||||
class << self
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def memory_rss; end
|
||||
|
||||
# source://vernier//lib/vernier.rb#20
|
||||
# source://vernier//lib/vernier.rb#21
|
||||
def profile(mode: T.unsafe(nil), **collector_options); end
|
||||
|
||||
# source://vernier//lib/vernier.rb#20
|
||||
# source://vernier//lib/vernier.rb#37
|
||||
def run(mode: T.unsafe(nil), **collector_options); end
|
||||
|
||||
# source://vernier//lib/vernier.rb#41
|
||||
# source://vernier//lib/vernier.rb#42
|
||||
def start_profile(mode: T.unsafe(nil), **collector_options); end
|
||||
|
||||
# source://vernier//lib/vernier.rb#53
|
||||
# source://vernier//lib/vernier.rb#54
|
||||
def stop_profile; end
|
||||
|
||||
# source://vernier//lib/vernier.rb#20
|
||||
# source://vernier//lib/vernier.rb#36
|
||||
def trace(mode: T.unsafe(nil), **collector_options); end
|
||||
|
||||
# source://vernier//lib/vernier.rb#62
|
||||
# source://vernier//lib/vernier.rb#63
|
||||
def trace_retained(**profile_options, &block); end
|
||||
end
|
||||
end
|
||||
@ -37,7 +38,7 @@ class Vernier::Collector
|
||||
# source://vernier//lib/vernier/collector.rb#8
|
||||
def initialize(mode, options = T.unsafe(nil)); end
|
||||
|
||||
# source://vernier//lib/vernier/collector.rb#53
|
||||
# source://vernier//lib/vernier/collector.rb#54
|
||||
def add_marker(name:, start:, finish:, thread: T.unsafe(nil), phase: T.unsafe(nil), data: T.unsafe(nil)); end
|
||||
|
||||
# Get the current time.
|
||||
@ -46,38 +47,45 @@ class Vernier::Collector
|
||||
# integer nanoseconds. It's the same time used by Vernier internals and
|
||||
# can be used to generate timestamps for custom markers.
|
||||
#
|
||||
# source://vernier//lib/vernier/collector.rb#49
|
||||
# source://vernier//lib/vernier/collector.rb#50
|
||||
def current_time; end
|
||||
|
||||
# Record an interval with a category and name. Yields to a block and
|
||||
# records the amount of time spent in the block as an interval marker.
|
||||
#
|
||||
# source://vernier//lib/vernier/collector.rb#65
|
||||
# source://vernier//lib/vernier/collector.rb#66
|
||||
def record_interval(category, name = T.unsafe(nil)); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def sample; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def stack_table; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def start; end
|
||||
|
||||
# source://vernier//lib/vernier/collector.rb#78
|
||||
# source://vernier//lib/vernier/collector.rb#79
|
||||
def stop; end
|
||||
|
||||
private
|
||||
|
||||
# source://vernier//lib/vernier/collector.rb#32
|
||||
# source://vernier//lib/vernier/collector.rb#33
|
||||
def add_hook(hook); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def finish; end
|
||||
|
||||
class << self
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def _new(_arg0, _arg1); end
|
||||
|
||||
# source://vernier//lib/vernier.rb#67
|
||||
# source://vernier//lib/vernier.rb#68
|
||||
def new(mode, options = T.unsafe(nil)); end
|
||||
end
|
||||
end
|
||||
|
||||
# source://vernier//lib/vernier.rb#16
|
||||
# source://vernier//lib/vernier.rb#17
|
||||
class Vernier::Error < ::StandardError; end
|
||||
|
||||
# source://vernier//lib/vernier/hooks.rb#4
|
||||
@ -160,9 +168,16 @@ Vernier::Marker::Type::THREAD_STALLED = T.let(T.unsafe(nil), Integer)
|
||||
Vernier::Marker::Type::THREAD_SUSPENDED = T.let(T.unsafe(nil), Integer)
|
||||
|
||||
class Vernier::MemoryTracker
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def record; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def results; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def start; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def stop; end
|
||||
end
|
||||
|
||||
@ -180,6 +195,48 @@ end
|
||||
# source://vernier//lib/vernier/output/filename_filter.rb#4
|
||||
module Vernier::Output; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#5
|
||||
class Vernier::Output::Cpuprofile
|
||||
# @return [Cpuprofile] a new instance of Cpuprofile
|
||||
#
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#6
|
||||
def initialize(profile); end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#10
|
||||
def output; end
|
||||
|
||||
private
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#53
|
||||
def build_nodes; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#128
|
||||
def calculate_time_deltas(timestamps); end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#85
|
||||
def create_node_for_stack(stack_idx, nodes, stack_table); end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#22
|
||||
def data; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#43
|
||||
def empty_profile; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#18
|
||||
def ns_to_us(timestamp); end
|
||||
|
||||
# Returns the value of attribute profile.
|
||||
#
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#16
|
||||
def profile; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#70
|
||||
def root_node; end
|
||||
|
||||
# source://vernier//lib/vernier/output/cpuprofile.rb#124
|
||||
def stack_to_node_id(stack_idx); end
|
||||
end
|
||||
|
||||
# source://vernier//lib/vernier/output/file_listing.rb#8
|
||||
class Vernier::Output::FileListing
|
||||
# @return [FileListing] a new instance of FileListing
|
||||
@ -573,13 +630,13 @@ end
|
||||
class Vernier::Result
|
||||
# Returns the value of attribute stack_table.
|
||||
#
|
||||
# source://vernier//lib/vernier/result.rb#3
|
||||
# source://vernier//lib/vernier/result.rb#4
|
||||
def _stack_table; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#49
|
||||
# source://vernier//lib/vernier/result.rb#61
|
||||
def each_sample; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#41
|
||||
# source://vernier//lib/vernier/result.rb#53
|
||||
def elapsed_seconds; end
|
||||
|
||||
# Returns the value of attribute end_time.
|
||||
@ -611,7 +668,7 @@ class Vernier::Result
|
||||
# source://vernier//lib/vernier/result.rb#8
|
||||
def hooks=(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#45
|
||||
# source://vernier//lib/vernier/result.rb#57
|
||||
def inspect; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#15
|
||||
@ -659,7 +716,7 @@ class Vernier::Result
|
||||
# source://vernier//lib/vernier/result.rb#21
|
||||
def samples; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#58
|
||||
# source://vernier//lib/vernier/result.rb#70
|
||||
def stack(idx); end
|
||||
|
||||
# Returns the value of attribute stack_table.
|
||||
@ -691,10 +748,16 @@ class Vernier::Result
|
||||
# source://vernier//lib/vernier/result.rb#11
|
||||
def threads=(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#37
|
||||
def to_cpuprofile; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#32
|
||||
def to_firefox(gzip: T.unsafe(nil)); end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#35
|
||||
def to_gecko(gzip: T.unsafe(nil)); end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#62
|
||||
# source://vernier//lib/vernier/result.rb#74
|
||||
def total_bytes; end
|
||||
|
||||
# TODO: remove these
|
||||
@ -702,28 +765,52 @@ class Vernier::Result
|
||||
# source://vernier//lib/vernier/result.rb#20
|
||||
def weights; end
|
||||
|
||||
# source://vernier//lib/vernier/result.rb#36
|
||||
def write(out:); end
|
||||
# source://vernier//lib/vernier/result.rb#41
|
||||
def write(out:, format: T.unsafe(nil)); end
|
||||
end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table.rb#4
|
||||
class Vernier::StackTable
|
||||
include ::Vernier::StackTableHelpers
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def convert(_arg0, _arg1); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def current_stack(*_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def frame_count; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def frame_func_idx(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def frame_line_no(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def func_count; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def func_filename(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def func_first_lineno(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def func_name(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def stack_count; end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def stack_frame_idx(_arg0); end
|
||||
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def stack_parent_idx(_arg0); end
|
||||
|
||||
class << self
|
||||
# source://vernier//lib/vernier/marker.rb#3
|
||||
def new; end
|
||||
end
|
||||
end
|
||||
@ -781,7 +868,7 @@ class Vernier::StackTableHelpers::Frame < ::Vernier::StackTableHelpers::BaseType
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#83
|
||||
def line; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#74
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#76
|
||||
def name; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#87
|
||||
@ -796,7 +883,7 @@ class Vernier::StackTableHelpers::Func < ::Vernier::StackTableHelpers::BaseType
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#59
|
||||
def label; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#59
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#62
|
||||
def name; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#68
|
||||
@ -813,7 +900,7 @@ class Vernier::StackTableHelpers::Stack < ::Vernier::StackTableHelpers::BaseType
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#93
|
||||
def each; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#93
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#103
|
||||
def each_frame; end
|
||||
|
||||
# source://vernier//lib/vernier/stack_table_helpers.rb#123
|
||||
@ -86,7 +86,7 @@ module Homebrew
|
||||
end
|
||||
|
||||
shfmt_result = files.present? && shell_files.empty?
|
||||
shfmt_result ||= run_shfmt(shell_files, fix:)
|
||||
shfmt_result ||= run_shfmt!(shell_files, fix:)
|
||||
|
||||
actionlint_files = github_workflow_files if files.blank? && actionlint_files.blank?
|
||||
has_actionlint_workflow = actionlint_files.any? do |path|
|
||||
@ -94,7 +94,7 @@ module Homebrew
|
||||
end
|
||||
odebug "actionlint workflow detected. Skipping actionlint checks." if has_actionlint_workflow
|
||||
actionlint_result = files.present? && (has_actionlint_workflow || actionlint_files.empty?)
|
||||
actionlint_result ||= run_actionlint(actionlint_files)
|
||||
actionlint_result ||= run_actionlint!(actionlint_files)
|
||||
|
||||
if output_type == :json
|
||||
Offenses.new(rubocop_result + shellcheck_result)
|
||||
@ -176,7 +176,7 @@ module Homebrew
|
||||
|
||||
# Don't show the default formatter's progress dots
|
||||
# on CI or if only checking a single file.
|
||||
args << "--format" << "clang" if ENV["CI"] || files.count { |f| !f.directory? } == 1
|
||||
args << "--format" << "clang" if ENV["CI"] || files.one? { |f| !f.directory? }
|
||||
|
||||
args << "--color" if Tty.color?
|
||||
|
||||
@ -264,7 +264,7 @@ module Homebrew
|
||||
end
|
||||
end
|
||||
|
||||
def self.run_shfmt(files, fix: false)
|
||||
def self.run_shfmt!(files, fix: false)
|
||||
files = shell_scripts if files.blank?
|
||||
# Do not format completions and Dockerfile
|
||||
files.delete(HOMEBREW_REPOSITORY/"completions/bash/brew")
|
||||
@ -277,7 +277,7 @@ module Homebrew
|
||||
$CHILD_STATUS.success?
|
||||
end
|
||||
|
||||
def self.run_actionlint(files)
|
||||
def self.run_actionlint!(files)
|
||||
files = github_workflow_files if files.blank?
|
||||
# the ignore is to avoid false positives in e.g. actions, homebrew-test-bot
|
||||
system actionlint, "-shellcheck", shellcheck,
|
||||
|
||||
@ -55,7 +55,7 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
|
||||
it "skips" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(described_class.preinstall("google-chrome")).to be(false)
|
||||
expect(described_class.preinstall!("google-chrome")).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -69,8 +69,8 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "google-chrome", verbose: false)
|
||||
.and_return(true)
|
||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
||||
expect(described_class.install("google-chrome")).to be(true)
|
||||
expect(described_class.preinstall!("google-chrome")).to be(true)
|
||||
expect(described_class.install!("google-chrome")).to be(true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -85,8 +85,8 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--cask", "opera", verbose: false)
|
||||
.and_return(true)
|
||||
expect(described_class.preinstall("opera", greedy: true)).to be(true)
|
||||
expect(described_class.install("opera", greedy: true)).to be(true)
|
||||
expect(described_class.preinstall!("opera", greedy: true)).to be(true)
|
||||
expect(described_class.install!("opera", greedy: true)).to be(true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -99,8 +99,8 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
||||
verbose: false)
|
||||
.and_return(true)
|
||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
||||
expect(described_class.install("google-chrome")).to be(true)
|
||||
expect(described_class.preinstall!("google-chrome")).to be(true)
|
||||
expect(described_class.install!("google-chrome")).to be(true)
|
||||
end
|
||||
|
||||
it "installs cask with arguments" do
|
||||
@ -109,16 +109,16 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
verbose: false)
|
||||
.and_return(true),
|
||||
)
|
||||
expect(described_class.preinstall("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||
expect(described_class.install("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||
expect(described_class.preinstall!("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||
expect(described_class.install!("firefox", args: { appdir: "/Applications" })).to be(true)
|
||||
end
|
||||
|
||||
it "reports a failure" do
|
||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "google-chrome", "--adopt",
|
||||
verbose: false)
|
||||
.and_return(false)
|
||||
expect(described_class.preinstall("google-chrome")).to be(true)
|
||||
expect(described_class.install("google-chrome")).to be(false)
|
||||
expect(described_class.preinstall!("google-chrome")).to be(true)
|
||||
expect(described_class.install!("google-chrome")).to be(false)
|
||||
end
|
||||
|
||||
context "with boolean arguments" do
|
||||
@ -126,15 +126,15 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--force",
|
||||
verbose: false)
|
||||
.and_return(true)
|
||||
expect(described_class.preinstall("iterm", args: { force: true })).to be(true)
|
||||
expect(described_class.install("iterm", args: { force: true })).to be(true)
|
||||
expect(described_class.preinstall!("iterm", args: { force: true })).to be(true)
|
||||
expect(described_class.install!("iterm", args: { force: true })).to be(true)
|
||||
end
|
||||
|
||||
it "does not include a flag if false" do
|
||||
expect(Homebrew::Bundle).to receive(:brew).with("install", "--cask", "iterm", "--adopt", verbose: false)
|
||||
.and_return(true)
|
||||
expect(described_class.preinstall("iterm", args: { force: false })).to be(true)
|
||||
expect(described_class.install("iterm", args: { force: false })).to be(true)
|
||||
expect(described_class.preinstall!("iterm", args: { force: false })).to be(true)
|
||||
expect(described_class.install!("iterm", args: { force: false })).to be(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -150,14 +150,14 @@ RSpec.describe Homebrew::Bundle::CaskInstaller do
|
||||
|
||||
it "runs the postinstall command" do
|
||||
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
||||
expect(described_class.preinstall("google-chrome", postinstall: "custom command")).to be(true)
|
||||
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(true)
|
||||
expect(described_class.preinstall!("google-chrome", postinstall: "custom command")).to be(true)
|
||||
expect(described_class.install!("google-chrome", postinstall: "custom command")).to be(true)
|
||||
end
|
||||
|
||||
it "reports a failure when postinstall fails" do
|
||||
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
||||
expect(described_class.preinstall("google-chrome", postinstall: "custom command")).to be(true)
|
||||
expect(described_class.install("google-chrome", postinstall: "custom command")).to be(false)
|
||||
expect(described_class.preinstall!("google-chrome", postinstall: "custom command")).to be(true)
|
||||
expect(described_class.install!("google-chrome", postinstall: "custom command")).to be(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -28,28 +28,28 @@ RSpec.describe Homebrew::Bundle::Commands::Install do
|
||||
end
|
||||
|
||||
it "does not raise an error" do
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall!).and_return(false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall!).and_return(false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents)
|
||||
expect { described_class.run }.not_to raise_error
|
||||
end
|
||||
|
||||
it "#dsl returns a valid DSL" do
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall).and_return(false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall).and_return(false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive(:preinstall!).and_return(false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive(:preinstall!).and_return(false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents)
|
||||
described_class.run
|
||||
expect(described_class.dsl.entries.first.name).to eql("phinze/cask")
|
||||
end
|
||||
|
||||
it "does not raise an error when skippable" do
|
||||
expect(Homebrew::Bundle::FormulaInstaller).not_to receive(:install)
|
||||
expect(Homebrew::Bundle::FormulaInstaller).not_to receive(:install!)
|
||||
|
||||
allow(Homebrew::Bundle::Skipper).to receive(:skip?).and_return(true)
|
||||
allow_any_instance_of(Pathname).to receive(:read)
|
||||
@ -58,22 +58,22 @@ RSpec.describe Homebrew::Bundle::Commands::Install do
|
||||
end
|
||||
|
||||
it "exits on failures" do
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents)
|
||||
|
||||
expect { described_class.run }.to raise_error(SystemExit)
|
||||
end
|
||||
|
||||
it "skips installs from failed taps" do
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive(:preinstall).and_return(false)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall: true, install: false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall: true, install: true)
|
||||
allow(Homebrew::Bundle::CaskInstaller).to receive(:preinstall!).and_return(false)
|
||||
allow(Homebrew::Bundle::TapInstaller).to receive_messages(preinstall!: true, install!: false)
|
||||
allow(Homebrew::Bundle::FormulaInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::MacAppStoreInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow(Homebrew::Bundle::VscodeExtensionInstaller).to receive_messages(preinstall!: true, install!: true)
|
||||
allow_any_instance_of(Pathname).to receive(:read).and_return(brewfile_contents)
|
||||
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
|
||||
@ -37,15 +37,15 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
context "with a successful installation" do
|
||||
it "start service" do
|
||||
expect(Homebrew::Bundle::BrewServices).not_to receive(:start)
|
||||
described_class.preinstall(formula_name, start_service: true)
|
||||
described_class.install(formula_name, start_service: true)
|
||||
described_class.preinstall!(formula_name, start_service: true)
|
||||
described_class.install!(formula_name, start_service: true)
|
||||
end
|
||||
end
|
||||
|
||||
context "with a skipped installation" do
|
||||
it "start service" do
|
||||
expect(Homebrew::Bundle::BrewServices).not_to receive(:start)
|
||||
described_class.install(formula_name, preinstall: false, start_service: true)
|
||||
described_class.install!(formula_name, preinstall: false, start_service: true)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -59,8 +59,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "start service" do
|
||||
expect(Homebrew::Bundle::BrewServices).to \
|
||||
receive(:start).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, start_service: true)
|
||||
described_class.install(formula_name, start_service: true)
|
||||
described_class.preinstall!(formula_name, start_service: true)
|
||||
described_class.install!(formula_name, start_service: true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -68,7 +68,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "start service" do
|
||||
expect(Homebrew::Bundle::BrewServices).to \
|
||||
receive(:start).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||
described_class.install(formula_name, preinstall: false, start_service: true)
|
||||
described_class.install!(formula_name, preinstall: false, start_service: true)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -84,8 +84,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "restart service" do
|
||||
expect(Homebrew::Bundle::BrewServices).to \
|
||||
receive(:restart).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, restart_service: :always)
|
||||
described_class.install(formula_name, restart_service: :always)
|
||||
described_class.preinstall!(formula_name, restart_service: :always)
|
||||
described_class.install!(formula_name, restart_service: :always)
|
||||
end
|
||||
end
|
||||
|
||||
@ -93,7 +93,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "restart service" do
|
||||
expect(Homebrew::Bundle::BrewServices).to \
|
||||
receive(:restart).with(formula_name, file: nil, verbose: false).and_return(true)
|
||||
described_class.install(formula_name, preinstall: false, restart_service: :always)
|
||||
described_class.install!(formula_name, preinstall: false, restart_service: :always)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -107,8 +107,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: true)
|
||||
described_class.install(formula_name, link: true)
|
||||
described_class.preinstall!(formula_name, link: true)
|
||||
described_class.install!(formula_name, link: true)
|
||||
end
|
||||
|
||||
it "force-links keg-only formula" do
|
||||
@ -116,8 +116,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
allow_any_instance_of(described_class).to receive(:keg_only?).and_return(true)
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--force", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: true)
|
||||
described_class.install(formula_name, link: true)
|
||||
described_class.preinstall!(formula_name, link: true)
|
||||
described_class.install!(formula_name, link: true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -130,8 +130,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(false)
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "--overwrite", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: :overwrite)
|
||||
described_class.install(formula_name, link: :overwrite)
|
||||
described_class.preinstall!(formula_name, link: :overwrite)
|
||||
described_class.install!(formula_name, link: :overwrite)
|
||||
end
|
||||
end
|
||||
|
||||
@ -144,8 +144,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
allow_any_instance_of(described_class).to receive(:linked?).and_return(true)
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: false)
|
||||
described_class.install(formula_name, link: false)
|
||||
described_class.preinstall!(formula_name, link: false)
|
||||
described_class.install!(formula_name, link: false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -159,8 +159,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "links formula" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "link", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: nil)
|
||||
described_class.install(formula_name, link: nil)
|
||||
described_class.preinstall!(formula_name, link: nil)
|
||||
described_class.install!(formula_name, link: nil)
|
||||
end
|
||||
end
|
||||
|
||||
@ -174,9 +174,9 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "unlinks formula" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "unlink", "mysql",
|
||||
verbose: false).and_return(true)
|
||||
described_class.preinstall(formula_name, link: nil)
|
||||
described_class.preinstall!(formula_name, link: nil)
|
||||
|
||||
described_class.install(formula_name, link: nil)
|
||||
described_class.install!(formula_name, link: nil)
|
||||
end
|
||||
end
|
||||
|
||||
@ -188,8 +188,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
conflicts_with: ["mysql55"],
|
||||
)
|
||||
allow(described_class).to receive(:formula_installed?).and_return(true)
|
||||
allow_any_instance_of(described_class).to receive(:install!).and_return(true)
|
||||
allow_any_instance_of(described_class).to receive(:upgrade!).and_return(true)
|
||||
allow_any_instance_of(described_class).to receive(:install_formula!).and_return(true)
|
||||
allow_any_instance_of(described_class).to receive(:upgrade_formula!).and_return(true)
|
||||
end
|
||||
|
||||
it "unlinks conflicts and stops their services" do
|
||||
@ -203,8 +203,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
||||
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
||||
verbose:).and_return(true)
|
||||
described_class.preinstall(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||
described_class.preinstall!(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||
described_class.install!(formula_name, restart_service: :always, conflicts_with: ["mysql56"])
|
||||
end
|
||||
|
||||
it "prints a message" do
|
||||
@ -219,8 +219,10 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
expect(Homebrew::Bundle::BrewServices).to receive(:stop).with("mysql56", verbose:).and_return(true)
|
||||
expect(Homebrew::Bundle::BrewServices).to receive(:restart).with(formula_name, file: nil,
|
||||
verbose:).and_return(true)
|
||||
described_class.preinstall(formula_name, restart_service: :always, conflicts_with: ["mysql56"], verbose: true)
|
||||
described_class.install(formula_name, restart_service: :always, conflicts_with: ["mysql56"], verbose: true)
|
||||
described_class.preinstall!(formula_name, restart_service: :always, conflicts_with: ["mysql56"],
|
||||
verbose: true)
|
||||
described_class.install!(formula_name, restart_service: :always, conflicts_with: ["mysql56"],
|
||||
verbose: true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -237,14 +239,14 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
|
||||
it "runs the postinstall command" do
|
||||
expect(Kernel).to receive(:system).with("custom command").and_return(true)
|
||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
||||
described_class.install(formula_name, postinstall: "custom command")
|
||||
described_class.preinstall!(formula_name, postinstall: "custom command")
|
||||
described_class.install!(formula_name, postinstall: "custom command")
|
||||
end
|
||||
|
||||
it "reports a failure" do
|
||||
expect(Kernel).to receive(:system).with("custom command").and_return(false)
|
||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
||||
expect(described_class.install(formula_name, postinstall: "custom command")).to be(false)
|
||||
described_class.preinstall!(formula_name, postinstall: "custom command")
|
||||
expect(described_class.install!(formula_name, postinstall: "custom command")).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -255,8 +257,8 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
|
||||
it "does not run the postinstall command" do
|
||||
expect(Kernel).not_to receive(:system)
|
||||
described_class.preinstall(formula_name, postinstall: "custom command")
|
||||
described_class.install(formula_name, postinstall: "custom command")
|
||||
described_class.preinstall!(formula_name, postinstall: "custom command")
|
||||
described_class.install!(formula_name, postinstall: "custom command")
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -281,16 +283,16 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
|
||||
it "writes the version to the file" do
|
||||
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
||||
described_class.preinstall(formula_name, version_file:)
|
||||
described_class.install(formula_name, version_file:)
|
||||
described_class.preinstall!(formula_name, version_file:)
|
||||
described_class.install!(formula_name, version_file:)
|
||||
end
|
||||
end
|
||||
|
||||
context "when using the latest formula" do
|
||||
it "writes the version to the file" do
|
||||
expect(File).to receive(:write).with(version_file, "#{version}\n")
|
||||
described_class.preinstall(formula_name, version_file:)
|
||||
described_class.install(formula_name, version_file:)
|
||||
described_class.preinstall!(formula_name, version_file:)
|
||||
described_class.install!(formula_name, version_file:)
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -304,7 +306,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
|
||||
it "did not call restart service" do
|
||||
expect(Homebrew::Bundle::BrewServices).not_to receive(:restart)
|
||||
described_class.preinstall(formula_name, restart_service: true)
|
||||
described_class.preinstall!(formula_name, restart_service: true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -386,16 +388,16 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
expect(Homebrew::Bundle).to receive(:system)
|
||||
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
||||
.and_return(true)
|
||||
expect(installer.preinstall).to be(true)
|
||||
expect(installer.install).to be(true)
|
||||
expect(installer.preinstall!).to be(true)
|
||||
expect(installer.install!).to be(true)
|
||||
end
|
||||
|
||||
it "reports a failure" do
|
||||
expect(Homebrew::Bundle).to receive(:system)
|
||||
.with(HOMEBREW_BREW_FILE, "install", "--formula", formula_name, "--with-option", verbose: false)
|
||||
.and_return(false)
|
||||
expect(installer.preinstall).to be(true)
|
||||
expect(installer.install).to be(false)
|
||||
expect(installer.preinstall!).to be(true)
|
||||
expect(installer.install!).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -416,16 +418,16 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||
.and_return(true)
|
||||
expect(installer.preinstall).to be(true)
|
||||
expect(installer.install).to be(true)
|
||||
expect(installer.preinstall!).to be(true)
|
||||
expect(installer.install!).to be(true)
|
||||
end
|
||||
|
||||
it "reports a failure" do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||
.and_return(false)
|
||||
expect(installer.preinstall).to be(true)
|
||||
expect(installer.install).to be(false)
|
||||
expect(installer.preinstall!).to be(true)
|
||||
expect(installer.install!).to be(false)
|
||||
end
|
||||
|
||||
context "when formula pinned" do
|
||||
@ -436,7 +438,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
it "does not upgrade formula" do
|
||||
expect(Homebrew::Bundle).not_to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "upgrade", "--formula", formula_name, verbose: false)
|
||||
expect(installer.preinstall).to be(false)
|
||||
expect(installer.preinstall!).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -447,7 +449,7 @@ RSpec.describe Homebrew::Bundle::FormulaInstaller do
|
||||
|
||||
it "does not upgrade formula" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(installer.preinstall).to be(false)
|
||||
expect(installer.preinstall!).to be(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -30,7 +30,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
||||
it "tries to install mas" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "mas",
|
||||
verbose: false).and_return(true)
|
||||
expect { described_class.preinstall("foo", 123) }.to raise_error(RuntimeError)
|
||||
expect { described_class.preinstall!("foo", 123) }.to raise_error(RuntimeError)
|
||||
end
|
||||
|
||||
describe ".outdated_app_ids" do
|
||||
@ -62,7 +62,7 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
||||
|
||||
it "skips" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(described_class.preinstall("foo", 123)).to be(false)
|
||||
expect(described_class.preinstall!("foo", 123)).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -73,8 +73,8 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
||||
|
||||
it "upgrades" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with("mas", "upgrade", "123", verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("foo", 123)).to be(true)
|
||||
expect(described_class.install("foo", 123)).to be(true)
|
||||
expect(described_class.preinstall!("foo", 123)).to be(true)
|
||||
expect(described_class.install!("foo", 123)).to be(true)
|
||||
end
|
||||
end
|
||||
|
||||
@ -85,8 +85,8 @@ RSpec.describe Homebrew::Bundle::MacAppStoreInstaller do
|
||||
|
||||
it "installs app" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with("mas", "install", "123", verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("foo", 123)).to be(true)
|
||||
expect(described_class.install("foo", 123)).to be(true)
|
||||
expect(described_class.preinstall!("foo", 123)).to be(true)
|
||||
expect(described_class.install!("foo", 123)).to be(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -22,7 +22,7 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
||||
|
||||
it "skips" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(described_class.preinstall("homebrew/cask")).to be(false)
|
||||
expect(described_class.preinstall!("homebrew/cask")).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -34,8 +34,8 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
||||
it "taps" do
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask",
|
||||
verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("homebrew/cask")).to be(true)
|
||||
expect(described_class.install("homebrew/cask")).to be(true)
|
||||
expect(described_class.preinstall!("homebrew/cask")).to be(true)
|
||||
expect(described_class.install!("homebrew/cask")).to be(true)
|
||||
end
|
||||
|
||||
context "with clone target" do
|
||||
@ -43,16 +43,16 @@ RSpec.describe Homebrew::Bundle::TapInstaller do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
||||
verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
expect(described_class.preinstall!("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
expect(described_class.install!("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
end
|
||||
|
||||
it "fails" do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "tap", "homebrew/cask", "clone_target_path",
|
||||
verbose: false).and_return(false)
|
||||
expect(described_class.preinstall("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
expect(described_class.install("homebrew/cask", clone_target: "clone_target_path")).to be(false)
|
||||
expect(described_class.preinstall!("homebrew/cask", clone_target: "clone_target_path")).to be(true)
|
||||
expect(described_class.install!("homebrew/cask", clone_target: "clone_target_path")).to be(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -15,7 +15,7 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(HOMEBREW_BREW_FILE, "install", "--cask", "visual-studio-code", verbose: false)
|
||||
.and_return(true)
|
||||
expect { described_class.preinstall("foo") }.to raise_error(RuntimeError)
|
||||
expect { described_class.preinstall!("foo") }.to raise_error(RuntimeError)
|
||||
end
|
||||
end
|
||||
|
||||
@ -31,12 +31,12 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||
|
||||
it "skips" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(described_class.preinstall("foo")).to be(false)
|
||||
expect(described_class.preinstall!("foo")).to be(false)
|
||||
end
|
||||
|
||||
it "skips ignoring case" do
|
||||
expect(Homebrew::Bundle).not_to receive(:system)
|
||||
expect(described_class.preinstall("Foo")).to be(false)
|
||||
expect(described_class.preinstall!("Foo")).to be(false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -48,8 +48,8 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||
it "installs extension" do
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("foo")).to be(true)
|
||||
expect(described_class.install("foo")).to be(true)
|
||||
expect(described_class.preinstall!("foo")).to be(true)
|
||||
expect(described_class.install!("foo")).to be(true)
|
||||
end
|
||||
|
||||
it "installs extension when euid != uid and Process::UID.re_exchangeable? returns true" do
|
||||
@ -59,8 +59,8 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("foo")).to be(true)
|
||||
expect(described_class.install("foo")).to be(true)
|
||||
expect(described_class.preinstall!("foo")).to be(true)
|
||||
expect(described_class.install!("foo")).to be(true)
|
||||
end
|
||||
|
||||
it "installs extension when euid != uid and Process::UID.re_exchangeable? returns false" do
|
||||
@ -70,8 +70,8 @@ RSpec.describe Homebrew::Bundle::VscodeExtensionInstaller do
|
||||
|
||||
expect(Homebrew::Bundle).to \
|
||||
receive(:system).with(Pathname("code"), "--install-extension", "foo", verbose: false).and_return(true)
|
||||
expect(described_class.preinstall("foo")).to be(true)
|
||||
expect(described_class.install("foo")).to be(true)
|
||||
expect(described_class.preinstall!("foo")).to be(true)
|
||||
expect(described_class.install!("foo")).to be(true)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -42,7 +42,7 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
||||
expect(Homebrew::Bundle).to receive(:system).with(HOMEBREW_BREW_FILE, "install", "--formula", "whalebrew",
|
||||
verbose: false)
|
||||
.and_return(true)
|
||||
expect { described_class.preinstall("whalebrew/wget") }.to raise_error(RuntimeError)
|
||||
expect { described_class.preinstall!("whalebrew/wget") }.to raise_error(RuntimeError)
|
||||
end
|
||||
end
|
||||
|
||||
@ -61,7 +61,7 @@ RSpec.describe Homebrew::Bundle::WhalebrewInstaller do
|
||||
end
|
||||
|
||||
it "skips" do
|
||||
expect(described_class.preinstall("whalebrew/wget")).to be(false)
|
||||
expect(described_class.preinstall!("whalebrew/wget")).to be(false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@ -59,7 +59,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(renamed_app_new_path).not_to be_a_directory
|
||||
expect(renamed_app.installed_version).to eq "1.0.0"
|
||||
|
||||
described_class.upgrade_casks(dry_run: true, args:)
|
||||
described_class.upgrade_casks!(dry_run: true, args:)
|
||||
|
||||
expect(local_caffeine).to be_installed
|
||||
expect(local_caffeine_path).to be_a_directory
|
||||
@ -86,7 +86,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(local_transmission_path).to be_a_directory
|
||||
expect(local_transmission.installed_version).to eq "2.60"
|
||||
|
||||
described_class.upgrade_casks(local_caffeine, dry_run: true, args:)
|
||||
described_class.upgrade_casks!(local_caffeine, dry_run: true, args:)
|
||||
|
||||
expect(local_caffeine).to be_installed
|
||||
expect(local_caffeine_path).to be_a_directory
|
||||
@ -113,7 +113,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(renamed_app_new_path).not_to be_a_directory
|
||||
expect(renamed_app.installed_version).to eq "1.0.0"
|
||||
|
||||
described_class.upgrade_casks(local_caffeine, auto_updates, dry_run: true, args:)
|
||||
described_class.upgrade_casks!(local_caffeine, auto_updates, dry_run: true, args:)
|
||||
|
||||
expect(local_caffeine).to be_installed
|
||||
expect(local_caffeine_path).to be_a_directory
|
||||
@ -156,7 +156,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
version_latest.download_sha_path.write("fake download sha")
|
||||
expect(version_latest.outdated_download_sha?).to be(true)
|
||||
|
||||
described_class.upgrade_casks(greedy: true, dry_run: true, args:)
|
||||
described_class.upgrade_casks!(greedy: true, dry_run: true, args:)
|
||||
|
||||
expect(local_caffeine).to be_installed
|
||||
expect(local_caffeine_path).to be_a_directory
|
||||
@ -186,7 +186,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(auto_updates_path).to be_a_directory
|
||||
expect(auto_updates.installed_version).to eq "2.57"
|
||||
|
||||
described_class.upgrade_casks(auto_updates, dry_run: true, greedy: true, args:)
|
||||
described_class.upgrade_casks!(auto_updates, dry_run: true, greedy: true, args:)
|
||||
|
||||
expect(auto_updates).to be_installed
|
||||
expect(auto_updates_path).to be_a_directory
|
||||
@ -203,7 +203,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
version_latest.download_sha_path.write("fake download sha")
|
||||
expect(version_latest.outdated_download_sha?).to be(true)
|
||||
|
||||
described_class.upgrade_casks(version_latest, dry_run: true, greedy: true, args:)
|
||||
described_class.upgrade_casks!(version_latest, dry_run: true, greedy: true, args:)
|
||||
|
||||
expect(version_latest).to be_installed
|
||||
expect(version_latest_paths).to all be_a_directory
|
||||
@ -234,7 +234,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(will_fail_if_upgraded.installed_version).to eq "1.2.2"
|
||||
|
||||
expect do
|
||||
described_class.upgrade_casks(will_fail_if_upgraded, args:)
|
||||
described_class.upgrade_casks!(will_fail_if_upgraded, args:)
|
||||
end.to raise_error(Cask::CaskError).and output(output_reverted).to_stderr
|
||||
|
||||
expect(will_fail_if_upgraded).to be_installed
|
||||
@ -252,7 +252,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(bad_checksum.installed_version).to eq "1.2.2"
|
||||
|
||||
expect do
|
||||
described_class.upgrade_casks(bad_checksum, args:)
|
||||
described_class.upgrade_casks!(bad_checksum, args:)
|
||||
end.to raise_error(ChecksumMismatchError).and(not_to_output(output_reverted).to_stderr)
|
||||
|
||||
expect(bad_checksum).to be_installed
|
||||
@ -291,7 +291,7 @@ RSpec.describe Cask::Upgrade, :cask do
|
||||
expect(bad_checksum_2.installed_version).to eq "1.2.2"
|
||||
|
||||
expect do
|
||||
described_class.upgrade_casks(args:)
|
||||
described_class.upgrade_casks!(args:)
|
||||
end.to raise_error(Cask::MultipleCaskErrors)
|
||||
|
||||
expect(bad_checksum).to be_installed
|
||||
|
||||
@ -5,9 +5,12 @@ require "extend/blank"
|
||||
RSpec.describe Object do
|
||||
let(:empty_true) do
|
||||
Class.new(described_class) do
|
||||
# This API is intentionally non-ideal for testing.
|
||||
# rubocop:disable Naming/PredicateMethod
|
||||
def empty?
|
||||
0
|
||||
end
|
||||
# rubocop:enable Naming/PredicateMethod
|
||||
end
|
||||
end
|
||||
let(:empty_false) do
|
||||
|
||||
@ -32,11 +32,11 @@ RSpec.describe Keg::Relocation do
|
||||
expect(relocation.replacement_pair_for(:library_placeholder)).to eq [library_placeholder, library]
|
||||
end
|
||||
|
||||
specify "#replace_text" do
|
||||
specify "#replace_text!" do
|
||||
relocation = setup_relocation
|
||||
|
||||
text = +"foo"
|
||||
relocation.replace_text(text)
|
||||
relocation.replace_text!(text)
|
||||
expect(text).to eq "foo"
|
||||
|
||||
text = <<~TEXT
|
||||
@ -47,7 +47,7 @@ RSpec.describe Keg::Relocation do
|
||||
#{repository_placeholder}/foo
|
||||
foo#{library_placeholder}/bar
|
||||
TEXT
|
||||
relocation.replace_text(text)
|
||||
relocation.replace_text!(text)
|
||||
expect(text).to eq <<~REPLACED
|
||||
#{prefix_placeholder}/foo
|
||||
#{cellar_placeholder}/foo
|
||||
|
||||
@ -42,16 +42,16 @@ RSpec.describe Homebrew::Services::Cli do
|
||||
end
|
||||
end
|
||||
|
||||
describe "#check" do
|
||||
describe "#check!" do
|
||||
it "checks the input does not exist" do
|
||||
expect do
|
||||
services_cli.check([])
|
||||
services_cli.check!([])
|
||||
end.to raise_error(UsageError, "Invalid usage: Formula(e) missing, please provide a formula name or use --all")
|
||||
end
|
||||
|
||||
it "checks the input exists" do
|
||||
expect do
|
||||
services_cli.check("hello")
|
||||
services_cli.check!("hello")
|
||||
end.not_to raise_error(UsageError,
|
||||
"Invalid usage: Formula(e) missing, please provide a formula name or use --all")
|
||||
end
|
||||
|
||||
@ -1,62 +0,0 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "tapioca/dsl"
|
||||
require "sorbet/tapioca/compilers/args"
|
||||
|
||||
RSpec.describe Tapioca::Compilers::Args do
|
||||
let(:compiler) { described_class.new(Tapioca::Dsl::Pipeline.new(requested_constants: []), RBI::Tree.new, Homebrew) }
|
||||
let(:list_parser) do
|
||||
require "cmd/list"
|
||||
Homebrew::Cmd::List.parser
|
||||
end
|
||||
|
||||
# Good testing candidate because it has multiple for each of `switch`, `flag` and `comma_array` args:
|
||||
let(:update_python_resources_parser) do
|
||||
require "dev-cmd/update-python-resources"
|
||||
Homebrew::DevCmd::UpdatePythonResources.parser
|
||||
end
|
||||
|
||||
describe "#args_table" do
|
||||
it "returns a mapping of list args to default values" do
|
||||
expect(compiler.args_table(list_parser)).to contain_exactly(
|
||||
:"1?", :built_from_source?, :cask?, :casks?, :d?, :debug?, :formula?, :formulae?, :full_name?, :h?, :help?,
|
||||
:installed_as_dependency?, :installed_on_request?, :l?, :multiple?, :pinned?, :poured_from_bottle?, :q?,
|
||||
:quiet?, :r?, :t?, :v?, :verbose?, :versions?
|
||||
)
|
||||
end
|
||||
|
||||
it "returns a mapping of update-python-resources args to default values" do
|
||||
expect(compiler.args_table(update_python_resources_parser)).to contain_exactly(
|
||||
:d?, :debug?, :exclude_packages, :extra_packages, :h?, :help?, :ignore_errors?, :ignore_non_pypi_packages?,
|
||||
:install_dependencies?, :p?, :package_name, :print_only?, :q?, :quiet?, :s?, :silent?, :v?, :verbose?,
|
||||
:version
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#comma_arrays" do
|
||||
it "returns an empty list when there are no comma_array args" do
|
||||
expect(compiler.comma_arrays(list_parser)).to eq([])
|
||||
end
|
||||
|
||||
it "returns the comma_array args when they exist" do
|
||||
expect(compiler.comma_arrays(update_python_resources_parser)).to eq([:extra_packages, :exclude_packages])
|
||||
end
|
||||
end
|
||||
|
||||
describe "#get_return_type" do
|
||||
let(:comma_arrays) { compiler.comma_arrays(update_python_resources_parser) }
|
||||
|
||||
it "returns the correct type for switches" do
|
||||
expect(compiler.get_return_type(:silent?, comma_arrays)).to eq("T::Boolean")
|
||||
end
|
||||
|
||||
it "returns the correct type for flags" do
|
||||
expect(compiler.get_return_type(:package_name, comma_arrays)).to eq("T.nilable(String)")
|
||||
end
|
||||
|
||||
it "returns the correct type for comma_arrays" do
|
||||
expect(compiler.get_return_type(:extra_packages, comma_arrays)).to eq("T.nilable(T::Array[String])")
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -48,7 +48,7 @@ module Homebrew
|
||||
if rack.directory?
|
||||
versions = rack.subdirs.map(&:basename)
|
||||
puts <<~EOS
|
||||
#{keg.name} #{versions.to_sentence} #{(versions.count == 1) ? "is" : "are"} still installed.
|
||||
#{keg.name} #{versions.to_sentence} #{versions.one? ? "is" : "are"} still installed.
|
||||
To remove all versions, run:
|
||||
brew uninstall --force #{keg.name}
|
||||
EOS
|
||||
@ -108,13 +108,13 @@ module Homebrew
|
||||
return if ignore_dependencies
|
||||
|
||||
all_kegs = kegs_by_rack.values.flatten(1)
|
||||
check_for_dependents(all_kegs, casks:, named_args:)
|
||||
check_for_dependents!(all_kegs, casks:, named_args:)
|
||||
rescue MethodDeprecatedError
|
||||
# Silently ignore deprecations when uninstalling.
|
||||
nil
|
||||
end
|
||||
|
||||
def self.check_for_dependents(kegs, casks: [], named_args: [])
|
||||
def self.check_for_dependents!(kegs, casks: [], named_args: [])
|
||||
return false unless (result = InstalledDependents.find_some_installed_dependents(kegs, casks:))
|
||||
|
||||
DependentsMessage.new(*result, named_args:).output
|
||||
@ -133,7 +133,7 @@ module Homebrew
|
||||
def output
|
||||
ofail <<~EOS
|
||||
Refusing to uninstall #{reqs.to_sentence}
|
||||
because #{(reqs.count == 1) ? "it" : "they"} #{are_required_by_deps}.
|
||||
because #{reqs.one? ? "it" : "they"} #{are_required_by_deps}.
|
||||
You can override this and force removal with:
|
||||
#{sample_command}
|
||||
EOS
|
||||
@ -146,8 +146,8 @@ module Homebrew
|
||||
end
|
||||
|
||||
def are_required_by_deps
|
||||
"#{(reqs.count == 1) ? "is" : "are"} required by #{deps.to_sentence}, " \
|
||||
"which #{(deps.count == 1) ? "is" : "are"} currently installed"
|
||||
"#{reqs.one? ? "is" : "are"} required by #{deps.to_sentence}, " \
|
||||
"which #{deps.one? ? "is" : "are"} currently installed"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -72,17 +72,17 @@ module Homebrew
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def single_app_cask?
|
||||
apps.count == 1
|
||||
apps.one?
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def single_qlplugin_cask?
|
||||
qlplugins.count == 1
|
||||
qlplugins.one?
|
||||
end
|
||||
|
||||
sig { returns(T::Boolean) }
|
||||
def single_pkg_cask?
|
||||
pkgs.count == 1
|
||||
pkgs.one?
|
||||
end
|
||||
|
||||
# Filter paths to `Info.plist` files so that ones belonging
|
||||
@ -222,14 +222,14 @@ module Homebrew
|
||||
unique_info_plist_versions =
|
||||
top_level_info_plist_paths.filter_map { |i| BundleVersion.from_info_plist(i)&.nice_version }
|
||||
.uniq
|
||||
return unique_info_plist_versions.first if unique_info_plist_versions.count == 1
|
||||
return unique_info_plist_versions.first if unique_info_plist_versions.one?
|
||||
|
||||
package_info_path = extract_dir/"PackageInfo"
|
||||
if package_info_path.exist?
|
||||
if (version = BundleVersion.from_package_info(package_info_path))
|
||||
return version.nice_version
|
||||
end
|
||||
elsif packages.count == 1
|
||||
elsif packages.one?
|
||||
onoe "#{pkg_path.basename} does not contain a `PackageInfo` file."
|
||||
end
|
||||
|
||||
|
||||
@ -6,6 +6,8 @@ require "context"
|
||||
module Homebrew
|
||||
extend Context
|
||||
|
||||
# Need to keep this naming as-is for backwards compatibility.
|
||||
# rubocop:disable Naming/PredicateMethod
|
||||
def self._system(cmd, *args, **options)
|
||||
pid = fork do
|
||||
yield if block_given?
|
||||
@ -20,6 +22,7 @@ module Homebrew
|
||||
Process.wait(T.must(pid))
|
||||
$CHILD_STATUS.success?
|
||||
end
|
||||
# rubocop:enable Naming/PredicateMethod
|
||||
|
||||
def self.system(cmd, *args, **options)
|
||||
if verbose?
|
||||
|
||||
@ -445,7 +445,7 @@ module Utils
|
||||
format "%#{index_width}s", index_header
|
||||
formatted_name_with_options_header =
|
||||
format "%-#{name_with_options_width}s",
|
||||
name_with_options_header[0..name_with_options_width-1]
|
||||
name_with_options_header[0..(name_with_options_width-1)]
|
||||
formatted_count_header =
|
||||
format "%#{count_width}s", count_header
|
||||
formatted_percent_header =
|
||||
@ -464,7 +464,7 @@ module Utils
|
||||
formatted_index = format "%-#{index_width}s", formatted_index
|
||||
formatted_name_with_options =
|
||||
format "%-#{name_with_options_width}s",
|
||||
name_with_options[0..name_with_options_width-1]
|
||||
name_with_options[0..(name_with_options_width-1)]
|
||||
formatted_count = format "%#{count_width}s", format_count(count)
|
||||
formatted_percent = if total_count.zero?
|
||||
format "%#{percent_width}s", format_percent(0)
|
||||
|
||||
@ -45,7 +45,7 @@ module GitHub
|
||||
line: T.nilable(Integer)
|
||||
).returns(T::Boolean)
|
||||
}
|
||||
def self.puts_annotation_if_env_set(type, message, file: nil, line: nil)
|
||||
def self.puts_annotation_if_env_set!(type, message, file: nil, line: nil)
|
||||
# Don't print annotations during tests, too messy to handle these.
|
||||
return false if ENV.fetch("HOMEBREW_TESTS", false)
|
||||
return false unless env_set?
|
||||
|
||||
61
Library/Homebrew/vendor/bundle/bundler/setup.rb
vendored
61
Library/Homebrew/vendor/bundle/bundler/setup.rb
vendored
@ -37,21 +37,21 @@ end
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/public_suffix-6.0.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/addressable-2.8.7/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ast-2.4.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/base64-0.2.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/benchmark-0.4.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/bigdecimal-3.1.9")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/bigdecimal-3.1.9/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/base64-0.3.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/benchmark-0.4.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/bigdecimal-3.2.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/bigdecimal-3.2.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/bindata-2.5.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/coderay-1.1.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/concurrent-ruby-1.3.5/lib/concurrent-ruby")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/csv-3.3.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/csv-3.3.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/diff-lcs-1.6.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/docile-1.4.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/elftools-1.3.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/erubi-1.13.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/hana-1.3.7/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/json-2.12.0")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json-2.12.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/json-2.12.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json-2.12.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/regexp_parser-2.10.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simpleidn-0.2.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json_schemer-2.4.0/lib")
|
||||
@ -64,7 +64,7 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/minitest-5.25.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/netrc-0.11.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel-1.27.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel_tests-5.2.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel_tests-5.3.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/racc-1.8.1")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/racc-1.8.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parser-3.3.8.0/lib")
|
||||
@ -76,48 +76,49 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/pycall-1.5.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/pycall-1.5.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rainbow-3.1.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/rbs-3.9.4")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbs-3.9.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-runtime-0.5.12117/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbi-0.3.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/rbs-4.0.0.dev.4")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbs-4.0.0.dev.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbi-0.3.6/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/redcarpet-3.6.1")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/redcarpet-3.6.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-support-3.13.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-core-3.13.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-expectations-3.13.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-mocks-3.13.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-3.13.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/require-hooks-0.2.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-support-3.13.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-core-3.13.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-expectations-3.13.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-mocks-3.13.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-3.13.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-github-3.0.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-retry-0.6.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-runtime-0.5.12222/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec-sorbet-1.9.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rspec_junit_formatter-0.6.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-ast-1.44.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-ast-1.45.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-progressbar-1.13.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/unicode-emoji-4.0.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/unicode-display_width-3.1.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-1.75.6/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-1.77.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-md-2.0.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-performance-1.25.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rspec-3.6.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-sorbet-0.10.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-lsp-0.23.21/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-sorbet-0.10.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-lsp-0.24.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-macho-4.1.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/ruby-prof-1.7.1")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-prof-1.7.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/ruby-prof-1.7.2")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-prof-1.7.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simplecov-html-0.13.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simplecov_json_formatter-0.1.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simplecov-0.22.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/simplecov-cobertura-2.1.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-static-0.5.12117-universal-darwin/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-0.5.12117/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-static-and-runtime-0.5.12117/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-static-0.5.12222-universal-darwin/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-0.5.12222/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/sorbet-static-and-runtime-0.5.12222/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/thor-1.3.2/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/spoom-1.6.3/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/spoom-1.7.4/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/stackprof-0.2.27")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/stackprof-0.2.27/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/yard-0.9.37/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/yard-sorbet-0.9.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/tapioca-0.16.11/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/vernier-1.7.1")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/vernier-1.7.1/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/tapioca-0.17.5/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/arm64-darwin-20/#{Gem.extension_api_version}/vernier-1.8.0")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/vernier-1.8.0/lib")
|
||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/warning-1.5.0/lib")
|
||||
|
||||
@ -1,22 +0,0 @@
|
||||
Copyright (C) 1993-2013 Yukihiro Matsumoto. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGE.
|
||||
@ -2,7 +2,7 @@
|
||||
#
|
||||
# \Module \Base64 provides methods for:
|
||||
#
|
||||
# - Encoding a binary string (containing non-ASCII characters)
|
||||
# - \Encoding a binary string (containing non-ASCII characters)
|
||||
# as a string of printable ASCII characters.
|
||||
# - Decoding such an encoded string.
|
||||
#
|
||||
@ -27,7 +27,7 @@
|
||||
#
|
||||
# require 'base64'
|
||||
#
|
||||
# == Encoding Character Sets
|
||||
# == \Encoding Character Sets
|
||||
#
|
||||
# A \Base64-encoded string consists only of characters from a 64-character set:
|
||||
#
|
||||
@ -140,7 +140,7 @@
|
||||
# Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
|
||||
# Base64.strict_decode64("MDEyMzQ1Njc==") # Raises ArgumentError
|
||||
#
|
||||
# \Method Base64.urlsafe_decode64 allows padding in +str+,
|
||||
# \Method Base64.urlsafe_decode64 allows padding in the encoded string,
|
||||
# which if present, must be correct:
|
||||
# see {Padding}[Base64.html#module-Base64-label-Padding], above:
|
||||
#
|
||||
@ -183,11 +183,14 @@
|
||||
#
|
||||
module Base64
|
||||
|
||||
VERSION = "0.2.0"
|
||||
VERSION = "0.3.0"
|
||||
|
||||
module_function
|
||||
|
||||
# Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
|
||||
# :call-seq:
|
||||
# Base64.encode64(string) -> encoded_string
|
||||
#
|
||||
# Returns a string containing the RFC-2045-compliant \Base64-encoding of +string+.
|
||||
#
|
||||
# Per RFC 2045, the returned string may contain the URL-unsafe characters
|
||||
# <tt>+</tt> or <tt>/</tt>;
|
||||
@ -220,19 +223,22 @@ module Base64
|
||||
[bin].pack("m")
|
||||
end
|
||||
|
||||
# :call-seq:
|
||||
# Base64.decode(encoded_string) -> decoded_string
|
||||
#
|
||||
# Returns a string containing the decoding of an RFC-2045-compliant
|
||||
# \Base64-encoded string +str+:
|
||||
# \Base64-encoded string +encoded_string+:
|
||||
#
|
||||
# s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK\n"
|
||||
# Base64.decode64(s) # => "This is line 1\nThis is line 2\n"
|
||||
#
|
||||
# Non-\Base64 characters in +str+ are ignored;
|
||||
# Non-\Base64 characters in +encoded_string+ are ignored;
|
||||
# see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
|
||||
# these include newline characters and characters <tt>-</tt> and <tt>/</tt>:
|
||||
#
|
||||
# Base64.decode64("\x00\n-_") # => ""
|
||||
#
|
||||
# Padding in +str+ (even if incorrect) is ignored:
|
||||
# Padding in +encoded_string+ (even if incorrect) is ignored:
|
||||
#
|
||||
# Base64.decode64("MDEyMzQ1Njc") # => "01234567"
|
||||
# Base64.decode64("MDEyMzQ1Njc=") # => "01234567"
|
||||
@ -242,7 +248,10 @@ module Base64
|
||||
str.unpack1("m")
|
||||
end
|
||||
|
||||
# Returns a string containing the RFC-2045-compliant \Base64-encoding of +bin+.
|
||||
# :call-seq:
|
||||
# Base64.strict_encode64(string) -> encoded_string
|
||||
#
|
||||
# Returns a string containing the RFC-2045-compliant \Base64-encoding of +string+.
|
||||
#
|
||||
# Per RFC 2045, the returned string may contain the URL-unsafe characters
|
||||
# <tt>+</tt> or <tt>/</tt>;
|
||||
@ -274,13 +283,16 @@ module Base64
|
||||
[bin].pack("m0")
|
||||
end
|
||||
|
||||
# :call-seq:
|
||||
# Base64.strict_decode64(encoded_string) -> decoded_string
|
||||
#
|
||||
# Returns a string containing the decoding of an RFC-2045-compliant
|
||||
# \Base64-encoded string +str+:
|
||||
# \Base64-encoded string +encoded_string+:
|
||||
#
|
||||
# s = "VGhpcyBpcyBsaW5lIDEKVGhpcyBpcyBsaW5lIDIK"
|
||||
# Base64.strict_decode64(s) # => "This is line 1\nThis is line 2\n"
|
||||
#
|
||||
# Non-\Base64 characters in +str+ not allowed;
|
||||
# Non-\Base64 characters in +encoded_string+ are not allowed;
|
||||
# see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
|
||||
# these include newline characters and characters <tt>-</tt> and <tt>/</tt>:
|
||||
#
|
||||
@ -288,7 +300,7 @@ module Base64
|
||||
# Base64.strict_decode64('-') # Raises ArgumentError
|
||||
# Base64.strict_decode64('_') # Raises ArgumentError
|
||||
#
|
||||
# Padding in +str+, if present, must be correct:
|
||||
# Padding in +encoded_string+, if present, must be correct:
|
||||
#
|
||||
# Base64.strict_decode64("MDEyMzQ1Njc") # Raises ArgumentError
|
||||
# Base64.strict_decode64("MDEyMzQ1Njc=") # => "01234567"
|
||||
@ -298,7 +310,10 @@ module Base64
|
||||
str.unpack1("m0")
|
||||
end
|
||||
|
||||
# Returns the RFC-4648-compliant \Base64-encoding of +bin+.
|
||||
# :call-seq:
|
||||
# Base64.urlsafe_encode64(string) -> encoded_string
|
||||
#
|
||||
# Returns the RFC-4648-compliant \Base64-encoding of +string+.
|
||||
#
|
||||
# Per RFC 4648, the returned string will not contain the URL-unsafe characters
|
||||
# <tt>+</tt> or <tt>/</tt>,
|
||||
@ -332,16 +347,19 @@ module Base64
|
||||
str
|
||||
end
|
||||
|
||||
# Returns the decoding of an RFC-4648-compliant \Base64-encoded string +str+:
|
||||
# :call-seq:
|
||||
# Base64.urlsafe_decode64(encoded_string) -> decoded_string
|
||||
#
|
||||
# +str+ may not contain non-Base64 characters;
|
||||
# Returns the decoding of an RFC-4648-compliant \Base64-encoded string +encoded_string+:
|
||||
#
|
||||
# +encoded_string+ may not contain non-Base64 characters;
|
||||
# see {Encoding Character Set}[Base64.html#module-Base64-label-Encoding+Character+Sets] above:
|
||||
#
|
||||
# Base64.urlsafe_decode64('+') # Raises ArgumentError.
|
||||
# Base64.urlsafe_decode64('/') # Raises ArgumentError.
|
||||
# Base64.urlsafe_decode64("\n") # Raises ArgumentError.
|
||||
#
|
||||
# Padding in +str+, if present, must be correct:
|
||||
# Padding in +encoded_string+, if present, must be correct:
|
||||
# see {Padding}[Base64.html#module-Base64-label-Padding], above:
|
||||
#
|
||||
# Base64.urlsafe_decode64("MDEyMzQ1Njc") # => "01234567"
|
||||
@ -27,7 +27,7 @@ module T
|
||||
def self.any(type_a, type_b, *types)
|
||||
type_a = T::Utils.coerce(type_a)
|
||||
type_b = T::Utils.coerce(type_b)
|
||||
types = types.map {|t| T::Utils.coerce(t)} if !types.empty?
|
||||
types = types.map { |t| T::Utils.coerce(t) } if !types.empty?
|
||||
T::Types::Union::Private::Pool.union_of_types(type_a, type_b, types)
|
||||
end
|
||||
|
||||
@ -4,5 +4,5 @@
|
||||
module T
|
||||
# T::Boolean is a type alias helper for the common `T.any(TrueClass, FalseClass)`.
|
||||
# Defined separately from _types.rb because it has a dependency on T::Types::Union.
|
||||
Boolean = T.type_alias {T.any(TrueClass, FalseClass)}
|
||||
Boolean = T.type_alias { T.any(TrueClass, FalseClass) }
|
||||
end
|
||||
@ -419,12 +419,12 @@ module T::Configuration
|
||||
if values.nil?
|
||||
@scalar_types = values
|
||||
else
|
||||
bad_values = values.reject {|v| v.class == String}
|
||||
bad_values = values.reject { |v| v.class == String }
|
||||
unless bad_values.empty?
|
||||
raise ArgumentError.new("Provided values must all be class name strings.")
|
||||
end
|
||||
|
||||
@scalar_types = values.each_with_object({}) {|x, acc| acc[x] = true}.freeze
|
||||
@scalar_types = values.each_with_object({}) { |x, acc| acc[x] = true }.freeze
|
||||
end
|
||||
end
|
||||
|
||||
@ -449,9 +449,9 @@ module T::Configuration
|
||||
private_constant :MODULE_NAME
|
||||
|
||||
@default_module_name_mangler = if T::Configuration::AT_LEAST_RUBY_2_7
|
||||
->(type) {MODULE_NAME.bind_call(type)}
|
||||
->(type) { MODULE_NAME.bind_call(type) }
|
||||
else
|
||||
->(type) {MODULE_NAME.bind(type).call} # rubocop:disable Performance/BindCall
|
||||
->(type) { MODULE_NAME.bind(type).call } # rubocop:disable Performance/BindCall
|
||||
end
|
||||
|
||||
@module_name_mangler = nil
|
||||
@ -44,11 +44,11 @@ class T::Enum
|
||||
extend T::Props::CustomType
|
||||
|
||||
# TODO(jez) Might want to restrict this, or make subclasses provide this type
|
||||
SerializedVal = T.type_alias {T.untyped}
|
||||
SerializedVal = T.type_alias { T.untyped }
|
||||
private_constant :SerializedVal
|
||||
|
||||
### Enum class methods ###
|
||||
sig {returns(T::Array[T.attached_class])}
|
||||
sig { returns(T::Array[T.attached_class]) }
|
||||
def self.values
|
||||
if @values.nil?
|
||||
raise "Attempting to access values of #{self.class} before it has been initialized." \
|
||||
@ -59,7 +59,7 @@ class T::Enum
|
||||
|
||||
# This exists for compatibility with the interface of `Hash` & mostly to support
|
||||
# the HashEachMethods Rubocop.
|
||||
sig {params(blk: T.nilable(T.proc.params(arg0: T.attached_class).void)).returns(T.any(T::Enumerator[T.attached_class], T::Array[T.attached_class]))}
|
||||
sig { params(blk: T.nilable(T.proc.params(arg0: T.attached_class).void)).returns(T.any(T::Enumerator[T.attached_class], T::Array[T.attached_class])) }
|
||||
def self.each_value(&blk)
|
||||
if blk
|
||||
values.each(&blk)
|
||||
@ -72,7 +72,7 @@ class T::Enum
|
||||
#
|
||||
# Note: It would have been nice to make this method final before people started overriding it.
|
||||
# Note: Failed CriticalMethodsNoRuntimeTypingTest
|
||||
sig {params(serialized_val: SerializedVal).returns(T.nilable(T.attached_class)).checked(:never)}
|
||||
sig { params(serialized_val: SerializedVal).returns(T.nilable(T.attached_class)).checked(:never) }
|
||||
def self.try_deserialize(serialized_val)
|
||||
if @mapping.nil?
|
||||
raise "Attempting to access serialization map of #{self.class} before it has been initialized." \
|
||||
@ -88,7 +88,7 @@ class T::Enum
|
||||
#
|
||||
# @return [self]
|
||||
# @raise [KeyError] if serialized value does not match any instance.
|
||||
sig {overridable.params(serialized_val: SerializedVal).returns(T.attached_class).checked(:never)}
|
||||
sig { overridable.params(serialized_val: SerializedVal).returns(T.attached_class).checked(:never) }
|
||||
def self.from_serialized(serialized_val)
|
||||
res = try_deserialize(serialized_val)
|
||||
if res.nil?
|
||||
@ -99,7 +99,7 @@ class T::Enum
|
||||
|
||||
# Note: It would have been nice to make this method final before people started overriding it.
|
||||
# @return [Boolean] Does the given serialized value correspond with any of this enum's values.
|
||||
sig {overridable.params(serialized_val: SerializedVal).returns(T::Boolean).checked(:never)}
|
||||
sig { overridable.params(serialized_val: SerializedVal).returns(T::Boolean).checked(:never) }
|
||||
def self.has_serialized?(serialized_val)
|
||||
if @mapping.nil?
|
||||
raise "Attempting to access serialization map of #{self.class} before it has been initialized." \
|
||||
@ -109,7 +109,7 @@ class T::Enum
|
||||
end
|
||||
|
||||
# Note: Failed CriticalMethodsNoRuntimeTypingTest
|
||||
sig {override.params(instance: T.nilable(T::Enum)).returns(SerializedVal).checked(:never)}
|
||||
sig { override.params(instance: T.nilable(T::Enum)).returns(SerializedVal).checked(:never) }
|
||||
def self.serialize(instance)
|
||||
# This is needed otherwise if a Chalk::ODM::Document with a property of the shape
|
||||
# T::Hash[T.nilable(MyEnum), Integer] and a value that looks like {nil => 0} is
|
||||
@ -126,7 +126,7 @@ class T::Enum
|
||||
end
|
||||
|
||||
# Note: Failed CriticalMethodsNoRuntimeTypingTest
|
||||
sig {override.params(mongo_value: SerializedVal).returns(T.attached_class).checked(:never)}
|
||||
sig { override.params(mongo_value: SerializedVal).returns(T.attached_class).checked(:never) }
|
||||
def self.deserialize(mongo_value)
|
||||
if self == T::Enum
|
||||
raise "Cannot call T::Enum.deserialize directly. You must call on a specific child class."
|
||||
@ -136,46 +136,46 @@ class T::Enum
|
||||
|
||||
### Enum instance methods ###
|
||||
|
||||
sig {returns(T.self_type)}
|
||||
sig { returns(T.self_type) }
|
||||
def dup
|
||||
self
|
||||
end
|
||||
|
||||
sig {returns(T.self_type).checked(:tests)}
|
||||
sig { returns(T.self_type).checked(:tests) }
|
||||
def clone
|
||||
self
|
||||
end
|
||||
|
||||
# Note: Failed CriticalMethodsNoRuntimeTypingTest
|
||||
sig {returns(SerializedVal).checked(:never)}
|
||||
sig { returns(SerializedVal).checked(:never) }
|
||||
def serialize
|
||||
assert_bound!
|
||||
@serialized_val
|
||||
end
|
||||
|
||||
sig {params(args: T.untyped).returns(T.untyped)}
|
||||
sig { params(args: T.untyped).returns(T.untyped) }
|
||||
def to_json(*args)
|
||||
serialize.to_json(*args)
|
||||
end
|
||||
|
||||
sig {params(args: T.untyped).returns(T.untyped)}
|
||||
sig { params(args: T.untyped).returns(T.untyped) }
|
||||
def as_json(*args)
|
||||
serialized_val = serialize
|
||||
return serialized_val unless serialized_val.respond_to?(:as_json)
|
||||
serialized_val.as_json(*args)
|
||||
end
|
||||
|
||||
sig {returns(String)}
|
||||
sig { returns(String) }
|
||||
def to_s
|
||||
inspect
|
||||
end
|
||||
|
||||
sig {returns(String)}
|
||||
sig { returns(String) }
|
||||
def inspect
|
||||
"#<#{self.class.name}::#{@const_name || '__UNINITIALIZED__'}>"
|
||||
end
|
||||
|
||||
sig {params(other: BasicObject).returns(T.nilable(Integer))}
|
||||
sig { params(other: BasicObject).returns(T.nilable(Integer)) }
|
||||
def <=>(other)
|
||||
case other
|
||||
when self.class
|
||||
@ -192,7 +192,7 @@ class T::Enum
|
||||
# responds to the `to_str` method. It does not actually call `to_str` however.
|
||||
#
|
||||
# See https://ruby-doc.org/core-2.4.0/String.html#method-i-3D-3D
|
||||
T::Sig::WithoutRuntime.sig {returns(String)}
|
||||
T::Sig::WithoutRuntime.sig { returns(String) }
|
||||
def to_str
|
||||
msg = 'Implicit conversion of Enum instances to strings is not allowed. Call #serialize instead.'
|
||||
if T::Configuration.legacy_t_enum_migration_mode?
|
||||
@ -200,7 +200,7 @@ class T::Enum
|
||||
msg,
|
||||
storytime: {
|
||||
class: self.class.name,
|
||||
caller_location: Kernel.caller_locations(1..1)&.[](0)&.then {"#{_1.path}:#{_1.lineno}"},
|
||||
caller_location: Kernel.caller_locations(1..1)&.[](0)&.then { "#{_1.path}:#{_1.lineno}" },
|
||||
},
|
||||
)
|
||||
serialize.to_s
|
||||
@ -217,12 +217,12 @@ class T::Enum
|
||||
if T.unsafe(false)
|
||||
# Declare to the type system that the `serialize` method for sure exists
|
||||
# on whatever we mix this into.
|
||||
T::Sig::WithoutRuntime.sig {abstract.returns(T.untyped)}
|
||||
T::Sig::WithoutRuntime.sig { abstract.returns(T.untyped) }
|
||||
def serialize; end
|
||||
end
|
||||
|
||||
# WithoutRuntime so that comparison_assertion_failed can assume a constant stack depth
|
||||
T::Sig::WithoutRuntime.sig {params(other: BasicObject).returns(T::Boolean)}
|
||||
T::Sig::WithoutRuntime.sig { params(other: BasicObject).returns(T::Boolean) }
|
||||
def ==(other)
|
||||
case other
|
||||
when String
|
||||
@ -238,7 +238,7 @@ class T::Enum
|
||||
end
|
||||
|
||||
# WithoutRuntime so that comparison_assertion_failed can assume a constant stack depth
|
||||
T::Sig::WithoutRuntime.sig {params(other: BasicObject).returns(T::Boolean)}
|
||||
T::Sig::WithoutRuntime.sig { params(other: BasicObject).returns(T::Boolean) }
|
||||
def ===(other)
|
||||
case other
|
||||
when String
|
||||
@ -255,7 +255,7 @@ class T::Enum
|
||||
|
||||
# WithoutRuntime so that caller_locations can assume a constant stack depth
|
||||
# (Otherwise, the first call would be the method with the wrapping, which would have a different stack depth.)
|
||||
T::Sig::WithoutRuntime.sig {params(method: Symbol, other: T.untyped).void}
|
||||
T::Sig::WithoutRuntime.sig { params(method: Symbol, other: T.untyped).void }
|
||||
private def comparison_assertion_failed(method, other)
|
||||
T::Configuration.soft_assert_handler(
|
||||
'Enum to string comparison not allowed. Compare to the Enum instance directly instead. See go/enum-migration',
|
||||
@ -265,7 +265,7 @@ class T::Enum
|
||||
other: other,
|
||||
other_class: other.class.name,
|
||||
method: method,
|
||||
caller_location: Kernel.caller_locations(2..2)&.[](0)&.then {"#{_1.path}:#{_1.lineno}"},
|
||||
caller_location: Kernel.caller_locations(2..2)&.[](0)&.then { "#{_1.path}:#{_1.lineno}" },
|
||||
}
|
||||
)
|
||||
end
|
||||
@ -276,7 +276,7 @@ class T::Enum
|
||||
UNSET = T.let(Module.new.freeze, Module)
|
||||
private_constant :UNSET
|
||||
|
||||
sig {params(serialized_val: SerializedVal).void}
|
||||
sig { params(serialized_val: SerializedVal).void }
|
||||
def initialize(serialized_val=UNSET)
|
||||
raise 'T::Enum is abstract' if self.class == T::Enum
|
||||
if !self.class.started_initializing?
|
||||
@ -292,7 +292,7 @@ class T::Enum
|
||||
self.class._register_instance(self)
|
||||
end
|
||||
|
||||
sig {returns(NilClass).checked(:never)}
|
||||
sig { returns(NilClass).checked(:never) }
|
||||
private def assert_bound!
|
||||
if @const_name.nil?
|
||||
raise "Attempting to access Enum value on #{self.class} before it has been initialized." \
|
||||
@ -300,14 +300,14 @@ class T::Enum
|
||||
end
|
||||
end
|
||||
|
||||
sig {params(const_name: Symbol).void}
|
||||
sig { params(const_name: Symbol).void }
|
||||
def _bind_name(const_name)
|
||||
@const_name = const_name
|
||||
@serialized_val = const_to_serialized_val(const_name) if @serialized_val.equal?(UNSET)
|
||||
freeze
|
||||
end
|
||||
|
||||
sig {params(const_name: Symbol).returns(String)}
|
||||
sig { params(const_name: Symbol).returns(String) }
|
||||
private def const_to_serialized_val(const_name)
|
||||
# Historical note: We convert to lowercase names because the majority of existing calls to
|
||||
# `make_accessible` were arrays of lowercase strings. Doing this conversion allowed for the
|
||||
@ -315,7 +315,7 @@ class T::Enum
|
||||
-const_name.to_s.downcase.freeze
|
||||
end
|
||||
|
||||
sig {returns(T::Boolean)}
|
||||
sig { returns(T::Boolean) }
|
||||
def self.started_initializing?
|
||||
unless defined?(@started_initializing)
|
||||
@started_initializing = T.let(false, T.nilable(T::Boolean))
|
||||
@ -323,7 +323,7 @@ class T::Enum
|
||||
T.must(@started_initializing)
|
||||
end
|
||||
|
||||
sig {returns(T::Boolean)}
|
||||
sig { returns(T::Boolean) }
|
||||
def self.fully_initialized?
|
||||
unless defined?(@fully_initialized)
|
||||
@fully_initialized = T.let(false, T.nilable(T::Boolean))
|
||||
@ -332,7 +332,7 @@ class T::Enum
|
||||
end
|
||||
|
||||
# Maintains the order in which values are defined
|
||||
sig {params(instance: T.untyped).void}
|
||||
sig { params(instance: T.untyped).void }
|
||||
def self._register_instance(instance)
|
||||
@values ||= []
|
||||
@values << T.cast(instance, T.attached_class)
|
||||
@ -340,7 +340,7 @@ class T::Enum
|
||||
|
||||
# Entrypoint for allowing people to register new enum values.
|
||||
# All enum values must be defined within this block.
|
||||
sig {params(blk: T.proc.void).void}
|
||||
sig { params(blk: T.proc.void).void }
|
||||
def self.enums(&blk)
|
||||
raise "enums cannot be defined for T::Enum" if self == T::Enum
|
||||
raise "Enum #{self} was already initialized" if fully_initialized?
|
||||
@ -375,13 +375,13 @@ class T::Enum
|
||||
|
||||
orphaned_instances = T.must(@values) - @mapping.values
|
||||
if !orphaned_instances.empty?
|
||||
raise "Enum values must be assigned to constants: #{orphaned_instances.map {|v| v.instance_variable_get('@serialized_val')}}"
|
||||
raise "Enum values must be assigned to constants: #{orphaned_instances.map { |v| v.instance_variable_get('@serialized_val') }}"
|
||||
end
|
||||
|
||||
@fully_initialized = true
|
||||
end
|
||||
|
||||
sig {params(child_class: T::Class[T.anything]).void}
|
||||
sig { params(child_class: T::Class[T.anything]).void }
|
||||
def self.inherited(child_class)
|
||||
super
|
||||
|
||||
@ -394,12 +394,12 @@ class T::Enum
|
||||
end
|
||||
|
||||
# Marshal support
|
||||
sig {params(_level: Integer).returns(String)}
|
||||
sig { params(_level: Integer).returns(String) }
|
||||
def _dump(_level)
|
||||
Marshal.dump(serialize)
|
||||
end
|
||||
|
||||
sig {params(args: String).returns(T.attached_class)}
|
||||
sig { params(args: String).returns(T.attached_class) }
|
||||
def self._load(args)
|
||||
deserialize(Marshal.load(args)) # rubocop:disable Security/MarshalLoad
|
||||
end
|
||||
@ -4,7 +4,7 @@
|
||||
module T::NonForcingConstants
|
||||
# NOTE: This method is documented on the RBI in Sorbet's payload, so that it
|
||||
# shows up in the hover/completion documentation via LSP.
|
||||
T::Sig::WithoutRuntime.sig {params(val: BasicObject, klass: String).returns(T::Boolean)}
|
||||
T::Sig::WithoutRuntime.sig { params(val: BasicObject, klass: String).returns(T::Boolean) }
|
||||
def self.non_forcing_is_a?(val, klass)
|
||||
method_name = "T::NonForcingConstants.non_forcing_is_a?"
|
||||
if klass.empty?
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user