diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index c804e66553..a1a3e04900 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -15,7 +15,7 @@ jobs: version: ["16.04", "18.04", "20.04"] steps: - name: Checkout - uses: actions/checkout@master + uses: actions/checkout@main with: fetch-depth: 0 persist-credentials: false @@ -23,8 +23,8 @@ jobs: run: git fetch origin master - name: Build Docker image run: docker build -t brew --build-arg=version=${{matrix.version}} . - - name: Run brew test-bot - run: docker run --rm brew brew test-bot + - name: Run brew test-bot --only-setup + run: docker run --rm brew brew test-bot --only-setup - name: Deploy the tagged Docker image to GitHub if: startsWith(github.ref, 'refs/tags/') run: | diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index 64c6a707b3..d99a1d5260 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -8,6 +8,9 @@ on: - Library/Homebrew/extend/os/diagnostic.rb - Library/Homebrew/extend/os/mac/diagnostic.rb - Library/Homebrew/os/mac/xcode.rb +env: + HOMEBREW_DEVELOPER: 1 + HOMEBREW_NO_AUTO_UPDATE: 1 jobs: tests: strategy: @@ -17,21 +20,10 @@ jobs: runs-on: ${{ matrix.version }} env: PATH: '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin' - HOMEBREW_DEVELOPER: 1 - HOMEBREW_NO_ANALYTICS: 1 - HOMEBREW_NO_AUTO_UPDATE: 1 steps: - - name: Update Homebrew - run: brew update-reset - - - name: Set up Git repository - run: | - cd $(brew --repo) - git clean -ffdx - git fetch --prune --force origin master - git fetch --prune --force origin ${{github.sha}} - git checkout --force ${{github.sha}} - git log -1 + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master - name: Run brew test-bot --only-cleanup-before run: brew test-bot --only-cleanup-before @@ -42,9 +34,3 @@ jobs: - name: Run brew test-bot --only-cleanup-after if: always() run: brew test-bot --only-cleanup-after - - - name: Cleanup - if: always() - run: | - find . - rm -rf * diff --git a/.github/workflows/spdx.yml b/.github/workflows/spdx.yml index 81b6743d39..b4d27c90bc 100644 --- a/.github/workflows/spdx.yml +++ b/.github/workflows/spdx.yml @@ -1,30 +1,24 @@ name: Update license data - on: + pull_request: + paths: + - .github/workflows/spdx.yml schedule: - cron: '0 */12 * * *' - jobs: spdx: + if: github.repository == 'Homebrew/brew' runs-on: ubuntu-latest - env: - HOMEBREW_NO_ANALYTICS: 1 - HOMEBREW_NO_AUTO_UPDATE: 1 steps: - - name: Checkout - uses: actions/checkout@v2 + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master - - name: Configure Git + - name: Configure Git user uses: Homebrew/actions/git-user-config@master with: username: BrewTestBot - - name: Setup Homebrew - run: | - HOMEBREW_REPOSITORY="$(brew --repo)" - rm -rf "$HOMEBREW_REPOSITORY" - ln -s "$GITHUB_WORKSPACE" "$HOMEBREW_REPOSITORY" - - name: Update license data env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7e573f2db2..d0ea953420 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,7 +4,7 @@ on: branches: master pull_request: [] env: - HOMEBREW_GITHUB_ACTIONS: 1 + HOMEBREW_DEVELOPER: 1 HOMEBREW_NO_AUTO_UPDATE: 1 jobs: tests: @@ -16,72 +16,29 @@ jobs: steps: - name: Set up Homebrew id: set-up-homebrew - run: | - if which brew &>/dev/null; then - HOMEBREW_PREFIX="$(brew --prefix)" - HOMEBREW_REPOSITORY="$HOMEBREW_PREFIX/Homebrew" - else - HOMEBREW_PREFIX=/home/linuxbrew/.linuxbrew - HOMEBREW_REPOSITORY="$HOMEBREW_PREFIX/Homebrew" - sudo mkdir -p "$HOMEBREW_REPOSITORY/Library/Taps" - git -C "$HOMEBREW_REPOSITORY" init - git -C "$HOMEBREW_REPOSITORY" remote add origin "https://github.com/$GITHUB_REPOSITORY" + uses: Homebrew/actions/setup-homebrew@master - cd "$HOMEBREW_PREFIX" - sudo mkdir -p bin etc include lib opt sbin share var/homebrew/linked Cellar - sudo ln -sf ../Homebrew/bin/brew "$HOMEBREW_PREFIX/bin/" - cd - - fi - - export PATH="$HOMEBREW_PREFIX/bin:$PATH" - echo "::add-path::$HOMEBREW_PREFIX/bin" - - cd "$HOMEBREW_REPOSITORY" - rm -rf "$GITHUB_WORKSPACE" - ln -s "$HOMEBREW_REPOSITORY" "$GITHUB_WORKSPACE" - git fetch --tags origin "${{github.sha}}" - git checkout --force -B master FETCH_HEAD - brew update-reset Library/Taps/homebrew/homebrew-core - cd - - - GEMS_HASH=$(shasum -a 256 "$HOMEBREW_REPOSITORY/Library/Homebrew/Gemfile.lock" | cut -f1 -d' ') - echo "::set-output name=gems-hash::$GEMS_HASH" - - if [ "$RUNNER_OS" = "Linux" ]; then - sudo chown -R "$USER" "$HOMEBREW_PREFIX" - fi - - - name: Set up Ruby - if: matrix.os == 'ubuntu-latest' - uses: actions/setup-ruby@main + - name: Configure Git user + uses: Homebrew/actions/git-user-config@master with: - ruby-version: '2.6' + username: BrewTestBot + + - name: Run brew test-bot --only-cleanup-before + run: brew test-bot --only-cleanup-before - name: Run brew config run: brew config - name: Run brew doctor - run: | - # minimally fix brew doctor failures (a full clean takes ~5m) - if [ "$RUNNER_OS" = "Linux" ]; then - sudo rm -rf /usr/local/include/node/ - else - # link old formulae - brew link --overwrite --force gettext python@3.8 - - # remove deleted formula - brew uninstall --force python@2 - fi - brew doctor + run: brew doctor - name: Cache Bundler RubyGems id: cache - uses: actions/cache@v1 + uses: actions/cache@main with: - path: Library/Homebrew/vendor/bundle/ruby/ + path: ${{ steps.set-up-homebrew.outputs.gems-path }} key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} - restore-keys: | - ${{ runner.os }}-rubygems- + restore-keys: ${{ runner.os }}-rubygems- - name: Install Bundler RubyGems if: steps.cache.outputs.cache-hit != 'true' @@ -90,31 +47,19 @@ jobs: - name: Check for uncommitted RubyGems run: git diff --stat --exit-code Library/Homebrew/vendor/bundle/ruby - - name: Install taps + - name: Set up Homebrew official command taps run: | - # Install taps needed for 'brew tests' and 'brew man' - cd "$(brew --repo)" + # Setup taps needed for 'brew tests' and 'brew man' brew tap homebrew/bundle - brew update-reset Library/Taps/homebrew/homebrew-bundle - brew tap homebrew/services - brew update-reset Library/Taps/homebrew/homebrew-services - brew tap homebrew/test-bot - brew update-reset Library/Taps/homebrew/homebrew-test-bot + cd "$(brew --repo)" + if [ "$RUNNER_OS" = "macOS" ]; then - brew tap homebrew/cask - brew update-reset Library/Taps/homebrew/homebrew-cask - - # don't care about `brew cask style` here. - brew untap adoptopenjdk/openjdk - - # don't care about `brew audit` here. - brew untap mongodb/brew + brew update-reset Library/Taps/homebrew/homebrew-cask Library/Taps/homebrew/homebrew-services else - # Fix permissions for 'brew tests' - sudo chmod -R g-w,o-w /home/linuxbrew /home/runner /opt + brew update-reset Library/Taps/homebrew/homebrew-services fi - - name: Run brew style + - name: Run brew style on Homebrew/brew run: brew style --display-cop-names - name: Run brew man @@ -123,12 +68,9 @@ jobs: - name: Run brew tests run: | # brew tests doesn't like world writable directories - umask 022 - - # set variables for coverage reporting - export HOMEBREW_CI_BUILD_NUMBER="$GITHUB_REF" - export HOMEBREW_CI_BRANCH="$HEAD_GITHUB_REF" - export HOMEBREW_GITHUB_REPOSITORY="$GITHUB_REPOSITORY" + if [[ "$RUNNER_OS" = "Linux" ]]; then + sudo chmod -R g-w,o-w /home/linuxbrew/.linuxbrew/Homebrew + fi # don't bother running all tests on both platforms (for speed) if [ "$RUNNER_OS" = "Linux" ]; then @@ -149,8 +91,6 @@ jobs: - name: Run brew update-tests run: | - git config --global user.name "BrewTestBot" - git config --global user.email "homebrew-test-bot@lists.sfconservancy.org" brew update-test brew update-test --to-tag brew update-test --commit=HEAD @@ -160,16 +100,27 @@ jobs: run: brew readall --aliases - name: Run brew style on homebrew-core + if: matrix.os == 'macOS-latest' + run: brew style --display-cop-names homebrew/core + + - name: Run brew style on linuxbrew-core + if: matrix.os == 'ubuntu-latest' run: brew style --display-cop-names homebrew/core - name: Run brew style on official taps run: brew style --display-cop-names homebrew/bundle homebrew/services homebrew/test-bot - - name: Run brew cask style + - name: Run brew cask style on all taps if: matrix.os == 'macOS-latest' - run: brew cask style + run: | + brew tap homebrew/cask + brew tap homebrew/cask-drivers + brew tap homebrew/cask-fonts + brew tap homebrew/cask-versions - - name: Run brew audit + brew cask style + + - name: Run brew audit --skip-style on all taps run: brew audit --skip-style - name: Run vale for docs linting diff --git a/Library/.rubocop.yml b/Library/.rubocop.yml index d8d0fdcedb..d741c7e09c 100644 --- a/Library/.rubocop.yml +++ b/Library/.rubocop.yml @@ -161,7 +161,6 @@ Lint/AmbiguousRegexpLiteral: Lint/ParenthesesAsGroupedExpression: Enabled: false - # most metrics don't make sense to apply for formulae/taps Metrics/AbcSize: Enabled: false diff --git a/Library/.rubocop_cask.yml b/Library/.rubocop_cask.yml index e53db5a55d..cc6ccf9a5f 100644 --- a/Library/.rubocop_cask.yml +++ b/Library/.rubocop_cask.yml @@ -1,5 +1,9 @@ inherit_from: ./Homebrew/.rubocop.yml +Cask/Desc: + Description: 'Ensure that the desc stanza conforms to various content and style checks.' + Enabled: true + Cask/HomepageMatchesUrl: Description: 'Ensure that the homepage and url match, otherwise add a comment. More info at https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/stanzas/url.md#when-url-and-homepage-hostnames-differ-add-a-comment' Enabled: true @@ -13,13 +17,15 @@ Cask/NoDslVersion: Enabled: true Cask/StanzaGrouping: - Description: 'Ensure that cask stanzas are grouped correctly. More info at https://github.com/Homebrew/homebrew-cask/blob/HEAD/CONTRIBUTING.md#stanza-order' + Description: 'Ensure that cask stanzas are grouped correctly. More info at https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/readme.md#stanza-order' Enabled: true Cask/StanzaOrder: - Description: 'Ensure that cask stanzas are sorted correctly. More info at https://github.com/Homebrew/homebrew-cask/blob/HEAD/CONTRIBUTING.md#stanza-order' + Description: 'Ensure that cask stanzas are sorted correctly. More info at https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/readme.md#stanza-order' Enabled: true -# don't want this for casks but re-enabled for Library/Homebrew +# don't want these for casks but re-enabled for Library/Homebrew Style/FrozenStringLiteralComment: Enabled: false +Metrics/BlockLength: + Enabled: false diff --git a/Library/Homebrew/.rubocop.yml b/Library/Homebrew/.rubocop.yml index cca1eb3204..1259bdd8bc 100644 --- a/Library/Homebrew/.rubocop.yml +++ b/Library/Homebrew/.rubocop.yml @@ -37,30 +37,33 @@ Lint/ParenthesesAsGroupedExpression: # TODO: try to bring down all metrics maximums Metrics/AbcSize: Enabled: true - Max: 275 + Max: 250 Metrics/BlockLength: Enabled: true - Max: 1100 + Max: 100 Exclude: - - 'test/formula_spec.rb' + - 'test/**/*' Metrics/BlockNesting: Enabled: true Max: 5 Metrics/ClassLength: Enabled: true - Max: 1400 + Max: 800 + Exclude: + - 'formula.rb' + - 'formula_installer.rb' Metrics/CyclomaticComplexity: Enabled: true - Max: 85 + Max: 80 Metrics/MethodLength: Enabled: true - Max: 300 + Max: 260 Metrics/ModuleLength: Enabled: true - Max: 550 + Max: 600 Metrics/PerceivedComplexity: Enabled: true - Max: 100 + Max: 80 # we won't change backward compatible predicate names Naming/PredicateName: diff --git a/Library/Homebrew/Gemfile b/Library/Homebrew/Gemfile index dc63d715a2..dbcb173e03 100644 --- a/Library/Homebrew/Gemfile +++ b/Library/Homebrew/Gemfile @@ -13,11 +13,9 @@ gem "rspec-retry", require: false gem "rspec-wait", require: false gem "rubocop" gem "simplecov", require: false -if ENV["HOMEBREW_SORBET"] - gem "sorbet", "0.5.5823" - gem "sorbet-runtime", "0.5.5823" - gem "tapioca" -end +gem "sorbet" +gem "sorbet-runtime" +gem "tapioca" # vendored gems gem "activesupport" diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock index 810ddbfebd..0d01fc7f5a 100644 --- a/Library/Homebrew/Gemfile.lock +++ b/Library/Homebrew/Gemfile.lock @@ -10,12 +10,15 @@ GEM ast (2.4.1) bindata (2.4.8) byebug (11.1.3) - codecov (0.2.3) + codecov (0.2.5) colorize json simplecov + coderay (1.1.3) colorize (0.8.1) - concurrent-ruby (1.1.6) + commander (4.5.2) + highline (~> 2.0.0) + concurrent-ruby (1.1.7) connection_pool (2.2.3) diff-lcs (1.4.4) docile (1.3.2) @@ -23,6 +26,7 @@ GEM unf (>= 0.0.5, < 1.0.0) elftools (1.1.2) bindata (~> 2) + highline (2.0.3) hpricot (0.8.6) http-cookie (1.0.3) domain_name (~> 0.5) @@ -38,6 +42,7 @@ GEM nokogiri (~> 1.6) ntlm-http (~> 0.1, >= 0.1.1) webrobots (>= 0.0.9, < 0.2) + method_source (1.0.0) mime-types (3.3.1) mime-types-data (~> 3.2015) mime-types-data (3.2020.0512) @@ -53,13 +58,21 @@ GEM parallel (1.19.2) parallel_tests (3.1.0) parallel + parlour (4.0.1) + commander (~> 4.5) + parser + rainbow (~> 3.0) + sorbet-runtime (>= 0.5) parser (2.7.1.4) ast (~> 2.4.1) patchelf (1.2.0) elftools (~> 1.1) plist (3.5.0) + pry (0.13.1) + coderay (~> 1.1) + method_source (~> 1.0) rainbow (3.0.0) - rdiscount (2.2.0.1) + rdiscount (2.2.0.2) regexp_parser (1.7.1) rexml (3.2.4) ronn (0.7.3) @@ -107,6 +120,17 @@ GEM docile (~> 1.1) simplecov-html (~> 0.11) simplecov-html (0.12.2) + sorbet (0.5.5866) + sorbet-static (= 0.5.5866) + sorbet-runtime (0.5.5866) + sorbet-static (0.5.5866-universal-darwin-14) + tapioca (0.4.1) + parlour (>= 2.1.0) + pry (>= 0.12.2) + sorbet-runtime + sorbet-static (>= 0.4.4471) + thor (>= 0.19.2) + thor (1.0.1) thread_safe (0.3.6) tzinfo (1.2.7) thread_safe (~> 0.1) @@ -139,6 +163,9 @@ DEPENDENCIES rubocop-rspec ruby-macho simplecov + sorbet + sorbet-runtime + tapioca BUNDLED WITH - 1.17.3 + 1.17.2 diff --git a/Library/Homebrew/bintray.rb b/Library/Homebrew/bintray.rb index d9b8512876..5d4b05f36a 100644 --- a/Library/Homebrew/bintray.rb +++ b/Library/Homebrew/bintray.rb @@ -4,6 +4,8 @@ require "utils/curl" require "json" class Bintray + include Context + API_URL = "https://api.bintray.com" class Error < RuntimeError @@ -32,8 +34,8 @@ class Bintray end curl(*args, url, - show_output: Homebrew.args.verbose?, - secrets: @bintray_key) + show_output: verbose?, + secrets: key) end def upload(local_file, repo:, package:, version:, remote_file:, sha256: nil) diff --git a/Library/Homebrew/bottle_publisher.rb b/Library/Homebrew/bottle_publisher.rb deleted file mode 100644 index 92a4e82aeb..0000000000 --- a/Library/Homebrew/bottle_publisher.rb +++ /dev/null @@ -1,160 +0,0 @@ -# frozen_string_literal: true - -require "utils" -require "formula_info" - -class BottlePublisher - def initialize(tap, changed_formulae_names, bintray_org, no_publish, warn_on_publish_failure) - @tap = tap - @changed_formulae_names = changed_formulae_names - @no_publish = no_publish - @bintray_org = bintray_org - @warn_on_publish_failure = warn_on_publish_failure - end - - def publish_and_check_bottles - # Formulae with affected bottles that were published - bintray_published_formulae = [] - - # Publish bottles on Bintray - unless @no_publish - published = publish_changed_formula_bottles - bintray_published_formulae.concat(published) - end - - # Verify bintray publishing after all patches have been applied - bintray_published_formulae.uniq! - verify_bintray_published(bintray_published_formulae) - end - - def publish_changed_formula_bottles - raise "Need to load formulae to publish them!" if Homebrew::EnvConfig.disable_load_formula? - - published = [] - bintray_creds = { user: Homebrew::EnvConfig.bintray_user, key: Homebrew::EnvConfig.bintray_key } - if bintray_creds[:user] && bintray_creds[:key] - @changed_formulae_names.each do |name| - f = Formula[name] - next if f.bottle_unneeded? || f.bottle_disabled? - - bintray_org = @bintray_org || @tap.user.downcase - next unless publish_bottle_file_on_bintray(f, bintray_org, bintray_creds) - - published << f.full_name - end - else - opoo "You must set HOMEBREW_BINTRAY_USER and HOMEBREW_BINTRAY_KEY to add or update bottles on Bintray!" - end - published - end - - # Publishes the current bottle files for a given formula to Bintray - def publish_bottle_file_on_bintray(f, bintray_org, creds) - repo = Utils::Bottles::Bintray.repository(f.tap) - package = Utils::Bottles::Bintray.package(f.name) - info = FormulaInfo.lookup(f.full_name) - raise "Failed publishing bottle: failed reading formula info for #{f.full_name}" if info.nil? - - unless info.bottle_info_any - opoo "No bottle defined in formula #{package}" - return false - end - version = info.pkg_version - ohai "Publishing on Bintray: #{package} #{version}" - curl "--write-out", '\n', "--silent", "--fail", - "--user", "#{creds[:user]}:#{creds[:key]}", "--request", "POST", - "--header", "Content-Type: application/json", - "--data", '{"publish_wait_for_secs": 0}', - "https://api.bintray.com/content/#{bintray_org}/#{repo}/#{package}/#{version}/publish" - true - rescue => e - raise unless @warn_on_publish_failure - - onoe e - false - end - - # Verifies that formulae have been published on Bintray by downloading a bottle file - # for each one. Blocks until the published files are available. - # Raises an error if the verification fails. - # This does not currently work for `brew pull`, because it may have cached the old - # version of a formula. - def verify_bintray_published(formulae_names) - return if formulae_names.empty? - - raise "Need to load formulae to verify their publication!" if Homebrew::EnvConfig.disable_load_formula? - - ohai "Verifying bottles published on Bintray" - formulae = formulae_names.map { |n| Formula[n] } - max_retries = 300 # shared among all bottles - poll_retry_delay_seconds = 2 - - HOMEBREW_CACHE.cd do - formulae.each do |f| - retry_count = 0 - wrote_dots = false - # Choose arbitrary bottle just to get the host/port for Bintray right - jinfo = FormulaInfo.lookup(f.full_name) - unless jinfo - opoo "Cannot publish bottle: Failed reading info for formula #{f.full_name}" - next - end - bottle_info = jinfo.bottle_info_any - unless bottle_info - opoo "No bottle defined in formula #{f.full_name}" - next - end - - # Poll for publication completion using a quick partial HEAD, to avoid spurious error messages - # 401 error is normal while file is still in async publishing process - url = URI(bottle_info["url"]) - puts "Verifying bottle: #{File.basename(url.path)}" - http = Net::HTTP.new(url.host, url.port) - http.use_ssl = true - retry_count = 0 - http.start do - loop do - req = Net::HTTP::Head.new url - req.initialize_http_header "User-Agent" => HOMEBREW_USER_AGENT_RUBY - res = http.request req - break if res.is_a?(Net::HTTPSuccess) || res.code == "302" - - unless res.is_a?(Net::HTTPClientError) - raise "Failed to find published #{f} bottle at #{url} (#{res.code} #{res.message})!" - end - - raise "Failed to find published #{f} bottle at #{url}!" if retry_count >= max_retries - - print(wrote_dots ? "." : "Waiting on Bintray.") - wrote_dots = true - sleep poll_retry_delay_seconds - retry_count += 1 - end - end - - # Actual download and verification - # We do a retry on this, too, because sometimes the external curl will fail even - # when the prior HEAD has succeeded. - puts "\n" if wrote_dots - filename = File.basename(url.path) - curl_retry_delay_seconds = 4 - max_curl_retries = 1 - retry_count = 0 - # We're in the cache; make sure to force re-download - loop do - curl_download url, to: filename - break - rescue - raise "Failed to download #{f} bottle from #{url}!" if retry_count >= max_curl_retries - - puts "curl download failed; retrying in #{curl_retry_delay_seconds} sec" - sleep curl_retry_delay_seconds - curl_retry_delay_seconds *= 2 - retry_count += 1 - end - checksum = Checksum.new(:sha256, bottle_info["sha256"]) - Pathname.new(filename).verify_checksum(checksum) - end - end - end -end diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index ca89004014..d33b6948ab 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -59,7 +59,9 @@ begin ARGV.delete_at(help_cmd_index) if help_cmd_index - Homebrew.args = Homebrew::CLI::Parser.new.parse(ARGV.dup.freeze, ignore_invalid_options: true) + args = Homebrew::CLI::Parser.new.parse(ARGV.dup.freeze, ignore_invalid_options: true) + Homebrew.args = args + Context.current = args.context path = PATH.new(ENV["PATH"]) homebrew_path = PATH.new(ENV["HOMEBREW_PATH"]) @@ -102,8 +104,8 @@ begin # - if cmd is Cask, let Cask handle the help command instead if (empty_argv || help_flag) && cmd != "cask" require "help" - Homebrew::Help.help cmd, empty_argv: empty_argv - # `Homebrew.help` never returns, except for unknown commands. + Homebrew::Help.help cmd, remaining_args: args.remaining, empty_argv: empty_argv + # `Homebrew::Help.help` never returns, except for unknown commands. end if internal_cmd || Commands.external_ruby_v2_cmd_path(cmd) @@ -138,17 +140,17 @@ begin end rescue UsageError => e require "help" - Homebrew::Help.help cmd, usage_error: e.message + Homebrew::Help.help cmd, remaining_args: args.remaining, usage_error: e.message rescue SystemExit => e - onoe "Kernel.exit" if Homebrew.args.debug? && !e.success? - $stderr.puts e.backtrace if Homebrew.args.debug? + onoe "Kernel.exit" if args.debug? && !e.success? + $stderr.puts e.backtrace if args.debug? raise rescue Interrupt $stderr.puts # seemingly a newline is typical exit 130 rescue BuildError => e Utils::Analytics.report_build_error(e) - e.dump + e.dump(verbose: args.verbose?) if e.formula.head? || e.formula.deprecated? || e.formula.disabled? $stderr.puts <<~EOS @@ -162,7 +164,7 @@ rescue RuntimeError, SystemCallError => e raise if e.message.empty? onoe e - $stderr.puts e.backtrace if Homebrew.args.debug? + $stderr.puts e.backtrace if args.debug? exit 1 rescue MethodDeprecatedError => e @@ -171,7 +173,7 @@ rescue MethodDeprecatedError => e $stderr.puts "If reporting this issue please do so at (not Homebrew/brew or Homebrew/core):" $stderr.puts " #{Formatter.url(e.issues_url)}" end - $stderr.puts e.backtrace if Homebrew.args.debug? + $stderr.puts e.backtrace if args.debug? exit 1 rescue Exception => e # rubocop:disable Lint/RescueException onoe e diff --git a/Library/Homebrew/brew.sh b/Library/Homebrew/brew.sh index 977d3bd06b..b958c9e1ab 100644 --- a/Library/Homebrew/brew.sh +++ b/Library/Homebrew/brew.sh @@ -41,6 +41,7 @@ case "$*" in --prefix) echo "$HOMEBREW_PREFIX"; exit 0 ;; --cellar) echo "$HOMEBREW_CELLAR"; exit 0 ;; --repository|--repo) echo "$HOMEBREW_REPOSITORY"; exit 0 ;; + --caskroom) echo "$HOMEBREW_PREFIX/Caskroom"; exit 0 ;; esac # A depth of 1 means this command was directly invoked by a user. @@ -283,11 +284,6 @@ export HOMEBREW_USER_AGENT export HOMEBREW_USER_AGENT_CURL export HOMEBREW_BOTTLE_DEFAULT_DOMAIN -if [[ -n "$HOMEBREW_DEVELOPER" ]] && [[ -z "$HOMEBREW_NO_PATCHELF_RB" ]] -then - export HOMEBREW_PATCHELF_RB="1" -fi - if [[ -n "$HOMEBREW_MACOS" && -x "/usr/bin/xcode-select" ]] then XCODE_SELECT_PATH=$('/usr/bin/xcode-select' --print-path 2>/dev/null) diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index d0ec6dacf7..51b20093da 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -139,7 +139,11 @@ class Build formula.update_head_version - formula.brew(fetch: false, keep_tmp: args.keep_tmp?, interactive: args.interactive?) do |_formula, _staging| + formula.brew( + fetch: false, + keep_tmp: args.keep_tmp?, + interactive: args.interactive?, + ) do # For head builds, HOMEBREW_FORMULA_PREFIX should include the commit, # which is not known until after the formula has been staged. ENV["HOMEBREW_FORMULA_PREFIX"] = formula.prefix @@ -201,16 +205,15 @@ class Build else raise end - Keg.new(path).optlink + Keg.new(path).optlink(verbose: args.verbose?) rescue raise "#{f.opt_prefix} not present or broken\nPlease reinstall #{f.full_name}. Sorry :(" end end begin - Homebrew.args = Homebrew::CLI::Parser.new.parse(ARGV.dup.freeze, ignore_invalid_options: true) - args = Homebrew.install_args.parse + Context.current = args.context error_pipe = UNIXSocket.open(ENV["HOMEBREW_ERROR_PIPE"], &:recv_io) error_pipe.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) diff --git a/Library/Homebrew/cask/all.rb b/Library/Homebrew/cask.rb similarity index 62% rename from Library/Homebrew/cask/all.rb rename to Library/Homebrew/cask.rb index 2b798d8cb5..0e2132e78e 100644 --- a/Library/Homebrew/cask/all.rb +++ b/Library/Homebrew/cask.rb @@ -1,19 +1,26 @@ # frozen_string_literal: true -require "hardware" - require "cask/artifact" require "cask/audit" require "cask/auditor" require "cask/cache" -require "cask/cask" require "cask/cask_loader" +require "cask/cask" require "cask/caskroom" require "cask/cmd" +require "cask/config" +require "cask/exceptions" +require "cask/denylist" +require "cask/download" +require "cask/dsl" require "cask/exceptions" require "cask/installer" require "cask/macos" +require "cask/metadata" require "cask/pkg" +require "cask/quarantine" require "cask/staged" +require "cask/topological_hash" +require "cask/url" require "cask/utils" require "cask/verify" diff --git a/Library/Homebrew/cask/audit.rb b/Library/Homebrew/cask/audit.rb index 3a5fcae495..5e21b2fc21 100644 --- a/Library/Homebrew/cask/audit.rb +++ b/Library/Homebrew/cask/audit.rb @@ -13,7 +13,7 @@ module Cask attr_reader :cask, :commit_range, :download - attr_predicate :appcast? + attr_predicate :appcast?, :new_cask?, :strict?, :online? def initialize(cask, appcast: false, download: false, quarantine: nil, token_conflicts: false, online: false, strict: false, @@ -34,6 +34,7 @@ module Cask check_required_stanzas check_version check_sha256 + check_desc check_url check_generic_artifacts check_token_valid @@ -279,6 +280,14 @@ module Cask end end + def check_desc + return unless new_cask? + + return if cask.desc.present? + + add_warning "Cask should have a description. Please add a `desc` stanza." + end + def check_url return unless cask.url @@ -339,7 +348,7 @@ module Cask end def check_token_valid - return unless @strict + return unless strict? add_warning "cask token is not lowercase" if cask.token.downcase! @@ -365,7 +374,7 @@ module Cask end def check_token_bad_words - return unless @strict + return unless strict? token = cask.token @@ -467,8 +476,8 @@ module Cask end def get_repo_data(regex) - return unless @online - return unless @new_cask + return unless online? + return unless new_cask? _, user, repo = *regex.match(cask.url.to_s) _, user, repo = *regex.match(cask.homepage) unless user diff --git a/Library/Homebrew/cask/auditor.rb b/Library/Homebrew/cask/auditor.rb index 9ba9148e66..91c7c88c27 100644 --- a/Library/Homebrew/cask/auditor.rb +++ b/Library/Homebrew/cask/auditor.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "cask/audit" + module Cask class Auditor extend Predicable diff --git a/Library/Homebrew/cask/cask.rb b/Library/Homebrew/cask/cask.rb index 710753fa4a..bdda5b6e77 100644 --- a/Library/Homebrew/cask/cask.rb +++ b/Library/Homebrew/cask/cask.rb @@ -155,6 +155,7 @@ module Cask { "token" => token, "name" => name, + "desc" => desc, "homepage" => homepage, "url" => url, "appcast" => appcast, diff --git a/Library/Homebrew/cask/cmd.rb b/Library/Homebrew/cask/cmd.rb index 63ae4c5fa1..b3d4b5e33a 100644 --- a/Library/Homebrew/cask/cmd.rb +++ b/Library/Homebrew/cask/cmd.rb @@ -35,6 +35,8 @@ require "cask/cmd/internal_stanza" module Cask class Cmd + include Context + ALIASES = { "ls" => "list", "homepage" => "home", @@ -154,7 +156,7 @@ module Cask end rescue CaskError, MethodDeprecatedError, ArgumentError, OptionParser::InvalidOption => e onoe e.message - $stderr.puts e.backtrace if Homebrew.args.debug? + $stderr.puts e.backtrace if debug? exit 1 rescue StandardError, ScriptError, NoMemoryError => e onoe e.message diff --git a/Library/Homebrew/cask/cmd/audit.rb b/Library/Homebrew/cask/cmd/audit.rb index 543c1a3c06..fbc16e3bb2 100644 --- a/Library/Homebrew/cask/cmd/audit.rb +++ b/Library/Homebrew/cask/cmd/audit.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "cli/parser" +require "cask/auditor" module Cask class Cmd diff --git a/Library/Homebrew/cask/cmd/create.rb b/Library/Homebrew/cask/cmd/create.rb index 68fb976da0..0c9e44ed42 100644 --- a/Library/Homebrew/cask/cmd/create.rb +++ b/Library/Homebrew/cask/cmd/create.rb @@ -24,15 +24,16 @@ module Cask def self.template(cask_token) <<~RUBY - cask '#{cask_token}' do - version '' - sha256 '' + cask "#{cask_token}" do + version "" + sha256 "" url "https://" - name '' - homepage '' + name "" + desc "" + homepage "" - app '' + app "" end RUBY end diff --git a/Library/Homebrew/cask/cmd/reinstall.rb b/Library/Homebrew/cask/cmd/reinstall.rb index a8711bec88..a0228158f4 100644 --- a/Library/Homebrew/cask/cmd/reinstall.rb +++ b/Library/Homebrew/cask/cmd/reinstall.rb @@ -4,13 +4,39 @@ module Cask class Cmd class Reinstall < Install def run + self.class.reinstall_casks( + *casks, + binaries: binaries?, + verbose: verbose?, + force: force?, + skip_cask_deps: skip_cask_deps?, + require_sha: require_sha?, + quarantine: quarantine?, + ) + end + + def self.reinstall_casks( + *casks, + verbose: false, + force: false, + skip_cask_deps: false, + binaries: nil, + require_sha: nil, + quarantine: nil + ) + # TODO: Handle this in `CLI::Parser`. + binaries = Homebrew::EnvConfig.cask_opts_binaries? if binaries.nil? + quarantine = Homebrew::EnvConfig.cask_opts_quarantine? if quarantine.nil? + require_sha = Homebrew::EnvConfig.cask_opts_require_sha? if require_sha.nil? + casks.each do |cask| - Installer.new(cask, binaries: binaries?, - verbose: verbose?, - force: force?, - skip_cask_deps: skip_cask_deps?, - require_sha: require_sha?, - quarantine: quarantine?).reinstall + Installer.new(cask, + binaries: binaries, + verbose: verbose, + force: force, + skip_cask_deps: skip_cask_deps, + require_sha: require_sha, + quarantine: quarantine).reinstall end end diff --git a/Library/Homebrew/cask/cmd/uninstall.rb b/Library/Homebrew/cask/cmd/uninstall.rb index dfa8bbfb77..47d3e42b36 100644 --- a/Library/Homebrew/cask/cmd/uninstall.rb +++ b/Library/Homebrew/cask/cmd/uninstall.rb @@ -11,17 +11,28 @@ module Cask end def run + self.class.uninstall_casks( + *casks, + binaries: binaries?, + verbose: verbose?, + force: force?, + ) + end + + def self.uninstall_casks(*casks, verbose: false, force: false, binaries: nil) + binaries = Homebrew::EnvConfig.cask_opts_binaries? if binaries.nil? + casks.each do |cask| odebug "Uninstalling Cask #{cask}" - raise CaskNotInstalledError, cask unless cask.installed? || force? + raise CaskNotInstalledError, cask unless cask.installed? || force if cask.installed? && !cask.installed_caskfile.nil? # use the same cask file that was used for installation, if possible cask = CaskLoader.load(cask.installed_caskfile) if cask.installed_caskfile.exist? end - Installer.new(cask, binaries: binaries?, verbose: verbose?, force: force?).uninstall + Installer.new(cask, binaries: binaries, verbose: verbose, force: force).uninstall next if (versions = cask.versions).empty? diff --git a/Library/Homebrew/cask/cmd/upgrade.rb b/Library/Homebrew/cask/cmd/upgrade.rb index 6532f26c3a..e07bc473bd 100644 --- a/Library/Homebrew/cask/cmd/upgrade.rb +++ b/Library/Homebrew/cask/cmd/upgrade.rb @@ -1,5 +1,6 @@ # frozen_string_literal: true +require "env_config" require "cask/config" module Cask @@ -17,35 +18,69 @@ module Cask end def run - outdated_casks = casks(alternative: lambda { + self.class.upgrade_casks( + *casks, + force: force?, + greedy: greedy?, + dry_run: dry_run?, + binaries: binaries?, + quarantine: quarantine?, + require_sha: require_sha?, + skip_cask_deps: skip_cask_deps?, + verbose: verbose?, + ) + end + + def self.upgrade_casks( + *casks, + force: false, + greedy: false, + dry_run: false, + skip_cask_deps: false, + verbose: false, + binaries: nil, + quarantine: nil, + require_sha: nil + ) + # TODO: Handle this in `CLI::Parser`. + binaries = Homebrew::EnvConfig.cask_opts_binaries? if binaries.nil? + quarantine = Homebrew::EnvConfig.cask_opts_quarantine? if quarantine.nil? + require_sha = Homebrew::EnvConfig.cask_opts_require_sha? if require_sha.nil? + + outdated_casks = if casks.empty? Caskroom.casks.select do |cask| - cask.outdated?(greedy?) + cask.outdated?(greedy) end - }).select do |cask| - raise CaskNotInstalledError, cask unless cask.installed? || force? + else + casks.select do |cask| + raise CaskNotInstalledError, cask unless cask.installed? || force - cask.outdated?(true) + cask.outdated?(true) + end end - if outdated_casks.empty? - oh1 "No Casks to upgrade" - return - end + return if outdated_casks.empty? - ohai "Casks with `auto_updates` or `version :latest` will not be upgraded" if args.empty? && !greedy? - verb = dry_run? ? "Would upgrade" : "Upgrading" + ohai "Casks with `auto_updates` or `version :latest` will not be upgraded" if casks.empty? && !greedy + + verb = dry_run ? "Would upgrade" : "Upgrading" oh1 "#{verb} #{outdated_casks.count} #{"outdated package".pluralize(outdated_casks.count)}:" + caught_exceptions = [] upgradable_casks = outdated_casks.map { |c| [CaskLoader.load(c.installed_caskfile), c] } puts upgradable_casks .map { |(old_cask, new_cask)| "#{new_cask.full_name} #{old_cask.version} -> #{new_cask.version}" } - .join(", ") - return if dry_run? + .join("\n") + return if dry_run upgradable_casks.each do |(old_cask, new_cask)| - upgrade_cask(old_cask, new_cask) + upgrade_cask( + old_cask, new_cask, + binaries: binaries, force: force, skip_cask_deps: skip_cask_deps, verbose: verbose, + quarantine: quarantine, require_sha: require_sha + ) rescue => e caught_exceptions << e.exception("#{new_cask.full_name}: #{e}") next @@ -56,26 +91,29 @@ module Cask raise caught_exceptions.first if caught_exceptions.count == 1 end - def upgrade_cask(old_cask, new_cask) + def self.upgrade_cask( + old_cask, new_cask, + binaries:, force:, quarantine:, require_sha:, skip_cask_deps:, verbose: + ) odebug "Started upgrade process for Cask #{old_cask}" old_config = old_cask.config old_cask_installer = - Installer.new(old_cask, binaries: binaries?, - verbose: verbose?, - force: force?, + Installer.new(old_cask, binaries: binaries, + verbose: verbose, + force: force, upgrade: true) new_cask.config = Config.global.merge(old_config) new_cask_installer = - Installer.new(new_cask, binaries: binaries?, - verbose: verbose?, - force: force?, - skip_cask_deps: skip_cask_deps?, - require_sha: require_sha?, + Installer.new(new_cask, binaries: binaries, + verbose: verbose, + force: force, + skip_cask_deps: skip_cask_deps, + require_sha: require_sha, upgrade: true, - quarantine: quarantine?) + quarantine: quarantine) started_upgrade = false new_artifacts_installed = false diff --git a/Library/Homebrew/cask/dsl.rb b/Library/Homebrew/cask/dsl.rb index 87b83e8d3f..3f5ec39412 100644 --- a/Library/Homebrew/cask/dsl.rb +++ b/Library/Homebrew/cask/dsl.rb @@ -64,6 +64,7 @@ module Cask :caveats, :conflicts_with, :container, + :desc, :depends_on, :homepage, :language, @@ -93,6 +94,10 @@ module Cask @name.concat(args.flatten) end + def desc(description = nil) + set_unique_stanza(:desc, description.nil?) { description } + end + def set_unique_stanza(stanza, should_return) return instance_variable_get("@#{stanza}") if should_return diff --git a/Library/Homebrew/cask/dsl/base.rb b/Library/Homebrew/cask/dsl/base.rb index 2a14a1c8c5..ac3c79c050 100644 --- a/Library/Homebrew/cask/dsl/base.rb +++ b/Library/Homebrew/cask/dsl/base.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "cask/utils" + module Cask class DSL class Base diff --git a/Library/Homebrew/cask/installer.rb b/Library/Homebrew/cask/installer.rb index cbf5dc389b..5ad75d01ce 100644 --- a/Library/Homebrew/cask/installer.rb +++ b/Library/Homebrew/cask/installer.rb @@ -367,11 +367,10 @@ module Cask force: false, ).install else - FormulaInstaller.new(cask_or_formula).yield_self do |fi| + FormulaInstaller.new(cask_or_formula, verbose: verbose?).yield_self do |fi| fi.installed_as_dependency = true fi.installed_on_request = false fi.show_header = true - fi.verbose = verbose? fi.prelude fi.fetch fi.install diff --git a/Library/Homebrew/cask/quarantine.rb b/Library/Homebrew/cask/quarantine.rb index 583cab3924..381ee80a06 100644 --- a/Library/Homebrew/cask/quarantine.rb +++ b/Library/Homebrew/cask/quarantine.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require "development_tools" +require "cask/exceptions" + module Cask module Quarantine module_function diff --git a/Library/Homebrew/cleaner.rb b/Library/Homebrew/cleaner.rb index cf962341f7..651662a7c9 100644 --- a/Library/Homebrew/cleaner.rb +++ b/Library/Homebrew/cleaner.rb @@ -10,6 +10,8 @@ # * sets permissions on executables # * removes unresolved symlinks class Cleaner + include Context + # Create a cleaner for the given formula def initialize(f) @f = f @@ -58,7 +60,7 @@ class Cleaner # actual files gets removed correctly. dirs.reverse_each do |d| if d.children.empty? - puts "rmdir: #{d} (empty)" if Homebrew.args.verbose? + puts "rmdir: #{d} (empty)" if verbose? d.rmdir end end @@ -109,7 +111,7 @@ class Cleaner else 0444 end - if Homebrew.args.debug? + if debug? old_perms = path.stat.mode & 0777 odebug "Fixing #{path} permissions from #{old_perms.to_s(8)} to #{perms.to_s(8)}" if perms != old_perms end diff --git a/Library/Homebrew/cli/args.rb b/Library/Homebrew/cli/args.rb index 1253c71b0c..a67d0e7d10 100644 --- a/Library/Homebrew/cli/args.rb +++ b/Library/Homebrew/cli/args.rb @@ -35,6 +35,7 @@ module Homebrew @resolved_formulae_casks = nil @formulae_paths = nil @casks = nil + @loaded_casks = nil @kegs = nil @kegs_casks = nil @@ -125,6 +126,10 @@ module Homebrew .freeze end + def loaded_casks + @loaded_casks ||= downcased_unique_named.map(&Cask::CaskLoader.method(:load)).freeze + end + def kegs @kegs ||= downcased_unique_named.map do |name| resolve_keg name @@ -183,6 +188,10 @@ module Homebrew flag_with_value.delete_prefix(arg_prefix) end + def context + Context::ContextStruct.new(debug: debug?, quiet: quiet?, verbose: verbose?) + end + private def option_to_name(option) diff --git a/Library/Homebrew/cli/parser.rb b/Library/Homebrew/cli/parser.rb index 7d414e07d0..c034f63024 100644 --- a/Library/Homebrew/cli/parser.rb +++ b/Library/Homebrew/cli/parser.rb @@ -88,9 +88,7 @@ module Homebrew def env?(env) return false if env.blank? - Homebrew::EnvConfig.send("#{env}?") - rescue NoMethodError - false + Homebrew::EnvConfig.try(:"#{env}?") end def usage_banner(text) diff --git a/Library/Homebrew/cmd/--cache.rb b/Library/Homebrew/cmd/--cache.rb index bd6018efe4..377e7dc49a 100644 --- a/Library/Homebrew/cmd/--cache.rb +++ b/Library/Homebrew/cmd/--cache.rb @@ -13,7 +13,7 @@ module Homebrew def __cache_args Homebrew::CLI::Parser.new do usage_banner <<~EOS - `--cache` [] [] + `--cache` [] [] Display Homebrew's download cache. See also `HOMEBREW_CACHE`. diff --git a/Library/Homebrew/cmd/--caskroom.rb b/Library/Homebrew/cmd/--caskroom.rb new file mode 100644 index 0000000000..dba8debb51 --- /dev/null +++ b/Library/Homebrew/cmd/--caskroom.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Homebrew + module_function + + def __caskroom_args + Homebrew::CLI::Parser.new do + usage_banner <<~EOS + `--caskroom` [] + + Display Homebrew's Caskroom path. + + If is provided, display the location in the Caskroom where + would be installed, without any sort of versioned directory as the last path. + EOS + end + end + + def __caskroom + args = __caskroom_args.parse + + if args.loaded_casks.blank? + puts Cask::Caskroom.path + else + args.loaded_casks.each do |cask| + puts "#{Cask::Caskroom.path}/#{cask.token}" + end + end + end +end diff --git a/Library/Homebrew/cmd/cask.rb b/Library/Homebrew/cmd/cask.rb index 82f0ffcd00..07d827803f 100644 --- a/Library/Homebrew/cmd/cask.rb +++ b/Library/Homebrew/cmd/cask.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "cask/all" +require "cask" module Homebrew module_function diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 4cb93befde..425e536e2c 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -96,7 +96,7 @@ module Homebrew if args.no_named? raise FormulaUnspecifiedError unless args.installed? - puts_deps sorted_dependents(Formula.installed + Cask::Caskroom.casks), recursive + puts_deps sorted_dependents(Formula.installed + Cask::Caskroom.casks), recursive, args: args return end diff --git a/Library/Homebrew/cmd/help.rb b/Library/Homebrew/cmd/help.rb index d75c424e1c..acd6849ca5 100644 --- a/Library/Homebrew/cmd/help.rb +++ b/Library/Homebrew/cmd/help.rb @@ -3,7 +3,7 @@ require "help" module Homebrew - def help(cmd = nil, flags = {}) - Help.help(cmd, flags) + def help + Help.help end end diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index d975d131f9..42089d4d87 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -211,7 +211,13 @@ module Homebrew puts "From: #{Formatter.url(github_info(f))}" - puts "License: #{f.license.join(", ")}" if f.license + if f.license.present? + licenses = f.license + .map(&:to_s) + .join(", ") + .sub("public_domain", "Public Domain") + puts "License: #{licenses}" + end unless f.deps.empty? ohai "Dependencies" diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 607e69ec92..efb73358d6 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -325,7 +325,8 @@ module Homebrew fi = FormulaInstaller.new(f, force_bottle: args.force_bottle?, include_test_formulae: args.include_test_formulae, - build_from_source_formulae: args.build_from_source_formulae) + build_from_source_formulae: args.build_from_source_formulae, + debug: args.debug?, quiet: args.quiet?, verbose: args.verbose?) fi.options = build_options.used_options fi.env = args.env fi.force = args.force? diff --git a/Library/Homebrew/cmd/link.rb b/Library/Homebrew/cmd/link.rb index 25719e29a8..412135f55e 100644 --- a/Library/Homebrew/cmd/link.rb +++ b/Library/Homebrew/cmd/link.rb @@ -31,10 +31,11 @@ module Homebrew def link args = link_args.parse - mode = OpenStruct.new - - mode.overwrite = true if args.overwrite? - mode.dry_run = true if args.dry_run? + options = { + overwrite: args.overwrite?, + dry_run: args.dry_run?, + verbose: args.verbose?, + } args.kegs.each do |keg| keg_only = Formulary.keg_only?(keg.rack) @@ -53,13 +54,13 @@ module Homebrew next end - if mode.dry_run - if mode.overwrite + if args.dry_run? + if args.overwrite? puts "Would remove:" else puts "Would link:" end - keg.link(mode) + keg.link(**options) puts_keg_only_path_message(keg) if keg_only next end @@ -89,7 +90,7 @@ module Homebrew puts if args.verbose? begin - n = keg.link(mode) + n = keg.link(**options) rescue Keg::LinkError puts raise diff --git a/Library/Homebrew/cmd/list.rb b/Library/Homebrew/cmd/list.rb index 4948c173c5..cf09a0bbea 100644 --- a/Library/Homebrew/cmd/list.rb +++ b/Library/Homebrew/cmd/list.rb @@ -11,9 +11,9 @@ module Homebrew def list_args Homebrew::CLI::Parser.new do usage_banner <<~EOS - `list`, `ls` [] [] + `list`, `ls` [] [] - List all installed formulae. + List all installed formulae or casks If is provided, summarise the paths within its current keg. EOS @@ -32,8 +32,10 @@ module Homebrew switch "--pinned", description: "Show the versions of pinned formulae, or only the specified (pinned) "\ "formulae if are provided. See also `pin`, `unpin`." - switch "--cask", - description: "List casks" + switch "--formula", "--formulae", + description: "List only formulae." + switch "--cask", "--casks", + description: "List only casks." # passed through to ls switch "-1", description: "Force output to be one entry per line. " \ @@ -46,7 +48,9 @@ module Homebrew switch "-t", description: "Sort by time modified, listing most recently modified first." - ["--unbrewed", "--multiple", "--pinned", "-l", "-r", "-t"].each { |flag| conflicts "--cask", flag } + ["--formula", "--unbrewed", "--multiple", "--pinned", "-l", "-r", "-t"].each do |flag| + conflicts "--cask", flag + end end end diff --git a/Library/Homebrew/cmd/log.rb b/Library/Homebrew/cmd/log.rb index 03200a7539..347467641e 100644 --- a/Library/Homebrew/cmd/log.rb +++ b/Library/Homebrew/cmd/log.rb @@ -37,7 +37,7 @@ module Homebrew ENV["PATH"] = ENV["HOMEBREW_PATH"] if args.no_named? - git_log HOMEBREW_REPOSITORY + git_log HOMEBREW_REPOSITORY, args: args else path = Formulary.path(args.named.first) tap = Tap.from_path(path) diff --git a/Library/Homebrew/cmd/outdated.rb b/Library/Homebrew/cmd/outdated.rb index 1f6ce94cf2..b93a76a3b2 100644 --- a/Library/Homebrew/cmd/outdated.rb +++ b/Library/Homebrew/cmd/outdated.rb @@ -12,15 +12,19 @@ module Homebrew def outdated_args Homebrew::CLI::Parser.new do usage_banner <<~EOS - `outdated` [] [] + `outdated` [] [|] - List installed formulae that have an updated version available. By default, version + List installed casks and formulae that have an updated version available. By default, version information is displayed in interactive shells, and suppressed otherwise. EOS switch "-q", "--quiet", description: "List only the names of outdated kegs (takes precedence over `--verbose`)." switch "-v", "--verbose", description: "Include detailed version information." + switch "--formula", + description: "Only output outdated formulae." + switch "--cask", + description: "Only output outdated casks." flag "--json", description: "Print output in JSON format. There are two versions: v1 and v2. " \ "v1 is deprecated and is currently the default if no version is specified. " \ @@ -31,10 +35,6 @@ module Homebrew "updates when a new stable or development version has been released." switch "--greedy", description: "Print outdated casks with `auto_updates` or `version :latest`." - switch "--formula", - description: "Treat all arguments as formulae." - switch "--cask", - description: "Treat all arguments as casks." conflicts "--quiet", "--verbose", "--json" conflicts "--formula", "--cask" @@ -94,7 +94,7 @@ module Homebrew if formula_or_cask.is_a?(Formula) f = formula_or_cask - if verbose? args: args + if verbose? outdated_kegs = f.outdated_kegs(fetch_head: args.fetch_HEAD?) current_version = if f.alias_changed? @@ -122,7 +122,7 @@ module Homebrew else c = formula_or_cask - puts c.outdated_info(args.greedy?, verbose?(args: args), false) + puts c.outdated_info(args.greedy?, verbose?, false) end end end @@ -147,13 +147,13 @@ module Homebrew else c = formula_or_cask - c.outdated_info(args.greedy?, verbose?(args: args), true) + c.outdated_info(args.greedy?, verbose?, true) end end end - def verbose?(args:) - ($stdout.tty? || args.verbose?) && !args.quiet? + def verbose? + ($stdout.tty? || super) && !quiet? end def json_version(version) diff --git a/Library/Homebrew/cmd/postinstall.rb b/Library/Homebrew/cmd/postinstall.rb index e0ac1d548c..a9da23695f 100644 --- a/Library/Homebrew/cmd/postinstall.rb +++ b/Library/Homebrew/cmd/postinstall.rb @@ -24,7 +24,7 @@ module Homebrew args.resolved_formulae.each do |f| ohai "Postinstalling #{f}" - fi = FormulaInstaller.new(f) + fi = FormulaInstaller.new(f, debug: args.debug?, quiet: args.quiet?, verbose: args.verbose?) fi.post_install end end diff --git a/Library/Homebrew/cmd/reinstall.rb b/Library/Homebrew/cmd/reinstall.rb index e70106f114..cd57578a13 100644 --- a/Library/Homebrew/cmd/reinstall.rb +++ b/Library/Homebrew/cmd/reinstall.rb @@ -78,9 +78,14 @@ module Homebrew return if casks.blank? - reinstall_cmd = Cask::Cmd::Reinstall.new(casks) - reinstall_cmd.verbose = args.verbose? - reinstall_cmd.force = args.force? - reinstall_cmd.run + Cask::Cmd::Reinstall.reinstall_casks( + *casks, + binaries: args.binaries?, + verbose: args.verbose?, + force: args.force?, + require_sha: args.require_sha?, + skip_cask_deps: args.skip_cask_deps?, + quarantine: args.quarantine?, + ) end end diff --git a/Library/Homebrew/cmd/search.rb b/Library/Homebrew/cmd/search.rb index 5992c73aa5..2eaac60ee4 100644 --- a/Library/Homebrew/cmd/search.rb +++ b/Library/Homebrew/cmd/search.rb @@ -36,10 +36,10 @@ module Homebrew If no is provided, list all locally available formulae (including tapped ones). No online search is performed. EOS - switch "--formulae", + switch "--formula", "--formulae", description: "Without , list all locally available formulae (no online search is performed). " \ "With , search online and locally for formulae." - switch "--casks", + switch "--cask", "--casks", description: "Without , list all locally available casks (including tapped ones, no online " \ "search is performed). With , search online and locally for casks." switch "--desc", @@ -66,8 +66,8 @@ module Homebrew end if args.no_named? - if args.casks? - raise UsageError, "specifying both --formulae and --casks requires " if args.formulae? + if args.cask? + raise UsageError, "specifying both --formula and --cask requires " if args.formula? puts Formatter.columns(Cask::Cask.to_a.map(&:full_name).sort) else @@ -92,8 +92,8 @@ module Homebrew local_casks = search_casks(string_or_regex) remote_casks = remote_results[:casks] all_casks = local_casks + remote_casks - print_formulae = args.formulae? - print_casks = args.casks? + print_formulae = args.formula? + print_casks = args.cask? print_formulae = print_casks = true if !print_formulae && !print_casks if print_formulae && all_formulae.any? @@ -102,7 +102,7 @@ module Homebrew end if print_casks && all_casks.any? - puts if args.formulae? && all_formulae.any? + puts if args.formula? && all_formulae.any? ohai "Casks" puts Formatter.columns(all_casks) end diff --git a/Library/Homebrew/cmd/switch.rb b/Library/Homebrew/cmd/switch.rb index 06feb4badc..33a15d1c1f 100644 --- a/Library/Homebrew/cmd/switch.rb +++ b/Library/Homebrew/cmd/switch.rb @@ -49,7 +49,7 @@ module Homebrew # Link new version, if not keg-only if Formulary.keg_only?(rack) - keg.optlink + keg.optlink(verbose: args.verbose?) puts "Opt link created for #{keg}" else puts "#{keg.link} links created for #{keg}" diff --git a/Library/Homebrew/cmd/tap-info.rb b/Library/Homebrew/cmd/tap-info.rb index e7d1dbf791..56a099d12e 100644 --- a/Library/Homebrew/cmd/tap-info.rb +++ b/Library/Homebrew/cmd/tap-info.rb @@ -69,15 +69,14 @@ module Homebrew puts unless i.zero? info = "#{tap}: " if tap.installed? - info += tap.pinned? ? "pinned" : "unpinned" - info += ", private" if tap.private? - info += if (contents = tap.contents).empty? - ", no commands/casks/formulae" + info += if (contents = tap.contents).blank? + "no commands/casks/formulae" else - ", #{contents.join(", ")}" + contents.join(", ") end + info += ", private" if tap.private? info += "\n#{tap.path} (#{tap.path.abv})" - info += "\nFrom: #{tap.remote.nil? ? "N/A" : tap.remote}" + info += "\nFrom: #{tap.remote.blank? ? "N/A" : tap.remote}" else info += "Not installed" end diff --git a/Library/Homebrew/cmd/uninstall.rb b/Library/Homebrew/cmd/uninstall.rb index be851d9e85..6c73e2694a 100644 --- a/Library/Homebrew/cmd/uninstall.rb +++ b/Library/Homebrew/cmd/uninstall.rb @@ -5,7 +5,6 @@ require "formula" require "diagnostic" require "migrator" require "cli/parser" -require "cask/all" require "cask/cmd" require "cask/cask_loader" @@ -127,10 +126,12 @@ module Homebrew return if casks.blank? - cask_uninstall = Cask::Cmd::Uninstall.new(casks) - cask_uninstall.force = args.force? - cask_uninstall.verbose = args.verbose? - cask_uninstall.run + Cask::Cmd::Uninstall.uninstall_casks( + *casks, + binaries: args.binaries?, + verbose: args.verbose?, + force: args.force?, + ) rescue MultipleVersionsInstalledError => e ofail e puts "Run `brew uninstall --force #{e.name}` to remove all versions." diff --git a/Library/Homebrew/cmd/unlink.rb b/Library/Homebrew/cmd/unlink.rb index e31bde919a..7dfb9d7f7b 100644 --- a/Library/Homebrew/cmd/unlink.rb +++ b/Library/Homebrew/cmd/unlink.rb @@ -26,20 +26,19 @@ module Homebrew def unlink args = unlink_args.parse - mode = OpenStruct.new - mode.dry_run = true if args.dry_run? + options = { dry_run: args.dry_run?, verbose: args.verbose? } args.kegs.each do |keg| - if mode.dry_run + if args.dry_run? puts "Would remove:" - keg.unlink(mode) + keg.unlink(**options) next end keg.lock do print "Unlinking #{keg}... " puts if args.verbose? - puts "#{keg.unlink(mode)} symlinks removed" + puts "#{keg.unlink(**options)} symlinks removed" end end end diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index b35f1462d3..6760897cc1 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -120,7 +120,7 @@ module Homebrew else hub.dump(updated_formula_report: !args.preinstall?) hub.reporters.each(&:migrate_tap_migration) - hub.reporters.each { |r| r.migrate_formula_rename(force: args.force?) } + hub.reporters.each { |r| r.migrate_formula_rename(force: args.force?, verbose: args.verbose?) } CacheStoreDatabase.use(:descriptions) do |db| DescriptionCacheStore.new(db) .update_from_report!(hub) @@ -371,7 +371,7 @@ class Reporter end end - def migrate_formula_rename(force:) + def migrate_formula_rename(force:, verbose:) Formula.installed.each do |formula| next unless Migrator.needs_migration?(formula) diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index aeaac8669b..64a24c3b17 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -14,11 +14,11 @@ module Homebrew def upgrade_args Homebrew::CLI::Parser.new do usage_banner <<~EOS - `upgrade` [] [] + `upgrade` [] [|] - Upgrade outdated, unpinned formulae using the same options they were originally - installed with, plus any appended brew formula options. If are specified, - upgrade only the given kegs (unless they are pinned; see `pin`, `unpin`). + Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally + installed with, plus any appended brew formula options. If or are specified, + upgrade only the given or kegs (unless they are pinned; see `pin`, `unpin`). Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for the upgraded formulae or, every 30 days, for all formulae. @@ -26,6 +26,10 @@ module Homebrew switch "-d", "--debug", description: "If brewing fails, open an interactive debugging session with access to IRB "\ "or a shell inside the temporary build directory." + switch "--formula", + description: "Only upgrade outdated formulae." + switch "--cask", + description: "Only upgrade outdated casks." switch "-s", "--build-from-source", description: "Compile from source even if a bottle is available." switch "-i", "--interactive", @@ -56,6 +60,12 @@ module Homebrew switch "--greedy", description: "Upgrade casks with `auto_updates` or `version :latest`" conflicts "--build-from-source", "--force-bottle" + conflicts "--formula", "--greedy" + ["--formula", "-s", "--build-from-source", "-i", "--interactive", + "--force-bottle", "--fetch-HEAD", "--ignore-pinned", "--keep-tmp", + "--display-times"].each do |flag| + conflicts "--cask", flag + end formula_options end end @@ -67,14 +77,16 @@ module Homebrew # If one or more formulae are specified, but no casks were # specified, we want to make note of that so we don't # try to upgrade all outdated casks. - named_formulae_specified = !formulae.empty? && casks.empty? - named_casks_specified = !casks.empty? && formulae.empty? + upgrade_formulae = formulae.present? && casks.blank? + upgrade_casks = casks.present? && formulae.blank? - upgrade_outdated_formulae(formulae, args: args) unless named_casks_specified - upgrade_outdated_casks(casks, args: args) unless named_formulae_specified + upgrade_outdated_formulae(formulae, args: args) unless upgrade_casks + upgrade_outdated_casks(casks, args: args) unless upgrade_formulae end def upgrade_outdated_formulae(formulae, args:) + return if args.cask? + FormulaInstaller.prevent_build_flags(args) Install.perform_preinstall_checks @@ -133,10 +145,18 @@ module Homebrew end def upgrade_outdated_casks(casks, args:) - cask_upgrade = Cask::Cmd::Upgrade.new(casks) - cask_upgrade.force = args.force? - cask_upgrade.dry_run = args.dry_run? - cask_upgrade.greedy = args.greedy? - cask_upgrade.run + return if args.formula? + + Cask::Cmd::Upgrade.upgrade_casks( + *casks, + force: args.force?, + greedy: args.greedy?, + dry_run: args.dry_run?, + binaries: args.binaries?, + quarantine: args.quarantine?, + require_sha: args.require_sha?, + skip_cask_deps: args.skip_cask_deps?, + verbose: args.verbose?, + ) end end diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb index 91e58e9dbd..f0ddcf02a2 100644 --- a/Library/Homebrew/cmd/uses.rb +++ b/Library/Homebrew/cmd/uses.rb @@ -65,15 +65,25 @@ module Homebrew end use_runtime_dependents = args.installed? && + !used_formulae_missing && !args.include_build? && !args.include_test? && !args.include_optional? && !args.skip_recommended? + uses = intersection_of_dependents(use_runtime_dependents, used_formulae, args: args) + + return if uses.empty? + + puts Formatter.columns(uses.map(&:full_name).sort) + odie "Missing formulae should not have dependents!" if used_formulae_missing + end + + def intersection_of_dependents(use_runtime_dependents, used_formulae, args:) recursive = args.recursive? includes, ignores = args_includes_ignores(args) - uses = if use_runtime_dependents && !used_formulae_missing + if use_runtime_dependents used_formulae.map(&:runtime_installed_formula_dependents) .reduce(&:&) .select(&:any_version_installed?) + @@ -87,11 +97,6 @@ module Homebrew select_used_dependents(deps, used_formulae, recursive, includes, ignores) end - - return if uses.empty? - - puts Formatter.columns(uses.map(&:full_name).sort) - odie "Missing formulae should not have dependents!" if used_formulae_missing end def select_used_dependents(dependents, used_formulae, recursive, includes, ignores) diff --git a/Library/Homebrew/compat.rb b/Library/Homebrew/compat.rb index bc254d9e1c..d14810694a 100644 --- a/Library/Homebrew/compat.rb +++ b/Library/Homebrew/compat.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "compat/dependencies_helpers" +require "compat/cli/parser" require "compat/extend/nil" require "compat/extend/string" require "compat/formula" diff --git a/Library/Homebrew/compat/cli/parser.rb b/Library/Homebrew/compat/cli/parser.rb new file mode 100644 index 0000000000..ec330bb23c --- /dev/null +++ b/Library/Homebrew/compat/cli/parser.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +module Homebrew + module CLI + class Parser + module Compat + module DeprecatedArgs + def respond_to_missing?(*) + super + end + + def method_missing(method, *) + if ![:debug?, :quiet?, :verbose?, :value].include?(method) && !@printed_args_warning + odeprecated "Homebrew.args", "`args = _args.parse` and pass `args` along the call chain" + @printed_args_warning = true + end + + super + end + end + + def parse(*) + args = super + Homebrew.args = args.dup.extend(DeprecatedArgs) + args + end + end + + prepend Compat + end + end +end diff --git a/Library/Homebrew/compat/dependencies_helpers.rb b/Library/Homebrew/compat/dependencies_helpers.rb new file mode 100644 index 0000000000..095c891011 --- /dev/null +++ b/Library/Homebrew/compat/dependencies_helpers.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require "cli/args" + +module DependenciesHelpers + module Compat + def argv_includes_ignores(argv = nil) + unless @printed_includes_ignores_warning + odeprecated "Homebrew.argv_includes_ignores", "Homebrew.args_includes_ignores" + @printed_includes_ignores_warning = true + end + args_includes_ignores(argv ? Homebrew::CLI::Args.new : Homebrew.args) + end + end + + prepend Compat +end diff --git a/Library/Homebrew/context.rb b/Library/Homebrew/context.rb new file mode 100644 index 0000000000..c8c70ac7b8 --- /dev/null +++ b/Library/Homebrew/context.rb @@ -0,0 +1,71 @@ +# frozen_string_literal: true + +require "monitor" + +module Context + extend MonitorMixin + + def self.current=(context) + synchronize do + @current = context + end + end + + def self.current + if current_context = Thread.current[:context] + return current_context + end + + synchronize do + @current ||= ContextStruct.new + end + end + + class ContextStruct + def initialize(debug: nil, quiet: nil, verbose: nil) + @debug = debug + @quiet = quiet + @verbose = verbose + end + + def debug? + @debug + end + + def quiet? + @quiet + end + + def verbose? + @verbose + end + end + + def debug? + Context.current.debug? + end + + def quiet? + Context.current.quiet? + end + + def verbose? + Context.current.verbose? + end + + def with_context(**options) + old_context = Thread.current[:context] + + new_context = ContextStruct.new( + debug: options.fetch(:debug, old_context&.debug?), + quiet: options.fetch(:quiet, old_context&.quiet?), + verbose: options.fetch(:verbose, old_context&.verbose?), + ) + + Thread.current[:context] = new_context + + yield + ensure + Thread.current[:context] = old_context + end +end diff --git a/Library/Homebrew/data/spdx.json b/Library/Homebrew/data/spdx.json index b2566f18c6..15a3e31a41 100644 --- a/Library/Homebrew/data/spdx.json +++ b/Library/Homebrew/data/spdx.json @@ -1,11 +1,11 @@ { - "licenseListVersion": "3.9", + "licenseListVersion": "3.10", "licenses": [ { "reference": "./0BSD.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/0BSD.json", - "referenceNumber": "239", + "referenceNumber": "250", "name": "BSD Zero Clause License", "licenseId": "0BSD", "seeAlso": [ @@ -17,7 +17,7 @@ "reference": "./AAL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AAL.json", - "referenceNumber": "60", + "referenceNumber": "63", "name": "Attribution Assurance License", "licenseId": "AAL", "seeAlso": [ @@ -29,7 +29,7 @@ "reference": "./ADSL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ADSL.json", - "referenceNumber": "217", + "referenceNumber": "227", "name": "Amazon Digital Services License", "licenseId": "ADSL", "seeAlso": [ @@ -42,7 +42,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AFL-1.1.json", - "referenceNumber": "28", + "referenceNumber": "29", "name": "Academic Free License v1.1", "licenseId": "AFL-1.1", "seeAlso": [ @@ -56,7 +56,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AFL-1.2.json", - "referenceNumber": "222", + "referenceNumber": "232", "name": "Academic Free License v1.2", "licenseId": "AFL-1.2", "seeAlso": [ @@ -70,7 +70,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AFL-2.0.json", - "referenceNumber": "341", + "referenceNumber": "358", "name": "Academic Free License v2.0", "licenseId": "AFL-2.0", "seeAlso": [ @@ -83,7 +83,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AFL-2.1.json", - "referenceNumber": "249", + "referenceNumber": "261", "name": "Academic Free License v2.1", "licenseId": "AFL-2.1", "seeAlso": [ @@ -96,7 +96,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AFL-3.0.json", - "referenceNumber": "361", + "referenceNumber": "380", "name": "Academic Free License v3.0", "licenseId": "AFL-3.0", "seeAlso": [ @@ -110,7 +110,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AGPL-1.0.json", - "referenceNumber": "175", + "referenceNumber": "180", "name": "Affero General Public License v1.0", "licenseId": "AGPL-1.0", "seeAlso": [ @@ -122,7 +122,7 @@ "reference": "./AGPL-1.0-only.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AGPL-1.0-only.json", - "referenceNumber": "71", + "referenceNumber": "74", "name": "Affero General Public License v1.0 only", "licenseId": "AGPL-1.0-only", "seeAlso": [ @@ -134,7 +134,7 @@ "reference": "./AGPL-1.0-or-later.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AGPL-1.0-or-later.json", - "referenceNumber": "168", + "referenceNumber": "173", "name": "Affero General Public License v1.0 or later", "licenseId": "AGPL-1.0-or-later", "seeAlso": [ @@ -147,7 +147,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AGPL-3.0.json", - "referenceNumber": "148", + "referenceNumber": "152", "name": "GNU Affero General Public License v3.0", "licenseId": "AGPL-3.0", "seeAlso": [ @@ -161,7 +161,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AGPL-3.0-only.json", - "referenceNumber": "298", + "referenceNumber": "312", "name": "GNU Affero General Public License v3.0 only", "licenseId": "AGPL-3.0-only", "seeAlso": [ @@ -175,7 +175,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/AGPL-3.0-or-later.json", - "referenceNumber": "160", + "referenceNumber": "164", "name": "GNU Affero General Public License v3.0 or later", "licenseId": "AGPL-3.0-or-later", "seeAlso": [ @@ -188,7 +188,7 @@ "reference": "./AMDPLPA.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AMDPLPA.json", - "referenceNumber": "133", + "referenceNumber": "137", "name": "AMD\u0027s plpa_map.c License", "licenseId": "AMDPLPA", "seeAlso": [ @@ -200,7 +200,7 @@ "reference": "./AML.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AML.json", - "referenceNumber": "157", + "referenceNumber": "161", "name": "Apple MIT License", "licenseId": "AML", "seeAlso": [ @@ -212,7 +212,7 @@ "reference": "./AMPAS.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/AMPAS.json", - "referenceNumber": "136", + "referenceNumber": "140", "name": "Academy of Motion Picture Arts and Sciences BSD", "licenseId": "AMPAS", "seeAlso": [ @@ -224,7 +224,7 @@ "reference": "./ANTLR-PD.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ANTLR-PD.json", - "referenceNumber": "44", + "referenceNumber": "46", "name": "ANTLR Software Rights Notice", "licenseId": "ANTLR-PD", "seeAlso": [ @@ -236,7 +236,7 @@ "reference": "./APAFML.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/APAFML.json", - "referenceNumber": "248", + "referenceNumber": "260", "name": "Adobe Postscript AFM License", "licenseId": "APAFML", "seeAlso": [ @@ -248,7 +248,7 @@ "reference": "./APL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/APL-1.0.json", - "referenceNumber": "278", + "referenceNumber": "290", "name": "Adaptive Public License 1.0", "licenseId": "APL-1.0", "seeAlso": [ @@ -260,7 +260,7 @@ "reference": "./APSL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/APSL-1.0.json", - "referenceNumber": "387", + "referenceNumber": "406", "name": "Apple Public Source License 1.0", "licenseId": "APSL-1.0", "seeAlso": [ @@ -272,7 +272,7 @@ "reference": "./APSL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/APSL-1.1.json", - "referenceNumber": "338", + "referenceNumber": "355", "name": "Apple Public Source License 1.1", "licenseId": "APSL-1.1", "seeAlso": [ @@ -284,7 +284,7 @@ "reference": "./APSL-1.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/APSL-1.2.json", - "referenceNumber": "201", + "referenceNumber": "211", "name": "Apple Public Source License 1.2", "licenseId": "APSL-1.2", "seeAlso": [ @@ -297,7 +297,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/APSL-2.0.json", - "referenceNumber": "141", + "referenceNumber": "145", "name": "Apple Public Source License 2.0", "licenseId": "APSL-2.0", "seeAlso": [ @@ -309,7 +309,7 @@ "reference": "./Abstyles.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Abstyles.json", - "referenceNumber": "75", + "referenceNumber": "78", "name": "Abstyles License", "licenseId": "Abstyles", "seeAlso": [ @@ -321,7 +321,7 @@ "reference": "./Adobe-2006.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Adobe-2006.json", - "referenceNumber": "310", + "referenceNumber": "327", "name": "Adobe Systems Incorporated Source Code License Agreement", "licenseId": "Adobe-2006", "seeAlso": [ @@ -333,7 +333,7 @@ "reference": "./Adobe-Glyph.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Adobe-Glyph.json", - "referenceNumber": "343", + "referenceNumber": "360", "name": "Adobe Glyph List License", "licenseId": "Adobe-Glyph", "seeAlso": [ @@ -345,7 +345,7 @@ "reference": "./Afmparse.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Afmparse.json", - "referenceNumber": "332", + "referenceNumber": "349", "name": "Afmparse License", "licenseId": "Afmparse", "seeAlso": [ @@ -357,7 +357,7 @@ "reference": "./Aladdin.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Aladdin.json", - "referenceNumber": "315", + "referenceNumber": "332", "name": "Aladdin Free Public License", "licenseId": "Aladdin", "seeAlso": [ @@ -370,7 +370,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Apache-1.0.json", - "referenceNumber": "32", + "referenceNumber": "33", "name": "Apache License 1.0", "licenseId": "Apache-1.0", "seeAlso": [ @@ -383,7 +383,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Apache-1.1.json", - "referenceNumber": "274", + "referenceNumber": "286", "name": "Apache License 1.1", "licenseId": "Apache-1.1", "seeAlso": [ @@ -397,7 +397,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Apache-2.0.json", - "referenceNumber": "366", + "referenceNumber": "385", "name": "Apache License 2.0", "licenseId": "Apache-2.0", "seeAlso": [ @@ -410,7 +410,7 @@ "reference": "./Artistic-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Artistic-1.0.json", - "referenceNumber": "273", + "referenceNumber": "285", "name": "Artistic License 1.0", "licenseId": "Artistic-1.0", "seeAlso": [ @@ -422,7 +422,7 @@ "reference": "./Artistic-1.0-Perl.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Artistic-1.0-Perl.json", - "referenceNumber": "306", + "referenceNumber": "322", "name": "Artistic License 1.0 (Perl)", "licenseId": "Artistic-1.0-Perl", "seeAlso": [ @@ -434,7 +434,7 @@ "reference": "./Artistic-1.0-cl8.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Artistic-1.0-cl8.json", - "referenceNumber": "229", + "referenceNumber": "240", "name": "Artistic License 1.0 w/clause 8", "licenseId": "Artistic-1.0-cl8", "seeAlso": [ @@ -447,7 +447,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Artistic-2.0.json", - "referenceNumber": "78", + "referenceNumber": "81", "name": "Artistic License 2.0", "licenseId": "Artistic-2.0", "seeAlso": [ @@ -460,7 +460,7 @@ "reference": "./BSD-1-Clause.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-1-Clause.json", - "referenceNumber": "389", + "referenceNumber": "408", "name": "BSD 1-Clause License", "licenseId": "BSD-1-Clause", "seeAlso": [ @@ -472,7 +472,7 @@ "reference": "./BSD-2-Clause.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-2-Clause.json", - "referenceNumber": "307", + "referenceNumber": "323", "name": "BSD 2-Clause \"Simplified\" License", "licenseId": "BSD-2-Clause", "seeAlso": [ @@ -482,10 +482,10 @@ }, { "reference": "./BSD-2-Clause-FreeBSD.html", - "isDeprecatedLicenseId": false, + "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BSD-2-Clause-FreeBSD.json", - "referenceNumber": "281", + "referenceNumber": "294", "name": "BSD 2-Clause FreeBSD License", "licenseId": "BSD-2-Clause-FreeBSD", "seeAlso": [ @@ -497,7 +497,7 @@ "reference": "./BSD-2-Clause-NetBSD.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/BSD-2-Clause-NetBSD.json", - "referenceNumber": "186", + "referenceNumber": "193", "name": "BSD 2-Clause NetBSD License", "licenseId": "BSD-2-Clause-NetBSD", "seeAlso": [ @@ -509,7 +509,7 @@ "reference": "./BSD-2-Clause-Patent.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-2-Clause-Patent.json", - "referenceNumber": "362", + "referenceNumber": "381", "name": "BSD-2-Clause Plus Patent License", "licenseId": "BSD-2-Clause-Patent", "seeAlso": [ @@ -517,12 +517,26 @@ ], "isOsiApproved": true }, + { + "reference": "./BSD-2-Clause-Views.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/BSD-2-Clause-Views.json", + "referenceNumber": "291", + "name": "BSD 2-Clause with views sentence", + "licenseId": "BSD-2-Clause-Views", + "seeAlso": [ + "http://www.freebsd.org/copyright/freebsd-license.html", + "https://people.freebsd.org/~ivoras/wine/patch-wine-nvidia.sh", + "https://github.com/protegeproject/protege/blob/master/license.txt" + ], + "isOsiApproved": false + }, { "reference": "./BSD-3-Clause.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause.json", - "referenceNumber": "202", + "referenceNumber": "212", "name": "BSD 3-Clause \"New\" or \"Revised\" License", "licenseId": "BSD-3-Clause", "seeAlso": [ @@ -534,7 +548,7 @@ "reference": "./BSD-3-Clause-Attribution.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-Attribution.json", - "referenceNumber": "39", + "referenceNumber": "41", "name": "BSD with attribution", "licenseId": "BSD-3-Clause-Attribution", "seeAlso": [ @@ -547,7 +561,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-Clear.json", - "referenceNumber": "88", + "referenceNumber": "92", "name": "BSD 3-Clause Clear License", "licenseId": "BSD-3-Clause-Clear", "seeAlso": [ @@ -559,7 +573,7 @@ "reference": "./BSD-3-Clause-LBNL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-LBNL.json", - "referenceNumber": "147", + "referenceNumber": "151", "name": "Lawrence Berkeley National Labs BSD variant license", "licenseId": "BSD-3-Clause-LBNL", "seeAlso": [ @@ -571,7 +585,7 @@ "reference": "./BSD-3-Clause-No-Nuclear-License.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.json", - "referenceNumber": "62", + "referenceNumber": "65", "name": "BSD 3-Clause No Nuclear License", "licenseId": "BSD-3-Clause-No-Nuclear-License", "seeAlso": [ @@ -583,7 +597,7 @@ "reference": "./BSD-3-Clause-No-Nuclear-License-2014.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.json", - "referenceNumber": "342", + "referenceNumber": "359", "name": "BSD 3-Clause No Nuclear License 2014", "licenseId": "BSD-3-Clause-No-Nuclear-License-2014", "seeAlso": [ @@ -595,7 +609,7 @@ "reference": "./BSD-3-Clause-No-Nuclear-Warranty.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.json", - "referenceNumber": "117", + "referenceNumber": "121", "name": "BSD 3-Clause No Nuclear Warranty", "licenseId": "BSD-3-Clause-No-Nuclear-Warranty", "seeAlso": [ @@ -607,7 +621,7 @@ "reference": "./BSD-3-Clause-Open-MPI.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-3-Clause-Open-MPI.json", - "referenceNumber": "214", + "referenceNumber": "224", "name": "BSD 3-Clause Open MPI variant", "licenseId": "BSD-3-Clause-Open-MPI", "seeAlso": [ @@ -621,7 +635,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BSD-4-Clause.json", - "referenceNumber": "69", + "referenceNumber": "72", "name": "BSD 4-Clause \"Original\" or \"Old\" License", "licenseId": "BSD-4-Clause", "seeAlso": [ @@ -633,7 +647,7 @@ "reference": "./BSD-4-Clause-UC.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-4-Clause-UC.json", - "referenceNumber": "372", + "referenceNumber": "391", "name": "BSD-4-Clause (University of California-Specific)", "licenseId": "BSD-4-Clause-UC", "seeAlso": [ @@ -645,7 +659,7 @@ "reference": "./BSD-Protection.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-Protection.json", - "referenceNumber": "400", + "referenceNumber": "419", "name": "BSD Protection License", "licenseId": "BSD-Protection", "seeAlso": [ @@ -657,7 +671,7 @@ "reference": "./BSD-Source-Code.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BSD-Source-Code.json", - "referenceNumber": "169", + "referenceNumber": "174", "name": "BSD Source Code Attribution", "licenseId": "BSD-Source-Code", "seeAlso": [ @@ -670,7 +684,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BSL-1.0.json", - "referenceNumber": "295", + "referenceNumber": "309", "name": "Boost Software License 1.0", "licenseId": "BSL-1.0", "seeAlso": [ @@ -683,7 +697,7 @@ "reference": "./Bahyph.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Bahyph.json", - "referenceNumber": "151", + "referenceNumber": "155", "name": "Bahyph License", "licenseId": "Bahyph", "seeAlso": [ @@ -695,7 +709,7 @@ "reference": "./Barr.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Barr.json", - "referenceNumber": "128", + "referenceNumber": "132", "name": "Barr License", "licenseId": "Barr", "seeAlso": [ @@ -707,7 +721,7 @@ "reference": "./Beerware.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Beerware.json", - "referenceNumber": "251", + "referenceNumber": "263", "name": "Beerware License", "licenseId": "Beerware", "seeAlso": [ @@ -720,7 +734,7 @@ "reference": "./BitTorrent-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BitTorrent-1.0.json", - "referenceNumber": "207", + "referenceNumber": "217", "name": "BitTorrent Open Source License v1.0", "licenseId": "BitTorrent-1.0", "seeAlso": [ @@ -733,7 +747,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/BitTorrent-1.1.json", - "referenceNumber": "188", + "referenceNumber": "196", "name": "BitTorrent Open Source License v1.1", "licenseId": "BitTorrent-1.1", "seeAlso": [ @@ -745,7 +759,7 @@ "reference": "./BlueOak-1.0.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/BlueOak-1.0.0.json", - "referenceNumber": "211", + "referenceNumber": "221", "name": "Blue Oak Model License 1.0.0", "licenseId": "BlueOak-1.0.0", "seeAlso": [ @@ -757,7 +771,7 @@ "reference": "./Borceux.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Borceux.json", - "referenceNumber": "305", + "referenceNumber": "321", "name": "Borceux license", "licenseId": "Borceux", "seeAlso": [ @@ -769,7 +783,7 @@ "reference": "./CAL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CAL-1.0.json", - "referenceNumber": "59", + "referenceNumber": "62", "name": "Cryptographic Autonomy License 1.0", "licenseId": "CAL-1.0", "seeAlso": [ @@ -782,7 +796,7 @@ "reference": "./CAL-1.0-Combined-Work-Exception.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CAL-1.0-Combined-Work-Exception.json", - "referenceNumber": "80", + "referenceNumber": "83", "name": "Cryptographic Autonomy License 1.0 (Combined Work Exception)", "licenseId": "CAL-1.0-Combined-Work-Exception", "seeAlso": [ @@ -795,7 +809,7 @@ "reference": "./CATOSL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CATOSL-1.1.json", - "referenceNumber": "234", + "referenceNumber": "245", "name": "Computer Associates Trusted Open Source License 1.1", "licenseId": "CATOSL-1.1", "seeAlso": [ @@ -807,7 +821,7 @@ "reference": "./CC-BY-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-1.0.json", - "referenceNumber": "23", + "referenceNumber": "24", "name": "Creative Commons Attribution 1.0 Generic", "licenseId": "CC-BY-1.0", "seeAlso": [ @@ -819,7 +833,7 @@ "reference": "./CC-BY-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-2.0.json", - "referenceNumber": "61", + "referenceNumber": "64", "name": "Creative Commons Attribution 2.0 Generic", "licenseId": "CC-BY-2.0", "seeAlso": [ @@ -831,7 +845,7 @@ "reference": "./CC-BY-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-2.5.json", - "referenceNumber": "187", + "referenceNumber": "194", "name": "Creative Commons Attribution 2.5 Generic", "licenseId": "CC-BY-2.5", "seeAlso": [ @@ -843,7 +857,7 @@ "reference": "./CC-BY-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-3.0.json", - "referenceNumber": "344", + "referenceNumber": "361", "name": "Creative Commons Attribution 3.0 Unported", "licenseId": "CC-BY-3.0", "seeAlso": [ @@ -851,12 +865,24 @@ ], "isOsiApproved": false }, + { + "reference": "./CC-BY-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/CC-BY-3.0-AT.json", + "referenceNumber": "237", + "name": "Creative Commons Attribution 3.0 Austria", + "licenseId": "CC-BY-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by/3.0/at/legalcode" + ], + "isOsiApproved": false + }, { "reference": "./CC-BY-4.0.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CC-BY-4.0.json", - "referenceNumber": "218", + "referenceNumber": "228", "name": "Creative Commons Attribution 4.0 International", "licenseId": "CC-BY-4.0", "seeAlso": [ @@ -868,7 +894,7 @@ "reference": "./CC-BY-NC-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-1.0.json", - "referenceNumber": "231", + "referenceNumber": "242", "name": "Creative Commons Attribution Non Commercial 1.0 Generic", "licenseId": "CC-BY-NC-1.0", "seeAlso": [ @@ -880,7 +906,7 @@ "reference": "./CC-BY-NC-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-2.0.json", - "referenceNumber": "326", + "referenceNumber": "343", "name": "Creative Commons Attribution Non Commercial 2.0 Generic", "licenseId": "CC-BY-NC-2.0", "seeAlso": [ @@ -892,7 +918,7 @@ "reference": "./CC-BY-NC-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-2.5.json", - "referenceNumber": "398", + "referenceNumber": "417", "name": "Creative Commons Attribution Non Commercial 2.5 Generic", "licenseId": "CC-BY-NC-2.5", "seeAlso": [ @@ -904,7 +930,7 @@ "reference": "./CC-BY-NC-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-3.0.json", - "referenceNumber": "336", + "referenceNumber": "353", "name": "Creative Commons Attribution Non Commercial 3.0 Unported", "licenseId": "CC-BY-NC-3.0", "seeAlso": [ @@ -916,7 +942,7 @@ "reference": "./CC-BY-NC-4.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-4.0.json", - "referenceNumber": "272", + "referenceNumber": "284", "name": "Creative Commons Attribution Non Commercial 4.0 International", "licenseId": "CC-BY-NC-4.0", "seeAlso": [ @@ -928,7 +954,7 @@ "reference": "./CC-BY-NC-ND-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-1.0.json", - "referenceNumber": "102", + "referenceNumber": "106", "name": "Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic", "licenseId": "CC-BY-NC-ND-1.0", "seeAlso": [ @@ -940,7 +966,7 @@ "reference": "./CC-BY-NC-ND-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-2.0.json", - "referenceNumber": "138", + "referenceNumber": "142", "name": "Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic", "licenseId": "CC-BY-NC-ND-2.0", "seeAlso": [ @@ -952,7 +978,7 @@ "reference": "./CC-BY-NC-ND-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-2.5.json", - "referenceNumber": "30", + "referenceNumber": "31", "name": "Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic", "licenseId": "CC-BY-NC-ND-2.5", "seeAlso": [ @@ -964,7 +990,7 @@ "reference": "./CC-BY-NC-ND-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-3.0.json", - "referenceNumber": "41", + "referenceNumber": "43", "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported", "licenseId": "CC-BY-NC-ND-3.0", "seeAlso": [ @@ -972,11 +998,23 @@ ], "isOsiApproved": false }, + { + "reference": "./CC-BY-NC-ND-3.0-IGO.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-3.0-IGO.json", + "referenceNumber": "366", + "name": "Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO", + "licenseId": "CC-BY-NC-ND-3.0-IGO", + "seeAlso": [ + "https://creativecommons.org/licenses/by-nc-nd/3.0/igo/legalcode" + ], + "isOsiApproved": false + }, { "reference": "./CC-BY-NC-ND-4.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-ND-4.0.json", - "referenceNumber": "172", + "referenceNumber": "177", "name": "Creative Commons Attribution Non Commercial No Derivatives 4.0 International", "licenseId": "CC-BY-NC-ND-4.0", "seeAlso": [ @@ -988,7 +1026,7 @@ "reference": "./CC-BY-NC-SA-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-SA-1.0.json", - "referenceNumber": "120", + "referenceNumber": "124", "name": "Creative Commons Attribution Non Commercial Share Alike 1.0 Generic", "licenseId": "CC-BY-NC-SA-1.0", "seeAlso": [ @@ -1000,7 +1038,7 @@ "reference": "./CC-BY-NC-SA-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-SA-2.0.json", - "referenceNumber": "411", + "referenceNumber": "431", "name": "Creative Commons Attribution Non Commercial Share Alike 2.0 Generic", "licenseId": "CC-BY-NC-SA-2.0", "seeAlso": [ @@ -1012,7 +1050,7 @@ "reference": "./CC-BY-NC-SA-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-SA-2.5.json", - "referenceNumber": "215", + "referenceNumber": "225", "name": "Creative Commons Attribution Non Commercial Share Alike 2.5 Generic", "licenseId": "CC-BY-NC-SA-2.5", "seeAlso": [ @@ -1024,7 +1062,7 @@ "reference": "./CC-BY-NC-SA-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-SA-3.0.json", - "referenceNumber": "360", + "referenceNumber": "379", "name": "Creative Commons Attribution Non Commercial Share Alike 3.0 Unported", "licenseId": "CC-BY-NC-SA-3.0", "seeAlso": [ @@ -1036,7 +1074,7 @@ "reference": "./CC-BY-NC-SA-4.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-NC-SA-4.0.json", - "referenceNumber": "331", + "referenceNumber": "348", "name": "Creative Commons Attribution Non Commercial Share Alike 4.0 International", "licenseId": "CC-BY-NC-SA-4.0", "seeAlso": [ @@ -1048,7 +1086,7 @@ "reference": "./CC-BY-ND-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-ND-1.0.json", - "referenceNumber": "94", + "referenceNumber": "98", "name": "Creative Commons Attribution No Derivatives 1.0 Generic", "licenseId": "CC-BY-ND-1.0", "seeAlso": [ @@ -1060,7 +1098,7 @@ "reference": "./CC-BY-ND-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-ND-2.0.json", - "referenceNumber": "46", + "referenceNumber": "48", "name": "Creative Commons Attribution No Derivatives 2.0 Generic", "licenseId": "CC-BY-ND-2.0", "seeAlso": [ @@ -1072,7 +1110,7 @@ "reference": "./CC-BY-ND-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-ND-2.5.json", - "referenceNumber": "27", + "referenceNumber": "28", "name": "Creative Commons Attribution No Derivatives 2.5 Generic", "licenseId": "CC-BY-ND-2.5", "seeAlso": [ @@ -1084,7 +1122,7 @@ "reference": "./CC-BY-ND-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-ND-3.0.json", - "referenceNumber": "284", + "referenceNumber": "297", "name": "Creative Commons Attribution No Derivatives 3.0 Unported", "licenseId": "CC-BY-ND-3.0", "seeAlso": [ @@ -1096,7 +1134,7 @@ "reference": "./CC-BY-ND-4.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-ND-4.0.json", - "referenceNumber": "318", + "referenceNumber": "335", "name": "Creative Commons Attribution No Derivatives 4.0 International", "licenseId": "CC-BY-ND-4.0", "seeAlso": [ @@ -1108,7 +1146,7 @@ "reference": "./CC-BY-SA-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-1.0.json", - "referenceNumber": "403", + "referenceNumber": "422", "name": "Creative Commons Attribution Share Alike 1.0 Generic", "licenseId": "CC-BY-SA-1.0", "seeAlso": [ @@ -1120,7 +1158,7 @@ "reference": "./CC-BY-SA-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-2.0.json", - "referenceNumber": "367", + "referenceNumber": "386", "name": "Creative Commons Attribution Share Alike 2.0 Generic", "licenseId": "CC-BY-SA-2.0", "seeAlso": [ @@ -1132,7 +1170,7 @@ "reference": "./CC-BY-SA-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-2.5.json", - "referenceNumber": "203", + "referenceNumber": "213", "name": "Creative Commons Attribution Share Alike 2.5 Generic", "licenseId": "CC-BY-SA-2.5", "seeAlso": [ @@ -1144,7 +1182,7 @@ "reference": "./CC-BY-SA-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-3.0.json", - "referenceNumber": "233", + "referenceNumber": "244", "name": "Creative Commons Attribution Share Alike 3.0 Unported", "licenseId": "CC-BY-SA-3.0", "seeAlso": [ @@ -1152,12 +1190,24 @@ ], "isOsiApproved": false }, + { + "reference": "./CC-BY-SA-3.0-AT.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-3.0-AT.json", + "referenceNumber": "305", + "name": "Creative Commons Attribution-Share Alike 3.0 Austria", + "licenseId": "CC-BY-SA-3.0-AT", + "seeAlso": [ + "https://creativecommons.org/licenses/by-sa/3.0/at/legalcode" + ], + "isOsiApproved": false + }, { "reference": "./CC-BY-SA-4.0.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CC-BY-SA-4.0.json", - "referenceNumber": "297", + "referenceNumber": "311", "name": "Creative Commons Attribution Share Alike 4.0 International", "licenseId": "CC-BY-SA-4.0", "seeAlso": [ @@ -1169,7 +1219,7 @@ "reference": "./CC-PDDC.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CC-PDDC.json", - "referenceNumber": "92", + "referenceNumber": "96", "name": "Creative Commons Public Domain Dedication and Certification", "licenseId": "CC-PDDC", "seeAlso": [ @@ -1182,7 +1232,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CC0-1.0.json", - "referenceNumber": "66", + "referenceNumber": "69", "name": "Creative Commons Zero v1.0 Universal", "licenseId": "CC0-1.0", "seeAlso": [ @@ -1195,7 +1245,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CDDL-1.0.json", - "referenceNumber": "335", + "referenceNumber": "352", "name": "Common Development and Distribution License 1.0", "licenseId": "CDDL-1.0", "seeAlso": [ @@ -1207,7 +1257,7 @@ "reference": "./CDDL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CDDL-1.1.json", - "referenceNumber": "283", + "referenceNumber": "296", "name": "Common Development and Distribution License 1.1", "licenseId": "CDDL-1.1", "seeAlso": [ @@ -1220,7 +1270,7 @@ "reference": "./CDLA-Permissive-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CDLA-Permissive-1.0.json", - "referenceNumber": "108", + "referenceNumber": "112", "name": "Community Data License Agreement Permissive 1.0", "licenseId": "CDLA-Permissive-1.0", "seeAlso": [ @@ -1232,7 +1282,7 @@ "reference": "./CDLA-Sharing-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CDLA-Sharing-1.0.json", - "referenceNumber": "178", + "referenceNumber": "184", "name": "Community Data License Agreement Sharing 1.0", "licenseId": "CDLA-Sharing-1.0", "seeAlso": [ @@ -1244,7 +1294,7 @@ "reference": "./CECILL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CECILL-1.0.json", - "referenceNumber": "10", + "referenceNumber": "11", "name": "CeCILL Free Software License Agreement v1.0", "licenseId": "CECILL-1.0", "seeAlso": [ @@ -1256,7 +1306,7 @@ "reference": "./CECILL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CECILL-1.1.json", - "referenceNumber": "135", + "referenceNumber": "139", "name": "CeCILL Free Software License Agreement v1.1", "licenseId": "CECILL-1.1", "seeAlso": [ @@ -1281,7 +1331,7 @@ "reference": "./CECILL-2.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CECILL-2.1.json", - "referenceNumber": "145", + "referenceNumber": "149", "name": "CeCILL Free Software License Agreement v2.1", "licenseId": "CECILL-2.1", "seeAlso": [ @@ -1294,7 +1344,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CECILL-B.json", - "referenceNumber": "93", + "referenceNumber": "97", "name": "CeCILL-B Free Software License Agreement", "licenseId": "CECILL-B", "seeAlso": [ @@ -1307,7 +1357,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CECILL-C.json", - "referenceNumber": "240", + "referenceNumber": "251", "name": "CeCILL-C Free Software License Agreement", "licenseId": "CECILL-C", "seeAlso": [ @@ -1319,7 +1369,7 @@ "reference": "./CERN-OHL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CERN-OHL-1.1.json", - "referenceNumber": "123", + "referenceNumber": "127", "name": "CERN Open Hardware Licence v1.1", "licenseId": "CERN-OHL-1.1", "seeAlso": [ @@ -1331,7 +1381,7 @@ "reference": "./CERN-OHL-1.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CERN-OHL-1.2.json", - "referenceNumber": "167", + "referenceNumber": "172", "name": "CERN Open Hardware Licence v1.2", "licenseId": "CERN-OHL-1.2", "seeAlso": [ @@ -1343,7 +1393,7 @@ "reference": "./CERN-OHL-P-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CERN-OHL-P-2.0.json", - "referenceNumber": "255", + "referenceNumber": "267", "name": "CERN Open Hardware Licence Version 2 - Permissive", "licenseId": "CERN-OHL-P-2.0", "seeAlso": [ @@ -1355,7 +1405,7 @@ "reference": "./CERN-OHL-S-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CERN-OHL-S-2.0.json", - "referenceNumber": "47", + "referenceNumber": "49", "name": "CERN Open Hardware Licence Version 2 - Strongly Reciprocal", "licenseId": "CERN-OHL-S-2.0", "seeAlso": [ @@ -1367,7 +1417,7 @@ "reference": "./CERN-OHL-W-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CERN-OHL-W-2.0.json", - "referenceNumber": "267", + "referenceNumber": "279", "name": "CERN Open Hardware Licence Version 2 - Weakly Reciprocal", "licenseId": "CERN-OHL-W-2.0", "seeAlso": [ @@ -1379,7 +1429,7 @@ "reference": "./CNRI-Jython.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CNRI-Jython.json", - "referenceNumber": "77", + "referenceNumber": "80", "name": "CNRI Jython License", "licenseId": "CNRI-Jython", "seeAlso": [ @@ -1391,7 +1441,7 @@ "reference": "./CNRI-Python.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CNRI-Python.json", - "referenceNumber": "96", + "referenceNumber": "100", "name": "CNRI Python License", "licenseId": "CNRI-Python", "seeAlso": [ @@ -1403,7 +1453,7 @@ "reference": "./CNRI-Python-GPL-Compatible.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CNRI-Python-GPL-Compatible.json", - "referenceNumber": "348", + "referenceNumber": "365", "name": "CNRI Python Open Source GPL Compatible License Agreement", "licenseId": "CNRI-Python-GPL-Compatible", "seeAlso": [ @@ -1416,7 +1466,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CPAL-1.0.json", - "referenceNumber": "285", + "referenceNumber": "298", "name": "Common Public Attribution License 1.0", "licenseId": "CPAL-1.0", "seeAlso": [ @@ -1429,7 +1479,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/CPL-1.0.json", - "referenceNumber": "236", + "referenceNumber": "247", "name": "Common Public License 1.0", "licenseId": "CPL-1.0", "seeAlso": [ @@ -1441,7 +1491,7 @@ "reference": "./CPOL-1.02.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CPOL-1.02.json", - "referenceNumber": "230", + "referenceNumber": "241", "name": "Code Project Open License 1.02", "licenseId": "CPOL-1.02", "seeAlso": [ @@ -1453,7 +1503,7 @@ "reference": "./CUA-OPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CUA-OPL-1.0.json", - "referenceNumber": "165", + "referenceNumber": "170", "name": "CUA Office Public License v1.0", "licenseId": "CUA-OPL-1.0", "seeAlso": [ @@ -1465,7 +1515,7 @@ "reference": "./Caldera.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Caldera.json", - "referenceNumber": "250", + "referenceNumber": "262", "name": "Caldera License", "licenseId": "Caldera", "seeAlso": [ @@ -1478,7 +1528,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/ClArtistic.json", - "referenceNumber": "245", + "referenceNumber": "257", "name": "Clarified Artistic License", "licenseId": "ClArtistic", "seeAlso": [ @@ -1492,7 +1542,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Condor-1.1.json", - "referenceNumber": "150", + "referenceNumber": "154", "name": "Condor Public License v1.1", "licenseId": "Condor-1.1", "seeAlso": [ @@ -1505,7 +1555,7 @@ "reference": "./Crossword.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Crossword.json", - "referenceNumber": "101", + "referenceNumber": "105", "name": "Crossword License", "licenseId": "Crossword", "seeAlso": [ @@ -1517,7 +1567,7 @@ "reference": "./CrystalStacker.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/CrystalStacker.json", - "referenceNumber": "38", + "referenceNumber": "40", "name": "CrystalStacker License", "licenseId": "CrystalStacker", "seeAlso": [ @@ -1529,7 +1579,7 @@ "reference": "./Cube.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Cube.json", - "referenceNumber": "391", + "referenceNumber": "410", "name": "Cube License", "licenseId": "Cube", "seeAlso": [ @@ -1541,7 +1591,7 @@ "reference": "./D-FSL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/D-FSL-1.0.json", - "referenceNumber": "358", + "referenceNumber": "376", "name": "Deutsche Freie Software Lizenz", "licenseId": "D-FSL-1.0", "seeAlso": [ @@ -1560,7 +1610,7 @@ "reference": "./DOC.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/DOC.json", - "referenceNumber": "275", + "referenceNumber": "287", "name": "DOC License", "licenseId": "DOC", "seeAlso": [ @@ -1572,7 +1622,7 @@ "reference": "./DSDP.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/DSDP.json", - "referenceNumber": "266", + "referenceNumber": "278", "name": "DSDP License", "licenseId": "DSDP", "seeAlso": [ @@ -1584,7 +1634,7 @@ "reference": "./Dotseqn.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Dotseqn.json", - "referenceNumber": "33", + "referenceNumber": "34", "name": "Dotseqn License", "licenseId": "Dotseqn", "seeAlso": [ @@ -1596,7 +1646,7 @@ "reference": "./ECL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ECL-1.0.json", - "referenceNumber": "418", + "referenceNumber": "438", "name": "Educational Community License v1.0", "licenseId": "ECL-1.0", "seeAlso": [ @@ -1621,7 +1671,7 @@ "reference": "./EFL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/EFL-1.0.json", - "referenceNumber": "76", + "referenceNumber": "79", "name": "Eiffel Forum License v1.0", "licenseId": "EFL-1.0", "seeAlso": [ @@ -1635,7 +1685,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EFL-2.0.json", - "referenceNumber": "7", + "referenceNumber": "8", "name": "Eiffel Forum License v2.0", "licenseId": "EFL-2.0", "seeAlso": [ @@ -1644,12 +1694,24 @@ ], "isOsiApproved": true }, + { + "reference": "./EPICS.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/EPICS.json", + "referenceNumber": "377", + "name": "EPICS Open License", + "licenseId": "EPICS", + "seeAlso": [ + "https://epics.anl.gov/license/open.php" + ], + "isOsiApproved": false + }, { "reference": "./EPL-1.0.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EPL-1.0.json", - "referenceNumber": "277", + "referenceNumber": "289", "name": "Eclipse Public License 1.0", "licenseId": "EPL-1.0", "seeAlso": [ @@ -1663,7 +1725,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EPL-2.0.json", - "referenceNumber": "416", + "referenceNumber": "436", "name": "Eclipse Public License 2.0", "licenseId": "EPL-2.0", "seeAlso": [ @@ -1677,7 +1739,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EUDatagrid.json", - "referenceNumber": "263", + "referenceNumber": "275", "name": "EU DataGrid Software License", "licenseId": "EUDatagrid", "seeAlso": [ @@ -1690,7 +1752,7 @@ "reference": "./EUPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/EUPL-1.0.json", - "referenceNumber": "98", + "referenceNumber": "102", "name": "European Union Public License 1.0", "licenseId": "EUPL-1.0", "seeAlso": [ @@ -1704,7 +1766,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EUPL-1.1.json", - "referenceNumber": "409", + "referenceNumber": "429", "name": "European Union Public License 1.1", "licenseId": "EUPL-1.1", "seeAlso": [ @@ -1719,7 +1781,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/EUPL-1.2.json", - "referenceNumber": "271", + "referenceNumber": "283", "name": "European Union Public License 1.2", "licenseId": "EUPL-1.2", "seeAlso": [ @@ -1727,7 +1789,7 @@ "https://joinup.ec.europa.eu/sites/default/files/custom-page/attachment/eupl_v1.2_en.pdf", "https://joinup.ec.europa.eu/sites/default/files/inline-files/EUPL%20v1_2%20EN(1).txt", "http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri\u003dCELEX:32017D0863", - "https://opensource.org/licenses/EUPL-1.1" + "https://opensource.org/licenses/EUPL-1.2" ], "isOsiApproved": true }, @@ -1735,7 +1797,7 @@ "reference": "./Entessa.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Entessa.json", - "referenceNumber": "386", + "referenceNumber": "405", "name": "Entessa Public License v1.0", "licenseId": "Entessa", "seeAlso": [ @@ -1747,7 +1809,7 @@ "reference": "./ErlPL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ErlPL-1.1.json", - "referenceNumber": "408", + "referenceNumber": "427", "name": "Erlang Public License v1.1", "licenseId": "ErlPL-1.1", "seeAlso": [ @@ -1759,7 +1821,7 @@ "reference": "./Eurosym.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Eurosym.json", - "referenceNumber": "171", + "referenceNumber": "176", "name": "Eurosym License", "licenseId": "Eurosym", "seeAlso": [ @@ -1772,7 +1834,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/FSFAP.json", - "referenceNumber": "394", + "referenceNumber": "413", "name": "FSF All Permissive License", "licenseId": "FSFAP", "seeAlso": [ @@ -1796,7 +1858,7 @@ "reference": "./FSFULLR.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/FSFULLR.json", - "referenceNumber": "308", + "referenceNumber": "325", "name": "FSF Unlimited License (with License Retention)", "licenseId": "FSFULLR", "seeAlso": [ @@ -1809,7 +1871,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/FTL.json", - "referenceNumber": "374", + "referenceNumber": "393", "name": "Freetype Project License", "licenseId": "FTL", "seeAlso": [ @@ -1822,7 +1884,7 @@ "reference": "./Fair.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Fair.json", - "referenceNumber": "262", + "referenceNumber": "274", "name": "Fair License", "licenseId": "Fair", "seeAlso": [ @@ -1835,7 +1897,7 @@ "reference": "./Frameworx-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Frameworx-1.0.json", - "referenceNumber": "373", + "referenceNumber": "392", "name": "Frameworx Open License 1.0", "licenseId": "Frameworx-1.0", "seeAlso": [ @@ -1847,7 +1909,7 @@ "reference": "./FreeImage.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/FreeImage.json", - "referenceNumber": "370", + "referenceNumber": "389", "name": "FreeImage Public License v1.0", "licenseId": "FreeImage", "seeAlso": [ @@ -1860,7 +1922,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.1.json", - "referenceNumber": "257", + "referenceNumber": "269", "name": "GNU Free Documentation License v1.1", "licenseId": "GFDL-1.1", "seeAlso": [ @@ -1868,12 +1930,60 @@ ], "isOsiApproved": false }, + { + "reference": "./GFDL-1.1-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-invariants-only.json", + "referenceNumber": "205", + "name": "GNU Free Documentation License v1.1 only - invariants", + "licenseId": "GFDL-1.1-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.1-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-invariants-or-later.json", + "referenceNumber": "85", + "name": "GNU Free Documentation License v1.1 or later - invariants", + "licenseId": "GFDL-1.1-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.1-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-no-invariants-only.json", + "referenceNumber": "7", + "name": "GNU Free Documentation License v1.1 only - no invariants", + "licenseId": "GFDL-1.1-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.1-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-no-invariants-or-later.json", + "referenceNumber": "254", + "name": "GNU Free Documentation License v1.1 or later - no invariants", + "licenseId": "GFDL-1.1-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.1.txt" + ], + "isOsiApproved": false + }, { "reference": "./GFDL-1.1-only.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-only.json", - "referenceNumber": "104", + "referenceNumber": "108", "name": "GNU Free Documentation License v1.1 only", "licenseId": "GFDL-1.1-only", "seeAlso": [ @@ -1886,7 +1996,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.1-or-later.json", - "referenceNumber": "124", + "referenceNumber": "128", "name": "GNU Free Documentation License v1.1 or later", "licenseId": "GFDL-1.1-or-later", "seeAlso": [ @@ -1899,7 +2009,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.2.json", - "referenceNumber": "197", + "referenceNumber": "206", "name": "GNU Free Documentation License v1.2", "licenseId": "GFDL-1.2", "seeAlso": [ @@ -1907,12 +2017,60 @@ ], "isOsiApproved": false }, + { + "reference": "./GFDL-1.2-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-invariants-only.json", + "referenceNumber": "208", + "name": "GNU Free Documentation License v1.2 only - invariants", + "licenseId": "GFDL-1.2-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.2-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-invariants-or-later.json", + "referenceNumber": "428", + "name": "GNU Free Documentation License v1.2 or later - invariants", + "licenseId": "GFDL-1.2-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.2-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-no-invariants-only.json", + "referenceNumber": "324", + "name": "GNU Free Documentation License v1.2 only - no invariants", + "licenseId": "GFDL-1.2-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.2-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-no-invariants-or-later.json", + "referenceNumber": "195", + "name": "GNU Free Documentation License v1.2 or later - no invariants", + "licenseId": "GFDL-1.2-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/old-licenses/fdl-1.2.txt" + ], + "isOsiApproved": false + }, { "reference": "./GFDL-1.2-only.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-only.json", - "referenceNumber": "90", + "referenceNumber": "94", "name": "GNU Free Documentation License v1.2 only", "licenseId": "GFDL-1.2-only", "seeAlso": [ @@ -1925,7 +2083,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.2-or-later.json", - "referenceNumber": "132", + "referenceNumber": "136", "name": "GNU Free Documentation License v1.2 or later", "licenseId": "GFDL-1.2-or-later", "seeAlso": [ @@ -1938,7 +2096,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.3.json", - "referenceNumber": "365", + "referenceNumber": "384", "name": "GNU Free Documentation License v1.3", "licenseId": "GFDL-1.3", "seeAlso": [ @@ -1946,12 +2104,60 @@ ], "isOsiApproved": false }, + { + "reference": "./GFDL-1.3-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-invariants-only.json", + "referenceNumber": "187", + "name": "GNU Free Documentation License v1.3 only - invariants", + "licenseId": "GFDL-1.3-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.3-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-invariants-or-later.json", + "referenceNumber": "319", + "name": "GNU Free Documentation License v1.3 or later - invariants", + "licenseId": "GFDL-1.3-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.3-no-invariants-only.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-no-invariants-only.json", + "referenceNumber": "183", + "name": "GNU Free Documentation License v1.3 only - no invariants", + "licenseId": "GFDL-1.3-no-invariants-only", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, + { + "reference": "./GFDL-1.3-no-invariants-or-later.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-no-invariants-or-later.json", + "referenceNumber": "167", + "name": "GNU Free Documentation License v1.3 or later - no invariants", + "licenseId": "GFDL-1.3-no-invariants-or-later", + "seeAlso": [ + "https://www.gnu.org/licenses/fdl-1.3.txt" + ], + "isOsiApproved": false + }, { "reference": "./GFDL-1.3-only.html", "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-only.json", - "referenceNumber": "200", + "referenceNumber": "210", "name": "GNU Free Documentation License v1.3 only", "licenseId": "GFDL-1.3-only", "seeAlso": [ @@ -1964,7 +2170,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GFDL-1.3-or-later.json", - "referenceNumber": "53", + "referenceNumber": "56", "name": "GNU Free Documentation License v1.3 or later", "licenseId": "GFDL-1.3-or-later", "seeAlso": [ @@ -1976,7 +2182,7 @@ "reference": "./GL2PS.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/GL2PS.json", - "referenceNumber": "314", + "referenceNumber": "331", "name": "GL2PS License", "licenseId": "GL2PS", "seeAlso": [ @@ -1984,11 +2190,23 @@ ], "isOsiApproved": false }, + { + "reference": "./GLWTPL.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/GLWTPL.json", + "referenceNumber": "55", + "name": "Good Luck With That Public License", + "licenseId": "GLWTPL", + "seeAlso": [ + "https://github.com/me-shaon/GLWTPL/commit/da5f6bc734095efbacb442c0b31e33a65b9d6e85" + ], + "isOsiApproved": false + }, { "reference": "./GPL-1.0.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-1.0.json", - "referenceNumber": "330", + "referenceNumber": "347", "name": "GNU General Public License v1.0 only", "licenseId": "GPL-1.0", "seeAlso": [ @@ -2000,7 +2218,7 @@ "reference": "./GPL-1.0+.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-1.0+.json", - "referenceNumber": "205", + "referenceNumber": "215", "name": "GNU General Public License v1.0 or later", "licenseId": "GPL-1.0+", "seeAlso": [ @@ -2012,7 +2230,7 @@ "reference": "./GPL-1.0-only.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/GPL-1.0-only.json", - "referenceNumber": "15", + "referenceNumber": "16", "name": "GNU General Public License v1.0 only", "licenseId": "GPL-1.0-only", "seeAlso": [ @@ -2024,7 +2242,7 @@ "reference": "./GPL-1.0-or-later.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/GPL-1.0-or-later.json", - "referenceNumber": "134", + "referenceNumber": "138", "name": "GNU General Public License v1.0 or later", "licenseId": "GPL-1.0-or-later", "seeAlso": [ @@ -2037,7 +2255,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0.json", - "referenceNumber": "356", + "referenceNumber": "374", "name": "GNU General Public License v2.0 only", "licenseId": "GPL-2.0", "seeAlso": [ @@ -2051,7 +2269,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0+.json", - "referenceNumber": "401", + "referenceNumber": "420", "name": "GNU General Public License v2.0 or later", "licenseId": "GPL-2.0+", "seeAlso": [ @@ -2065,7 +2283,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-only.json", - "referenceNumber": "235", + "referenceNumber": "246", "name": "GNU General Public License v2.0 only", "licenseId": "GPL-2.0-only", "seeAlso": [ @@ -2079,7 +2297,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-or-later.json", - "referenceNumber": "258", + "referenceNumber": "270", "name": "GNU General Public License v2.0 or later", "licenseId": "GPL-2.0-or-later", "seeAlso": [ @@ -2092,7 +2310,7 @@ "reference": "./GPL-2.0-with-GCC-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-with-GCC-exception.json", - "referenceNumber": "340", + "referenceNumber": "357", "name": "GNU General Public License v2.0 w/GCC Runtime Library exception", "licenseId": "GPL-2.0-with-GCC-exception", "seeAlso": [ @@ -2104,7 +2322,7 @@ "reference": "./GPL-2.0-with-autoconf-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-with-autoconf-exception.json", - "referenceNumber": "36", + "referenceNumber": "37", "name": "GNU General Public License v2.0 w/Autoconf exception", "licenseId": "GPL-2.0-with-autoconf-exception", "seeAlso": [ @@ -2116,7 +2334,7 @@ "reference": "./GPL-2.0-with-bison-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-with-bison-exception.json", - "referenceNumber": "371", + "referenceNumber": "390", "name": "GNU General Public License v2.0 w/Bison exception", "licenseId": "GPL-2.0-with-bison-exception", "seeAlso": [ @@ -2128,7 +2346,7 @@ "reference": "./GPL-2.0-with-classpath-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-with-classpath-exception.json", - "referenceNumber": "227", + "referenceNumber": "238", "name": "GNU General Public License v2.0 w/Classpath exception", "licenseId": "GPL-2.0-with-classpath-exception", "seeAlso": [ @@ -2140,7 +2358,7 @@ "reference": "./GPL-2.0-with-font-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-2.0-with-font-exception.json", - "referenceNumber": "24", + "referenceNumber": "25", "name": "GNU General Public License v2.0 w/Font exception", "licenseId": "GPL-2.0-with-font-exception", "seeAlso": [ @@ -2153,7 +2371,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-3.0.json", - "referenceNumber": "414", + "referenceNumber": "434", "name": "GNU General Public License v3.0 only", "licenseId": "GPL-3.0", "seeAlso": [ @@ -2167,7 +2385,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-3.0+.json", - "referenceNumber": "152", + "referenceNumber": "156", "name": "GNU General Public License v3.0 or later", "licenseId": "GPL-3.0+", "seeAlso": [ @@ -2181,7 +2399,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-3.0-only.json", - "referenceNumber": "127", + "referenceNumber": "131", "name": "GNU General Public License v3.0 only", "licenseId": "GPL-3.0-only", "seeAlso": [ @@ -2195,7 +2413,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/GPL-3.0-or-later.json", - "referenceNumber": "399", + "referenceNumber": "418", "name": "GNU General Public License v3.0 or later", "licenseId": "GPL-3.0-or-later", "seeAlso": [ @@ -2220,7 +2438,7 @@ "reference": "./GPL-3.0-with-autoconf-exception.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/GPL-3.0-with-autoconf-exception.json", - "referenceNumber": "8", + "referenceNumber": "9", "name": "GNU General Public License v3.0 w/Autoconf exception", "licenseId": "GPL-3.0-with-autoconf-exception", "seeAlso": [ @@ -2232,7 +2450,7 @@ "reference": "./Giftware.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Giftware.json", - "referenceNumber": "379", + "referenceNumber": "398", "name": "Giftware License", "licenseId": "Giftware", "seeAlso": [ @@ -2244,7 +2462,7 @@ "reference": "./Glide.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Glide.json", - "referenceNumber": "121", + "referenceNumber": "125", "name": "3dfx Glide License", "licenseId": "Glide", "seeAlso": [ @@ -2256,7 +2474,7 @@ "reference": "./Glulxe.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Glulxe.json", - "referenceNumber": "206", + "referenceNumber": "216", "name": "Glulxe License", "licenseId": "Glulxe", "seeAlso": [ @@ -2269,7 +2487,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/HPND.json", - "referenceNumber": "154", + "referenceNumber": "158", "name": "Historical Permission Notice and Disclaimer", "licenseId": "HPND", "seeAlso": [ @@ -2281,7 +2499,7 @@ "reference": "./HPND-sell-variant.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/HPND-sell-variant.json", - "referenceNumber": "164", + "referenceNumber": "169", "name": "Historical Permission Notice and Disclaimer - sell variant", "licenseId": "HPND-sell-variant", "seeAlso": [ @@ -2293,7 +2511,7 @@ "reference": "./HaskellReport.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/HaskellReport.json", - "referenceNumber": "212", + "referenceNumber": "222", "name": "Haskell Language Report License", "licenseId": "HaskellReport", "seeAlso": [ @@ -2305,7 +2523,7 @@ "reference": "./Hippocratic-2.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Hippocratic-2.1.json", - "referenceNumber": "185", + "referenceNumber": "192", "name": "Hippocratic License 2.1", "licenseId": "Hippocratic-2.1", "seeAlso": [ @@ -2318,7 +2536,7 @@ "reference": "./IBM-pibs.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/IBM-pibs.json", - "referenceNumber": "241", + "referenceNumber": "252", "name": "IBM PowerPC Initialization and Boot Software", "licenseId": "IBM-pibs", "seeAlso": [ @@ -2330,7 +2548,7 @@ "reference": "./ICU.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ICU.json", - "referenceNumber": "180", + "referenceNumber": "186", "name": "ICU License", "licenseId": "ICU", "seeAlso": [ @@ -2343,7 +2561,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/IJG.json", - "referenceNumber": "244", + "referenceNumber": "256", "name": "Independent JPEG Group License", "licenseId": "IJG", "seeAlso": [ @@ -2356,7 +2574,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/IPA.json", - "referenceNumber": "321", + "referenceNumber": "338", "name": "IPA Font License", "licenseId": "IPA", "seeAlso": [ @@ -2369,7 +2587,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/IPL-1.0.json", - "referenceNumber": "320", + "referenceNumber": "337", "name": "IBM Public License v1.0", "licenseId": "IPL-1.0", "seeAlso": [ @@ -2382,7 +2600,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/ISC.json", - "referenceNumber": "364", + "referenceNumber": "383", "name": "ISC License", "licenseId": "ISC", "seeAlso": [ @@ -2395,7 +2613,7 @@ "reference": "./ImageMagick.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ImageMagick.json", - "referenceNumber": "337", + "referenceNumber": "354", "name": "ImageMagick License", "licenseId": "ImageMagick", "seeAlso": [ @@ -2408,7 +2626,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Imlib2.json", - "referenceNumber": "140", + "referenceNumber": "144", "name": "Imlib2 License", "licenseId": "Imlib2", "seeAlso": [ @@ -2421,7 +2639,7 @@ "reference": "./Info-ZIP.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Info-ZIP.json", - "referenceNumber": "294", + "referenceNumber": "308", "name": "Info-ZIP License", "licenseId": "Info-ZIP", "seeAlso": [ @@ -2434,7 +2652,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Intel.json", - "referenceNumber": "29", + "referenceNumber": "30", "name": "Intel Open Source License", "licenseId": "Intel", "seeAlso": [ @@ -2446,7 +2664,7 @@ "reference": "./Intel-ACPI.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Intel-ACPI.json", - "referenceNumber": "243", + "referenceNumber": "255", "name": "Intel ACPI Software License Agreement", "licenseId": "Intel-ACPI", "seeAlso": [ @@ -2458,7 +2676,7 @@ "reference": "./Interbase-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Interbase-1.0.json", - "referenceNumber": "334", + "referenceNumber": "351", "name": "Interbase Public License v1.0", "licenseId": "Interbase-1.0", "seeAlso": [ @@ -2470,7 +2688,7 @@ "reference": "./JPNIC.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/JPNIC.json", - "referenceNumber": "327", + "referenceNumber": "344", "name": "Japan Network Information Center License", "licenseId": "JPNIC", "seeAlso": [ @@ -2482,7 +2700,7 @@ "reference": "./JSON.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/JSON.json", - "referenceNumber": "204", + "referenceNumber": "214", "name": "JSON License", "licenseId": "JSON", "seeAlso": [ @@ -2494,7 +2712,7 @@ "reference": "./JasPer-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/JasPer-2.0.json", - "referenceNumber": "81", + "referenceNumber": "84", "name": "JasPer License", "licenseId": "JasPer-2.0", "seeAlso": [ @@ -2506,7 +2724,7 @@ "reference": "./LAL-1.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LAL-1.2.json", - "referenceNumber": "159", + "referenceNumber": "163", "name": "Licence Art Libre 1.2", "licenseId": "LAL-1.2", "seeAlso": [ @@ -2518,7 +2736,7 @@ "reference": "./LAL-1.3.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LAL-1.3.json", - "referenceNumber": "368", + "referenceNumber": "387", "name": "Licence Art Libre 1.3", "licenseId": "LAL-1.3", "seeAlso": [ @@ -2530,7 +2748,7 @@ "reference": "./LGPL-2.0.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.0.json", - "referenceNumber": "286", + "referenceNumber": "299", "name": "GNU Library General Public License v2 only", "licenseId": "LGPL-2.0", "seeAlso": [ @@ -2542,7 +2760,7 @@ "reference": "./LGPL-2.0+.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.0+.json", - "referenceNumber": "144", + "referenceNumber": "148", "name": "GNU Library General Public License v2 or later", "licenseId": "LGPL-2.0+", "seeAlso": [ @@ -2554,7 +2772,7 @@ "reference": "./LGPL-2.0-only.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LGPL-2.0-only.json", - "referenceNumber": "339", + "referenceNumber": "356", "name": "GNU Library General Public License v2 only", "licenseId": "LGPL-2.0-only", "seeAlso": [ @@ -2566,7 +2784,7 @@ "reference": "./LGPL-2.0-or-later.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LGPL-2.0-or-later.json", - "referenceNumber": "35", + "referenceNumber": "36", "name": "GNU Library General Public License v2 or later", "licenseId": "LGPL-2.0-or-later", "seeAlso": [ @@ -2579,7 +2797,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.1.json", - "referenceNumber": "189", + "referenceNumber": "197", "name": "GNU Lesser General Public License v2.1 only", "licenseId": "LGPL-2.1", "seeAlso": [ @@ -2593,7 +2811,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.1+.json", - "referenceNumber": "209", + "referenceNumber": "219", "name": "GNU Library General Public License v2.1 or later", "licenseId": "LGPL-2.1+", "seeAlso": [ @@ -2607,7 +2825,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.1-only.json", - "referenceNumber": "143", + "referenceNumber": "147", "name": "GNU Lesser General Public License v2.1 only", "licenseId": "LGPL-2.1-only", "seeAlso": [ @@ -2621,7 +2839,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-2.1-or-later.json", - "referenceNumber": "279", + "referenceNumber": "292", "name": "GNU Lesser General Public License v2.1 or later", "licenseId": "LGPL-2.1-or-later", "seeAlso": [ @@ -2635,7 +2853,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-3.0.json", - "referenceNumber": "216", + "referenceNumber": "226", "name": "GNU Lesser General Public License v3.0 only", "licenseId": "LGPL-3.0", "seeAlso": [ @@ -2649,7 +2867,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-3.0+.json", - "referenceNumber": "228", + "referenceNumber": "239", "name": "GNU Lesser General Public License v3.0 or later", "licenseId": "LGPL-3.0+", "seeAlso": [ @@ -2663,7 +2881,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-3.0-only.json", - "referenceNumber": "49", + "referenceNumber": "51", "name": "GNU Lesser General Public License v3.0 only", "licenseId": "LGPL-3.0-only", "seeAlso": [ @@ -2677,7 +2895,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LGPL-3.0-or-later.json", - "referenceNumber": "328", + "referenceNumber": "345", "name": "GNU Lesser General Public License v3.0 or later", "licenseId": "LGPL-3.0-or-later", "seeAlso": [ @@ -2690,7 +2908,7 @@ "reference": "./LGPLLR.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LGPLLR.json", - "referenceNumber": "417", + "referenceNumber": "437", "name": "Lesser General Public License For Linguistic Resources", "licenseId": "LGPLLR", "seeAlso": [ @@ -2702,7 +2920,7 @@ "reference": "./LPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LPL-1.0.json", - "referenceNumber": "383", + "referenceNumber": "402", "name": "Lucent Public License Version 1.0", "licenseId": "LPL-1.0", "seeAlso": [ @@ -2715,7 +2933,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LPL-1.02.json", - "referenceNumber": "125", + "referenceNumber": "129", "name": "Lucent Public License v1.02", "licenseId": "LPL-1.02", "seeAlso": [ @@ -2728,7 +2946,7 @@ "reference": "./LPPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LPPL-1.0.json", - "referenceNumber": "86", + "referenceNumber": "90", "name": "LaTeX Project Public License v1.0", "licenseId": "LPPL-1.0", "seeAlso": [ @@ -2740,7 +2958,7 @@ "reference": "./LPPL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LPPL-1.1.json", - "referenceNumber": "174", + "referenceNumber": "179", "name": "LaTeX Project Public License v1.1", "licenseId": "LPPL-1.1", "seeAlso": [ @@ -2753,7 +2971,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LPPL-1.2.json", - "referenceNumber": "166", + "referenceNumber": "171", "name": "LaTeX Project Public License v1.2", "licenseId": "LPPL-1.2", "seeAlso": [ @@ -2766,7 +2984,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/LPPL-1.3a.json", - "referenceNumber": "280", + "referenceNumber": "293", "name": "LaTeX Project Public License v1.3a", "licenseId": "LPPL-1.3a", "seeAlso": [ @@ -2778,7 +2996,7 @@ "reference": "./LPPL-1.3c.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LPPL-1.3c.json", - "referenceNumber": "131", + "referenceNumber": "135", "name": "LaTeX Project Public License v1.3c", "licenseId": "LPPL-1.3c", "seeAlso": [ @@ -2791,7 +3009,7 @@ "reference": "./Latex2e.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Latex2e.json", - "referenceNumber": "37", + "referenceNumber": "38", "name": "Latex2e License", "licenseId": "Latex2e", "seeAlso": [ @@ -2803,7 +3021,7 @@ "reference": "./Leptonica.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Leptonica.json", - "referenceNumber": "311", + "referenceNumber": "328", "name": "Leptonica License", "licenseId": "Leptonica", "seeAlso": [ @@ -2815,7 +3033,7 @@ "reference": "./LiLiQ-P-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LiLiQ-P-1.1.json", - "referenceNumber": "83", + "referenceNumber": "87", "name": "Licence Libre du Québec – Permissive version 1.1", "licenseId": "LiLiQ-P-1.1", "seeAlso": [ @@ -2828,7 +3046,7 @@ "reference": "./LiLiQ-R-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LiLiQ-R-1.1.json", - "referenceNumber": "301", + "referenceNumber": "315", "name": "Licence Libre du Québec – Réciprocité version 1.1", "licenseId": "LiLiQ-R-1.1", "seeAlso": [ @@ -2841,7 +3059,7 @@ "reference": "./LiLiQ-Rplus-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/LiLiQ-Rplus-1.1.json", - "referenceNumber": "346", + "referenceNumber": "363", "name": "Licence Libre du Québec – Réciprocité forte version 1.1", "licenseId": "LiLiQ-Rplus-1.1", "seeAlso": [ @@ -2854,7 +3072,7 @@ "reference": "./Libpng.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Libpng.json", - "referenceNumber": "388", + "referenceNumber": "407", "name": "libpng License", "licenseId": "Libpng", "seeAlso": [ @@ -2866,7 +3084,7 @@ "reference": "./Linux-OpenIB.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Linux-OpenIB.json", - "referenceNumber": "224", + "referenceNumber": "234", "name": "Linux Kernel Variant of OpenIB.org license", "licenseId": "Linux-OpenIB", "seeAlso": [ @@ -2879,7 +3097,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/MIT.json", - "referenceNumber": "265", + "referenceNumber": "277", "name": "MIT License", "licenseId": "MIT", "seeAlso": [ @@ -2891,7 +3109,7 @@ "reference": "./MIT-0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MIT-0.json", - "referenceNumber": "79", + "referenceNumber": "82", "name": "MIT No Attribution", "licenseId": "MIT-0", "seeAlso": [ @@ -2905,7 +3123,7 @@ "reference": "./MIT-CMU.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MIT-CMU.json", - "referenceNumber": "355", + "referenceNumber": "373", "name": "CMU License", "licenseId": "MIT-CMU", "seeAlso": [ @@ -2918,7 +3136,7 @@ "reference": "./MIT-advertising.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MIT-advertising.json", - "referenceNumber": "199", + "referenceNumber": "209", "name": "Enlightenment License (e16)", "licenseId": "MIT-advertising", "seeAlso": [ @@ -2930,7 +3148,7 @@ "reference": "./MIT-enna.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MIT-enna.json", - "referenceNumber": "54", + "referenceNumber": "57", "name": "enna License", "licenseId": "MIT-enna", "seeAlso": [ @@ -2942,7 +3160,7 @@ "reference": "./MIT-feh.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MIT-feh.json", - "referenceNumber": "376", + "referenceNumber": "395", "name": "feh License", "licenseId": "MIT-feh", "seeAlso": [ @@ -2954,7 +3172,7 @@ "reference": "./MITNFA.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MITNFA.json", - "referenceNumber": "347", + "referenceNumber": "364", "name": "MIT +no-false-attribs license", "licenseId": "MITNFA", "seeAlso": [ @@ -2966,7 +3184,7 @@ "reference": "./MPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MPL-1.0.json", - "referenceNumber": "247", + "referenceNumber": "259", "name": "Mozilla Public License 1.0", "licenseId": "MPL-1.0", "seeAlso": [ @@ -2980,7 +3198,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/MPL-1.1.json", - "referenceNumber": "407", + "referenceNumber": "426", "name": "Mozilla Public License 1.1", "licenseId": "MPL-1.1", "seeAlso": [ @@ -2994,7 +3212,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/MPL-2.0.json", - "referenceNumber": "126", + "referenceNumber": "130", "name": "Mozilla Public License 2.0", "licenseId": "MPL-2.0", "seeAlso": [ @@ -3007,7 +3225,7 @@ "reference": "./MPL-2.0-no-copyleft-exception.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MPL-2.0-no-copyleft-exception.json", - "referenceNumber": "190", + "referenceNumber": "198", "name": "Mozilla Public License 2.0 (no copyleft exception)", "licenseId": "MPL-2.0-no-copyleft-exception", "seeAlso": [ @@ -3021,7 +3239,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/MS-PL.json", - "referenceNumber": "377", + "referenceNumber": "396", "name": "Microsoft Public License", "licenseId": "MS-PL", "seeAlso": [ @@ -3048,7 +3266,7 @@ "reference": "./MTLL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MTLL.json", - "referenceNumber": "106", + "referenceNumber": "110", "name": "Matrix Template Library License", "licenseId": "MTLL", "seeAlso": [ @@ -3060,7 +3278,7 @@ "reference": "./MakeIndex.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MakeIndex.json", - "referenceNumber": "354", + "referenceNumber": "372", "name": "MakeIndex License", "licenseId": "MakeIndex", "seeAlso": [ @@ -3072,7 +3290,7 @@ "reference": "./MirOS.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MirOS.json", - "referenceNumber": "381", + "referenceNumber": "400", "name": "The MirOS Licence", "licenseId": "MirOS", "seeAlso": [ @@ -3084,7 +3302,7 @@ "reference": "./Motosoto.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Motosoto.json", - "referenceNumber": "12", + "referenceNumber": "13", "name": "Motosoto License", "licenseId": "Motosoto", "seeAlso": [ @@ -3096,7 +3314,7 @@ "reference": "./MulanPSL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MulanPSL-1.0.json", - "referenceNumber": "208", + "referenceNumber": "218", "name": "Mulan Permissive Software License, Version 1", "licenseId": "MulanPSL-1.0", "seeAlso": [ @@ -3109,7 +3327,7 @@ "reference": "./MulanPSL-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/MulanPSL-2.0.json", - "referenceNumber": "153", + "referenceNumber": "157", "name": "Mulan Permissive Software License, Version 2", "licenseId": "MulanPSL-2.0", "seeAlso": [ @@ -3121,7 +3339,7 @@ "reference": "./Multics.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Multics.json", - "referenceNumber": "170", + "referenceNumber": "175", "name": "Multics License", "licenseId": "Multics", "seeAlso": [ @@ -3133,7 +3351,7 @@ "reference": "./Mup.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Mup.json", - "referenceNumber": "316", + "referenceNumber": "333", "name": "Mup License", "licenseId": "Mup", "seeAlso": [ @@ -3145,7 +3363,7 @@ "reference": "./NASA-1.3.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NASA-1.3.json", - "referenceNumber": "114", + "referenceNumber": "118", "name": "NASA Open Source Agreement 1.3", "licenseId": "NASA-1.3", "seeAlso": [ @@ -3158,7 +3376,7 @@ "reference": "./NBPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NBPL-1.0.json", - "referenceNumber": "17", + "referenceNumber": "18", "name": "Net Boolean Public License v1", "licenseId": "NBPL-1.0", "seeAlso": [ @@ -3170,7 +3388,7 @@ "reference": "./NCGL-UK-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NCGL-UK-2.0.json", - "referenceNumber": "225", + "referenceNumber": "235", "name": "Non-Commercial Government Licence", "licenseId": "NCGL-UK-2.0", "seeAlso": [ @@ -3183,7 +3401,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/NCSA.json", - "referenceNumber": "194", + "referenceNumber": "202", "name": "University of Illinois/NCSA Open Source License", "licenseId": "NCSA", "seeAlso": [ @@ -3196,7 +3414,7 @@ "reference": "./NGPL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NGPL.json", - "referenceNumber": "319", + "referenceNumber": "336", "name": "Nethack General Public License", "licenseId": "NGPL", "seeAlso": [ @@ -3204,11 +3422,37 @@ ], "isOsiApproved": true }, + { + "reference": "./NIST-PD.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/NIST-PD.json", + "referenceNumber": "320", + "name": "NIST Public Domain Notice", + "licenseId": "NIST-PD", + "seeAlso": [ + "https://github.com/tcheneau/simpleRPL/blob/e645e69e38dd4e3ccfeceb2db8cba05b7c2e0cd3/LICENSE.txt", + "https://github.com/tcheneau/Routing/blob/f09f46fcfe636107f22f2c98348188a65a135d98/README.md" + ], + "isOsiApproved": false + }, + { + "reference": "./NIST-PD-fallback.html", + "isDeprecatedLicenseId": false, + "detailsUrl": "http://spdx.org/licenses/NIST-PD-fallback.json", + "referenceNumber": "39", + "name": "NIST Public Domain Notice with license fallback", + "licenseId": "NIST-PD-fallback", + "seeAlso": [ + "https://github.com/usnistgov/jsip/blob/59700e6926cbe96c5cdae897d9a7d2656b42abe3/LICENSE", + "https://github.com/usnistgov/fipy/blob/86aaa5c2ba2c6f1be19593c5986071cf6568cc34/LICENSE.rst" + ], + "isOsiApproved": false + }, { "reference": "./NLOD-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NLOD-1.0.json", - "referenceNumber": "139", + "referenceNumber": "143", "name": "Norwegian Licence for Open Government Data", "licenseId": "NLOD-1.0", "seeAlso": [ @@ -3220,7 +3464,7 @@ "reference": "./NLPL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NLPL.json", - "referenceNumber": "317", + "referenceNumber": "334", "name": "No Limit Public License", "licenseId": "NLPL", "seeAlso": [ @@ -3233,7 +3477,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/NOSL.json", - "referenceNumber": "392", + "referenceNumber": "411", "name": "Netizen Open Source License", "licenseId": "NOSL", "seeAlso": [ @@ -3246,7 +3490,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/NPL-1.0.json", - "referenceNumber": "253", + "referenceNumber": "265", "name": "Netscape Public License v1.0", "licenseId": "NPL-1.0", "seeAlso": [ @@ -3259,7 +3503,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/NPL-1.1.json", - "referenceNumber": "422", + "referenceNumber": "442", "name": "Netscape Public License v1.1", "licenseId": "NPL-1.1", "seeAlso": [ @@ -3271,7 +3515,7 @@ "reference": "./NPOSL-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NPOSL-3.0.json", - "referenceNumber": "156", + "referenceNumber": "160", "name": "Non-Profit Open Software License 3.0", "licenseId": "NPOSL-3.0", "seeAlso": [ @@ -3283,7 +3527,7 @@ "reference": "./NRL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NRL.json", - "referenceNumber": "105", + "referenceNumber": "109", "name": "NRL License", "licenseId": "NRL", "seeAlso": [ @@ -3295,7 +3539,7 @@ "reference": "./NTP.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NTP.json", - "referenceNumber": "268", + "referenceNumber": "280", "name": "NTP License", "licenseId": "NTP", "seeAlso": [ @@ -3307,7 +3551,7 @@ "reference": "./NTP-0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NTP-0.json", - "referenceNumber": "192", + "referenceNumber": "200", "name": "NTP No Attribution", "licenseId": "NTP-0", "seeAlso": [ @@ -3319,7 +3563,7 @@ "reference": "./Naumen.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Naumen.json", - "referenceNumber": "293", + "referenceNumber": "307", "name": "Naumen Public License", "licenseId": "Naumen", "seeAlso": [ @@ -3331,7 +3575,7 @@ "reference": "./Net-SNMP.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Net-SNMP.json", - "referenceNumber": "288", + "referenceNumber": "301", "name": "Net-SNMP License", "licenseId": "Net-SNMP", "seeAlso": [ @@ -3343,7 +3587,7 @@ "reference": "./NetCDF.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/NetCDF.json", - "referenceNumber": "219", + "referenceNumber": "229", "name": "NetCDF license", "licenseId": "NetCDF", "seeAlso": [ @@ -3355,7 +3599,7 @@ "reference": "./Newsletr.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Newsletr.json", - "referenceNumber": "369", + "referenceNumber": "388", "name": "Newsletr License", "licenseId": "Newsletr", "seeAlso": [ @@ -3368,7 +3612,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Nokia.json", - "referenceNumber": "130", + "referenceNumber": "134", "name": "Nokia Open Source License", "licenseId": "Nokia", "seeAlso": [ @@ -3380,7 +3624,7 @@ "reference": "./Noweb.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Noweb.json", - "referenceNumber": "73", + "referenceNumber": "76", "name": "Noweb License", "licenseId": "Noweb", "seeAlso": [ @@ -3393,7 +3637,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Nunit.json", - "referenceNumber": "91", + "referenceNumber": "95", "name": "Nunit License", "licenseId": "Nunit", "seeAlso": [ @@ -3405,7 +3649,7 @@ "reference": "./O-UDA-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/O-UDA-1.0.json", - "referenceNumber": "48", + "referenceNumber": "50", "name": "Open Use of Data Agreement v1.0", "licenseId": "O-UDA-1.0", "seeAlso": [ @@ -3417,7 +3661,7 @@ "reference": "./OCCT-PL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OCCT-PL.json", - "referenceNumber": "68", + "referenceNumber": "71", "name": "Open CASCADE Technology Public License", "licenseId": "OCCT-PL", "seeAlso": [ @@ -3429,7 +3673,7 @@ "reference": "./OCLC-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OCLC-2.0.json", - "referenceNumber": "352", + "referenceNumber": "370", "name": "OCLC Research Public License 2.0", "licenseId": "OCLC-2.0", "seeAlso": [ @@ -3442,7 +3686,7 @@ "reference": "./ODC-By-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ODC-By-1.0.json", - "referenceNumber": "393", + "referenceNumber": "412", "name": "Open Data Commons Attribution License v1.0", "licenseId": "ODC-By-1.0", "seeAlso": [ @@ -3455,7 +3699,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/ODbL-1.0.json", - "referenceNumber": "351", + "referenceNumber": "369", "name": "ODC Open Database License v1.0", "licenseId": "ODbL-1.0", "seeAlso": [ @@ -3468,7 +3712,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OFL-1.0.json", - "referenceNumber": "84", + "referenceNumber": "88", "name": "SIL Open Font License 1.0", "licenseId": "OFL-1.0", "seeAlso": [ @@ -3480,7 +3724,7 @@ "reference": "./OFL-1.0-RFN.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OFL-1.0-RFN.json", - "referenceNumber": "309", + "referenceNumber": "326", "name": "SIL Open Font License 1.0 with Reserved Font Name", "licenseId": "OFL-1.0-RFN", "seeAlso": [ @@ -3492,7 +3736,7 @@ "reference": "./OFL-1.0-no-RFN.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OFL-1.0-no-RFN.json", - "referenceNumber": "74", + "referenceNumber": "77", "name": "SIL Open Font License 1.0 with no Reserved Font Name", "licenseId": "OFL-1.0-no-RFN", "seeAlso": [ @@ -3505,7 +3749,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OFL-1.1.json", - "referenceNumber": "322", + "referenceNumber": "339", "name": "SIL Open Font License 1.1", "licenseId": "OFL-1.1", "seeAlso": [ @@ -3518,7 +3762,7 @@ "reference": "./OFL-1.1-RFN.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OFL-1.1-RFN.json", - "referenceNumber": "43", + "referenceNumber": "45", "name": "SIL Open Font License 1.1 with Reserved Font Name", "licenseId": "OFL-1.1-RFN", "seeAlso": [ @@ -3531,7 +3775,7 @@ "reference": "./OFL-1.1-no-RFN.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OFL-1.1-no-RFN.json", - "referenceNumber": "246", + "referenceNumber": "258", "name": "SIL Open Font License 1.1 with no Reserved Font Name", "licenseId": "OFL-1.1-no-RFN", "seeAlso": [ @@ -3544,7 +3788,7 @@ "reference": "./OGC-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGC-1.0.json", - "referenceNumber": "378", + "referenceNumber": "397", "name": "OGC Software License, Version 1.0", "licenseId": "OGC-1.0", "seeAlso": [ @@ -3556,7 +3800,7 @@ "reference": "./OGL-Canada-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGL-Canada-2.0.json", - "referenceNumber": "357", + "referenceNumber": "375", "name": "Open Government Licence - Canada", "licenseId": "OGL-Canada-2.0", "seeAlso": [ @@ -3568,7 +3812,7 @@ "reference": "./OGL-UK-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGL-UK-1.0.json", - "referenceNumber": "359", + "referenceNumber": "378", "name": "Open Government Licence v1.0", "licenseId": "OGL-UK-1.0", "seeAlso": [ @@ -3580,7 +3824,7 @@ "reference": "./OGL-UK-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGL-UK-2.0.json", - "referenceNumber": "13", + "referenceNumber": "14", "name": "Open Government Licence v2.0", "licenseId": "OGL-UK-2.0", "seeAlso": [ @@ -3592,7 +3836,7 @@ "reference": "./OGL-UK-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGL-UK-3.0.json", - "referenceNumber": "21", + "referenceNumber": "22", "name": "Open Government Licence v3.0", "licenseId": "OGL-UK-3.0", "seeAlso": [ @@ -3604,7 +3848,7 @@ "reference": "./OGTSL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OGTSL.json", - "referenceNumber": "26", + "referenceNumber": "27", "name": "Open Group Test Suite License", "licenseId": "OGTSL", "seeAlso": [ @@ -3617,7 +3861,7 @@ "reference": "./OLDAP-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-1.1.json", - "referenceNumber": "57", + "referenceNumber": "60", "name": "Open LDAP Public License v1.1", "licenseId": "OLDAP-1.1", "seeAlso": [ @@ -3629,7 +3873,7 @@ "reference": "./OLDAP-1.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-1.2.json", - "referenceNumber": "50", + "referenceNumber": "52", "name": "Open LDAP Public License v1.2", "licenseId": "OLDAP-1.2", "seeAlso": [ @@ -3641,7 +3885,7 @@ "reference": "./OLDAP-1.3.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-1.3.json", - "referenceNumber": "42", + "referenceNumber": "44", "name": "Open LDAP Public License v1.3", "licenseId": "OLDAP-1.3", "seeAlso": [ @@ -3653,7 +3897,7 @@ "reference": "./OLDAP-1.4.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-1.4.json", - "referenceNumber": "52", + "referenceNumber": "54", "name": "Open LDAP Public License v1.4", "licenseId": "OLDAP-1.4", "seeAlso": [ @@ -3665,7 +3909,7 @@ "reference": "./OLDAP-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.0.json", - "referenceNumber": "25", + "referenceNumber": "26", "name": "Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B)", "licenseId": "OLDAP-2.0", "seeAlso": [ @@ -3677,7 +3921,7 @@ "reference": "./OLDAP-2.0.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.0.1.json", - "referenceNumber": "290", + "referenceNumber": "303", "name": "Open LDAP Public License v2.0.1", "licenseId": "OLDAP-2.0.1", "seeAlso": [ @@ -3689,7 +3933,7 @@ "reference": "./OLDAP-2.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.1.json", - "referenceNumber": "413", + "referenceNumber": "433", "name": "Open LDAP Public License v2.1", "licenseId": "OLDAP-2.1", "seeAlso": [ @@ -3701,7 +3945,7 @@ "reference": "./OLDAP-2.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.2.json", - "referenceNumber": "329", + "referenceNumber": "346", "name": "Open LDAP Public License v2.2", "licenseId": "OLDAP-2.2", "seeAlso": [ @@ -3713,7 +3957,7 @@ "reference": "./OLDAP-2.2.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.2.1.json", - "referenceNumber": "396", + "referenceNumber": "415", "name": "Open LDAP Public License v2.2.1", "licenseId": "OLDAP-2.2.1", "seeAlso": [ @@ -3725,7 +3969,7 @@ "reference": "./OLDAP-2.2.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.2.2.json", - "referenceNumber": "176", + "referenceNumber": "181", "name": "Open LDAP Public License 2.2.2", "licenseId": "OLDAP-2.2.2", "seeAlso": [ @@ -3738,7 +3982,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.3.json", - "referenceNumber": "238", + "referenceNumber": "249", "name": "Open LDAP Public License v2.3", "licenseId": "OLDAP-2.3", "seeAlso": [ @@ -3750,7 +3994,7 @@ "reference": "./OLDAP-2.4.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.4.json", - "referenceNumber": "119", + "referenceNumber": "123", "name": "Open LDAP Public License v2.4", "licenseId": "OLDAP-2.4", "seeAlso": [ @@ -3762,7 +4006,7 @@ "reference": "./OLDAP-2.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.5.json", - "referenceNumber": "112", + "referenceNumber": "116", "name": "Open LDAP Public License v2.5", "licenseId": "OLDAP-2.5", "seeAlso": [ @@ -3774,7 +4018,7 @@ "reference": "./OLDAP-2.6.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.6.json", - "referenceNumber": "113", + "referenceNumber": "117", "name": "Open LDAP Public License v2.6", "licenseId": "OLDAP-2.6", "seeAlso": [ @@ -3787,7 +4031,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.7.json", - "referenceNumber": "237", + "referenceNumber": "248", "name": "Open LDAP Public License v2.7", "licenseId": "OLDAP-2.7", "seeAlso": [ @@ -3799,7 +4043,7 @@ "reference": "./OLDAP-2.8.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OLDAP-2.8.json", - "referenceNumber": "261", + "referenceNumber": "273", "name": "Open LDAP Public License v2.8", "licenseId": "OLDAP-2.8", "seeAlso": [ @@ -3811,7 +4055,7 @@ "reference": "./OML.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OML.json", - "referenceNumber": "177", + "referenceNumber": "182", "name": "Open Market License", "licenseId": "OML", "seeAlso": [ @@ -3823,7 +4067,7 @@ "reference": "./OPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OPL-1.0.json", - "referenceNumber": "349", + "referenceNumber": "367", "name": "Open Public License v1.0", "licenseId": "OPL-1.0", "seeAlso": [ @@ -3836,7 +4080,7 @@ "reference": "./OSET-PL-2.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/OSET-PL-2.1.json", - "referenceNumber": "210", + "referenceNumber": "220", "name": "OSET Public License version 2.1", "licenseId": "OSET-PL-2.1", "seeAlso": [ @@ -3850,7 +4094,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OSL-1.0.json", - "referenceNumber": "99", + "referenceNumber": "103", "name": "Open Software License 1.0", "licenseId": "OSL-1.0", "seeAlso": [ @@ -3863,7 +4107,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OSL-1.1.json", - "referenceNumber": "184", + "referenceNumber": "191", "name": "Open Software License 1.1", "licenseId": "OSL-1.1", "seeAlso": [ @@ -3876,7 +4120,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OSL-2.0.json", - "referenceNumber": "375", + "referenceNumber": "394", "name": "Open Software License 2.0", "licenseId": "OSL-2.0", "seeAlso": [ @@ -3889,7 +4133,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OSL-2.1.json", - "referenceNumber": "163", + "referenceNumber": "168", "name": "Open Software License 2.1", "licenseId": "OSL-2.1", "seeAlso": [ @@ -3903,7 +4147,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OSL-3.0.json", - "referenceNumber": "155", + "referenceNumber": "159", "name": "Open Software License 3.0", "licenseId": "OSL-3.0", "seeAlso": [ @@ -3917,7 +4161,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/OpenSSL.json", - "referenceNumber": "87", + "referenceNumber": "91", "name": "OpenSSL License", "licenseId": "OpenSSL", "seeAlso": [ @@ -3929,7 +4173,7 @@ "reference": "./PDDL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PDDL-1.0.json", - "referenceNumber": "137", + "referenceNumber": "141", "name": "ODC Public Domain Dedication \u0026 License 1.0", "licenseId": "PDDL-1.0", "seeAlso": [ @@ -3941,7 +4185,7 @@ "reference": "./PHP-3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PHP-3.0.json", - "referenceNumber": "198", + "referenceNumber": "207", "name": "PHP License v3.0", "licenseId": "PHP-3.0", "seeAlso": [ @@ -3961,13 +4205,13 @@ "seeAlso": [ "http://www.php.net/license/3_01.txt" ], - "isOsiApproved": false + "isOsiApproved": true }, { "reference": "./PSF-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PSF-2.0.json", - "referenceNumber": "95", + "referenceNumber": "99", "name": "Python Software Foundation License 2.0", "licenseId": "PSF-2.0", "seeAlso": [ @@ -3979,7 +4223,7 @@ "reference": "./Parity-6.0.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Parity-6.0.0.json", - "referenceNumber": "419", + "referenceNumber": "439", "name": "The Parity Public License 6.0.0", "licenseId": "Parity-6.0.0", "seeAlso": [ @@ -3991,7 +4235,7 @@ "reference": "./Parity-7.0.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Parity-7.0.0.json", - "referenceNumber": "404", + "referenceNumber": "423", "name": "The Parity Public License 7.0.0", "licenseId": "Parity-7.0.0", "seeAlso": [ @@ -4003,7 +4247,7 @@ "reference": "./Plexus.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Plexus.json", - "referenceNumber": "162", + "referenceNumber": "166", "name": "Plexus Classworlds License", "licenseId": "Plexus", "seeAlso": [ @@ -4015,7 +4259,7 @@ "reference": "./PolyForm-Noncommercial-1.0.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PolyForm-Noncommercial-1.0.0.json", - "referenceNumber": "292", + "referenceNumber": "306", "name": "PolyForm Noncommercial License 1.0.0", "licenseId": "PolyForm-Noncommercial-1.0.0", "seeAlso": [ @@ -4027,7 +4271,7 @@ "reference": "./PolyForm-Small-Business-1.0.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PolyForm-Small-Business-1.0.0.json", - "referenceNumber": "122", + "referenceNumber": "126", "name": "PolyForm Small Business License 1.0.0", "licenseId": "PolyForm-Small-Business-1.0.0", "seeAlso": [ @@ -4039,7 +4283,7 @@ "reference": "./PostgreSQL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/PostgreSQL.json", - "referenceNumber": "11", + "referenceNumber": "12", "name": "PostgreSQL License", "licenseId": "PostgreSQL", "seeAlso": [ @@ -4053,7 +4297,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Python-2.0.json", - "referenceNumber": "406", + "referenceNumber": "425", "name": "Python License 2.0", "licenseId": "Python-2.0", "seeAlso": [ @@ -4066,7 +4310,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/QPL-1.0.json", - "referenceNumber": "300", + "referenceNumber": "314", "name": "Q Public License 1.0", "licenseId": "QPL-1.0", "seeAlso": [ @@ -4079,7 +4323,7 @@ "reference": "./Qhull.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Qhull.json", - "referenceNumber": "129", + "referenceNumber": "133", "name": "Qhull License", "licenseId": "Qhull", "seeAlso": [ @@ -4091,7 +4335,7 @@ "reference": "./RHeCos-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/RHeCos-1.1.json", - "referenceNumber": "64", + "referenceNumber": "67", "name": "Red Hat eCos Public License v1.1", "licenseId": "RHeCos-1.1", "seeAlso": [ @@ -4103,7 +4347,7 @@ "reference": "./RPL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/RPL-1.1.json", - "referenceNumber": "223", + "referenceNumber": "233", "name": "Reciprocal Public License 1.1", "licenseId": "RPL-1.1", "seeAlso": [ @@ -4115,7 +4359,7 @@ "reference": "./RPL-1.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/RPL-1.5.json", - "referenceNumber": "109", + "referenceNumber": "113", "name": "Reciprocal Public License 1.5", "licenseId": "RPL-1.5", "seeAlso": [ @@ -4128,7 +4372,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/RPSL-1.0.json", - "referenceNumber": "55", + "referenceNumber": "58", "name": "RealNetworks Public Source License v1.0", "licenseId": "RPSL-1.0", "seeAlso": [ @@ -4141,8 +4385,8 @@ "reference": "./RSA-MD.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/RSA-MD.json", - "referenceNumber": "289", - "name": "RSA Message-Digest License ", + "referenceNumber": "302", + "name": "RSA Message-Digest License", "licenseId": "RSA-MD", "seeAlso": [ "http://www.faqs.org/rfcs/rfc1321.html" @@ -4153,7 +4397,7 @@ "reference": "./RSCPL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/RSCPL.json", - "referenceNumber": "350", + "referenceNumber": "368", "name": "Ricoh Source Code Public License", "licenseId": "RSCPL", "seeAlso": [ @@ -4166,7 +4410,7 @@ "reference": "./Rdisc.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Rdisc.json", - "referenceNumber": "333", + "referenceNumber": "350", "name": "Rdisc License", "licenseId": "Rdisc", "seeAlso": [ @@ -4179,7 +4423,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Ruby.json", - "referenceNumber": "14", + "referenceNumber": "15", "name": "Ruby License", "licenseId": "Ruby", "seeAlso": [ @@ -4191,7 +4435,7 @@ "reference": "./SAX-PD.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SAX-PD.json", - "referenceNumber": "158", + "referenceNumber": "162", "name": "Sax Public Domain Notice", "licenseId": "SAX-PD", "seeAlso": [ @@ -4203,7 +4447,7 @@ "reference": "./SCEA.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SCEA.json", - "referenceNumber": "142", + "referenceNumber": "146", "name": "SCEA Shared Source License", "licenseId": "SCEA", "seeAlso": [ @@ -4215,7 +4459,7 @@ "reference": "./SGI-B-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SGI-B-1.0.json", - "referenceNumber": "196", + "referenceNumber": "204", "name": "SGI Free Software License B v1.0", "licenseId": "SGI-B-1.0", "seeAlso": [ @@ -4227,7 +4471,7 @@ "reference": "./SGI-B-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SGI-B-1.1.json", - "referenceNumber": "299", + "referenceNumber": "313", "name": "SGI Free Software License B v1.1", "licenseId": "SGI-B-1.1", "seeAlso": [ @@ -4240,7 +4484,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/SGI-B-2.0.json", - "referenceNumber": "31", + "referenceNumber": "32", "name": "SGI Free Software License B v2.0", "licenseId": "SGI-B-2.0", "seeAlso": [ @@ -4252,7 +4496,7 @@ "reference": "./SHL-0.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SHL-0.5.json", - "referenceNumber": "51", + "referenceNumber": "53", "name": "Solderpad Hardware License v0.5", "licenseId": "SHL-0.5", "seeAlso": [ @@ -4264,7 +4508,7 @@ "reference": "./SHL-0.51.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SHL-0.51.json", - "referenceNumber": "291", + "referenceNumber": "304", "name": "Solderpad Hardware License, Version 0.51", "licenseId": "SHL-0.51", "seeAlso": [ @@ -4277,7 +4521,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/SISSL.json", - "referenceNumber": "82", + "referenceNumber": "86", "name": "Sun Industry Standards Source License v1.1", "licenseId": "SISSL", "seeAlso": [ @@ -4290,7 +4534,7 @@ "reference": "./SISSL-1.2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SISSL-1.2.json", - "referenceNumber": "65", + "referenceNumber": "68", "name": "Sun Industry Standards Source License v1.2", "licenseId": "SISSL-1.2", "seeAlso": [ @@ -4303,7 +4547,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/SMLNJ.json", - "referenceNumber": "226", + "referenceNumber": "236", "name": "Standard ML of New Jersey License", "licenseId": "SMLNJ", "seeAlso": [ @@ -4315,7 +4559,7 @@ "reference": "./SMPPL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SMPPL.json", - "referenceNumber": "110", + "referenceNumber": "114", "name": "Secure Messaging Protocol Public License", "licenseId": "SMPPL", "seeAlso": [ @@ -4327,7 +4571,7 @@ "reference": "./SNIA.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SNIA.json", - "referenceNumber": "313", + "referenceNumber": "330", "name": "SNIA Public License 1.1", "licenseId": "SNIA", "seeAlso": [ @@ -4340,7 +4584,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/SPL-1.0.json", - "referenceNumber": "256", + "referenceNumber": "268", "name": "Sun Public License v1.0", "licenseId": "SPL-1.0", "seeAlso": [ @@ -4352,7 +4596,7 @@ "reference": "./SSH-OpenSSH.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SSH-OpenSSH.json", - "referenceNumber": "22", + "referenceNumber": "23", "name": "SSH OpenSSH license", "licenseId": "SSH-OpenSSH", "seeAlso": [ @@ -4364,7 +4608,7 @@ "reference": "./SSH-short.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SSH-short.json", - "referenceNumber": "70", + "referenceNumber": "73", "name": "SSH short notice", "licenseId": "SSH-short", "seeAlso": [ @@ -4378,7 +4622,7 @@ "reference": "./SSPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SSPL-1.0.json", - "referenceNumber": "345", + "referenceNumber": "362", "name": "Server Side Public License, v 1", "licenseId": "SSPL-1.0", "seeAlso": [ @@ -4390,7 +4634,7 @@ "reference": "./SWL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SWL.json", - "referenceNumber": "97", + "referenceNumber": "101", "name": "Scheme Widget Library (SWL) Software License Agreement", "licenseId": "SWL", "seeAlso": [ @@ -4402,7 +4646,7 @@ "reference": "./Saxpath.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Saxpath.json", - "referenceNumber": "34", + "referenceNumber": "35", "name": "Saxpath License", "licenseId": "Saxpath", "seeAlso": [ @@ -4414,7 +4658,7 @@ "reference": "./Sendmail.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Sendmail.json", - "referenceNumber": "304", + "referenceNumber": "318", "name": "Sendmail License", "licenseId": "Sendmail", "seeAlso": [ @@ -4427,7 +4671,7 @@ "reference": "./Sendmail-8.23.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Sendmail-8.23.json", - "referenceNumber": "182", + "referenceNumber": "189", "name": "Sendmail License 8.23", "licenseId": "Sendmail-8.23", "seeAlso": [ @@ -4440,7 +4684,7 @@ "reference": "./SimPL-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SimPL-2.0.json", - "referenceNumber": "259", + "referenceNumber": "271", "name": "Simple Public License 2.0", "licenseId": "SimPL-2.0", "seeAlso": [ @@ -4453,7 +4697,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Sleepycat.json", - "referenceNumber": "58", + "referenceNumber": "61", "name": "Sleepycat License", "licenseId": "Sleepycat", "seeAlso": [ @@ -4465,7 +4709,7 @@ "reference": "./Spencer-86.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Spencer-86.json", - "referenceNumber": "191", + "referenceNumber": "199", "name": "Spencer License 86", "licenseId": "Spencer-86", "seeAlso": [ @@ -4477,7 +4721,7 @@ "reference": "./Spencer-94.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Spencer-94.json", - "referenceNumber": "220", + "referenceNumber": "230", "name": "Spencer License 94", "licenseId": "Spencer-94", "seeAlso": [ @@ -4489,7 +4733,7 @@ "reference": "./Spencer-99.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Spencer-99.json", - "referenceNumber": "67", + "referenceNumber": "70", "name": "Spencer License 99", "licenseId": "Spencer-99", "seeAlso": [ @@ -4502,7 +4746,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/StandardML-NJ.json", - "referenceNumber": "296", + "referenceNumber": "310", "name": "Standard ML of New Jersey License", "licenseId": "StandardML-NJ", "seeAlso": [ @@ -4514,7 +4758,7 @@ "reference": "./SugarCRM-1.1.3.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/SugarCRM-1.1.3.json", - "referenceNumber": "353", + "referenceNumber": "371", "name": "SugarCRM Public License v1.1.3", "licenseId": "SugarCRM-1.1.3", "seeAlso": [ @@ -4526,7 +4770,7 @@ "reference": "./TAPR-OHL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TAPR-OHL-1.0.json", - "referenceNumber": "9", + "referenceNumber": "10", "name": "TAPR Open Hardware License v1.0", "licenseId": "TAPR-OHL-1.0", "seeAlso": [ @@ -4538,7 +4782,7 @@ "reference": "./TCL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TCL.json", - "referenceNumber": "56", + "referenceNumber": "59", "name": "TCL/TK License", "licenseId": "TCL", "seeAlso": [ @@ -4551,7 +4795,7 @@ "reference": "./TCP-wrappers.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TCP-wrappers.json", - "referenceNumber": "242", + "referenceNumber": "253", "name": "TCP Wrappers License", "licenseId": "TCP-wrappers", "seeAlso": [ @@ -4563,7 +4807,7 @@ "reference": "./TMate.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TMate.json", - "referenceNumber": "415", + "referenceNumber": "435", "name": "TMate Open Source License", "licenseId": "TMate", "seeAlso": [ @@ -4575,7 +4819,7 @@ "reference": "./TORQUE-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TORQUE-1.1.json", - "referenceNumber": "195", + "referenceNumber": "203", "name": "TORQUE v2.5+ Software License v1.1", "licenseId": "TORQUE-1.1", "seeAlso": [ @@ -4587,7 +4831,7 @@ "reference": "./TOSL.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TOSL.json", - "referenceNumber": "260", + "referenceNumber": "272", "name": "Trusster Open Source License", "licenseId": "TOSL", "seeAlso": [ @@ -4599,7 +4843,7 @@ "reference": "./TU-Berlin-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TU-Berlin-1.0.json", - "referenceNumber": "384", + "referenceNumber": "403", "name": "Technische Universitaet Berlin License 1.0", "licenseId": "TU-Berlin-1.0", "seeAlso": [ @@ -4611,7 +4855,7 @@ "reference": "./TU-Berlin-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/TU-Berlin-2.0.json", - "referenceNumber": "405", + "referenceNumber": "424", "name": "Technische Universitaet Berlin License 2.0", "licenseId": "TU-Berlin-2.0", "seeAlso": [ @@ -4623,7 +4867,7 @@ "reference": "./UCL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/UCL-1.0.json", - "referenceNumber": "302", + "referenceNumber": "316", "name": "Upstream Compatibility License v1.0", "licenseId": "UCL-1.0", "seeAlso": [ @@ -4636,7 +4880,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/UPL-1.0.json", - "referenceNumber": "149", + "referenceNumber": "153", "name": "Universal Permissive License v1.0", "licenseId": "UPL-1.0", "seeAlso": [ @@ -4648,7 +4892,7 @@ "reference": "./Unicode-DFS-2015.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Unicode-DFS-2015.json", - "referenceNumber": "270", + "referenceNumber": "282", "name": "Unicode License Agreement - Data Files and Software (2015)", "licenseId": "Unicode-DFS-2015", "seeAlso": [ @@ -4660,7 +4904,7 @@ "reference": "./Unicode-DFS-2016.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Unicode-DFS-2016.json", - "referenceNumber": "382", + "referenceNumber": "401", "name": "Unicode License Agreement - Data Files and Software (2016)", "licenseId": "Unicode-DFS-2016", "seeAlso": [ @@ -4672,7 +4916,7 @@ "reference": "./Unicode-TOU.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Unicode-TOU.json", - "referenceNumber": "16", + "referenceNumber": "17", "name": "Unicode Terms of Use", "licenseId": "Unicode-TOU", "seeAlso": [ @@ -4685,19 +4929,19 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Unlicense.json", - "referenceNumber": "179", + "referenceNumber": "185", "name": "The Unlicense", "licenseId": "Unlicense", "seeAlso": [ "https://unlicense.org/" ], - "isOsiApproved": false + "isOsiApproved": true }, { "reference": "./VOSTROM.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/VOSTROM.json", - "referenceNumber": "363", + "referenceNumber": "382", "name": "VOSTROM Public License for Open Source", "licenseId": "VOSTROM", "seeAlso": [ @@ -4709,7 +4953,7 @@ "reference": "./VSL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/VSL-1.0.json", - "referenceNumber": "402", + "referenceNumber": "421", "name": "Vovida Software License v1.0", "licenseId": "VSL-1.0", "seeAlso": [ @@ -4722,7 +4966,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Vim.json", - "referenceNumber": "213", + "referenceNumber": "223", "name": "Vim License", "licenseId": "Vim", "seeAlso": [ @@ -4735,7 +4979,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/W3C.json", - "referenceNumber": "111", + "referenceNumber": "115", "name": "W3C Software Notice and License (2002-12-31)", "licenseId": "W3C", "seeAlso": [ @@ -4748,7 +4992,7 @@ "reference": "./W3C-19980720.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/W3C-19980720.json", - "referenceNumber": "276", + "referenceNumber": "288", "name": "W3C Software Notice and License (1998-07-20)", "licenseId": "W3C-19980720", "seeAlso": [ @@ -4760,7 +5004,7 @@ "reference": "./W3C-20150513.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/W3C-20150513.json", - "referenceNumber": "115", + "referenceNumber": "119", "name": "W3C Software Notice and Document License (2015-05-13)", "licenseId": "W3C-20150513", "seeAlso": [ @@ -4773,10 +5017,11 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/WTFPL.json", - "referenceNumber": "20", + "referenceNumber": "21", "name": "Do What The F*ck You Want To Public License", "licenseId": "WTFPL", "seeAlso": [ + "http://www.wtfpl.net/about/", "http://sam.zoy.org/wtfpl/COPYING" ], "isOsiApproved": false @@ -4785,7 +5030,7 @@ "reference": "./Watcom-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Watcom-1.0.json", - "referenceNumber": "146", + "referenceNumber": "150", "name": "Sybase Open Watcom Public License 1.0", "licenseId": "Watcom-1.0", "seeAlso": [ @@ -4797,7 +5042,7 @@ "reference": "./Wsuipa.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Wsuipa.json", - "referenceNumber": "264", + "referenceNumber": "276", "name": "Wsuipa License", "licenseId": "Wsuipa", "seeAlso": [ @@ -4810,7 +5055,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/X11.json", - "referenceNumber": "103", + "referenceNumber": "107", "name": "X11 License", "licenseId": "X11", "seeAlso": [ @@ -4823,7 +5068,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/XFree86-1.1.json", - "referenceNumber": "161", + "referenceNumber": "165", "name": "XFree86 License 1.1", "licenseId": "XFree86-1.1", "seeAlso": [ @@ -4835,7 +5080,7 @@ "reference": "./XSkat.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/XSkat.json", - "referenceNumber": "85", + "referenceNumber": "89", "name": "XSkat License", "licenseId": "XSkat", "seeAlso": [ @@ -4847,7 +5092,7 @@ "reference": "./Xerox.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Xerox.json", - "referenceNumber": "232", + "referenceNumber": "243", "name": "Xerox License", "licenseId": "Xerox", "seeAlso": [ @@ -4859,7 +5104,7 @@ "reference": "./Xnet.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Xnet.json", - "referenceNumber": "324", + "referenceNumber": "341", "name": "X.Net License", "licenseId": "Xnet", "seeAlso": [ @@ -4871,7 +5116,7 @@ "reference": "./YPL-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/YPL-1.0.json", - "referenceNumber": "303", + "referenceNumber": "317", "name": "Yahoo! Public License v1.0", "licenseId": "YPL-1.0", "seeAlso": [ @@ -4884,7 +5129,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/YPL-1.1.json", - "referenceNumber": "40", + "referenceNumber": "42", "name": "Yahoo! Public License v1.1", "licenseId": "YPL-1.1", "seeAlso": [ @@ -4896,7 +5141,7 @@ "reference": "./ZPL-1.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/ZPL-1.1.json", - "referenceNumber": "89", + "referenceNumber": "93", "name": "Zope Public License 1.1", "licenseId": "ZPL-1.1", "seeAlso": [ @@ -4909,7 +5154,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/ZPL-2.0.json", - "referenceNumber": "116", + "referenceNumber": "120", "name": "Zope Public License 2.0", "licenseId": "ZPL-2.0", "seeAlso": [ @@ -4923,7 +5168,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/ZPL-2.1.json", - "referenceNumber": "380", + "referenceNumber": "399", "name": "Zope Public License 2.1", "licenseId": "ZPL-2.1", "seeAlso": [ @@ -4935,7 +5180,7 @@ "reference": "./Zed.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Zed.json", - "referenceNumber": "118", + "referenceNumber": "122", "name": "Zed License", "licenseId": "Zed", "seeAlso": [ @@ -4948,7 +5193,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Zend-2.0.json", - "referenceNumber": "385", + "referenceNumber": "404", "name": "Zend License v2.0", "licenseId": "Zend-2.0", "seeAlso": [ @@ -4961,7 +5206,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Zimbra-1.3.json", - "referenceNumber": "181", + "referenceNumber": "188", "name": "Zimbra Public License v1.3", "licenseId": "Zimbra-1.3", "seeAlso": [ @@ -4973,7 +5218,7 @@ "reference": "./Zimbra-1.4.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/Zimbra-1.4.json", - "referenceNumber": "397", + "referenceNumber": "416", "name": "Zimbra Public License v1.4", "licenseId": "Zimbra-1.4", "seeAlso": [ @@ -4986,7 +5231,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/Zlib.json", - "referenceNumber": "45", + "referenceNumber": "47", "name": "zlib License", "licenseId": "Zlib", "seeAlso": [ @@ -4999,7 +5244,7 @@ "reference": "./blessing.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/blessing.json", - "referenceNumber": "312", + "referenceNumber": "329", "name": "SQLite Blessing", "licenseId": "blessing", "seeAlso": [ @@ -5012,7 +5257,7 @@ "reference": "./bzip2-1.0.5.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/bzip2-1.0.5.json", - "referenceNumber": "193", + "referenceNumber": "201", "name": "bzip2 and libbzip2 License v1.0.5", "licenseId": "bzip2-1.0.5", "seeAlso": [ @@ -5025,7 +5270,7 @@ "reference": "./bzip2-1.0.6.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/bzip2-1.0.6.json", - "referenceNumber": "72", + "referenceNumber": "75", "name": "bzip2 and libbzip2 License v1.0.6", "licenseId": "bzip2-1.0.6", "seeAlso": [ @@ -5038,7 +5283,7 @@ "reference": "./copyleft-next-0.3.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/copyleft-next-0.3.0.json", - "referenceNumber": "323", + "referenceNumber": "340", "name": "copyleft-next 0.3.0", "licenseId": "copyleft-next-0.3.0", "seeAlso": [ @@ -5050,7 +5295,7 @@ "reference": "./copyleft-next-0.3.1.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/copyleft-next-0.3.1.json", - "referenceNumber": "390", + "referenceNumber": "409", "name": "copyleft-next 0.3.1", "licenseId": "copyleft-next-0.3.1", "seeAlso": [ @@ -5062,7 +5307,7 @@ "reference": "./curl.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/curl.json", - "referenceNumber": "325", + "referenceNumber": "342", "name": "curl License", "licenseId": "curl", "seeAlso": [ @@ -5074,7 +5319,7 @@ "reference": "./diffmark.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/diffmark.json", - "referenceNumber": "410", + "referenceNumber": "430", "name": "diffmark license", "licenseId": "diffmark", "seeAlso": [ @@ -5086,7 +5331,7 @@ "reference": "./dvipdfm.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/dvipdfm.json", - "referenceNumber": "19", + "referenceNumber": "20", "name": "dvipdfm License", "licenseId": "dvipdfm", "seeAlso": [ @@ -5099,7 +5344,7 @@ "isDeprecatedLicenseId": true, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/eCos-2.0.json", - "referenceNumber": "282", + "referenceNumber": "295", "name": "eCos license version 2.0", "licenseId": "eCos-2.0", "seeAlso": [ @@ -5111,7 +5356,7 @@ "reference": "./eGenix.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/eGenix.json", - "referenceNumber": "221", + "referenceNumber": "231", "name": "eGenix.com Public License 1.1.0", "licenseId": "eGenix", "seeAlso": [ @@ -5124,7 +5369,7 @@ "reference": "./etalab-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/etalab-2.0.json", - "referenceNumber": "269", + "referenceNumber": "281", "name": "Etalab Open License 2.0", "licenseId": "etalab-2.0", "seeAlso": [ @@ -5137,7 +5382,7 @@ "reference": "./gSOAP-1.3b.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/gSOAP-1.3b.json", - "referenceNumber": "173", + "referenceNumber": "178", "name": "gSOAP Public License v1.3b", "licenseId": "gSOAP-1.3b", "seeAlso": [ @@ -5150,7 +5395,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/gnuplot.json", - "referenceNumber": "395", + "referenceNumber": "414", "name": "gnuplot License", "licenseId": "gnuplot", "seeAlso": [ @@ -5163,7 +5408,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/iMatix.json", - "referenceNumber": "183", + "referenceNumber": "190", "name": "iMatix Standard Function Library Agreement", "licenseId": "iMatix", "seeAlso": [ @@ -5175,7 +5420,7 @@ "reference": "./libpng-2.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/libpng-2.0.json", - "referenceNumber": "107", + "referenceNumber": "111", "name": "PNG Reference Library version 2", "licenseId": "libpng-2.0", "seeAlso": [ @@ -5187,7 +5432,7 @@ "reference": "./libselinux-1.0.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/libselinux-1.0.json", - "referenceNumber": "18", + "referenceNumber": "19", "name": "libselinux public domain notice", "licenseId": "libselinux-1.0", "seeAlso": [ @@ -5199,7 +5444,7 @@ "reference": "./libtiff.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/libtiff.json", - "referenceNumber": "420", + "referenceNumber": "440", "name": "libtiff License", "licenseId": "libtiff", "seeAlso": [ @@ -5211,7 +5456,7 @@ "reference": "./mpich2.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/mpich2.json", - "referenceNumber": "63", + "referenceNumber": "66", "name": "mpich2 License", "licenseId": "mpich2", "seeAlso": [ @@ -5223,7 +5468,7 @@ "reference": "./psfrag.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/psfrag.json", - "referenceNumber": "421", + "referenceNumber": "441", "name": "psfrag License", "licenseId": "psfrag", "seeAlso": [ @@ -5235,7 +5480,7 @@ "reference": "./psutils.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/psutils.json", - "referenceNumber": "287", + "referenceNumber": "300", "name": "psutils License", "licenseId": "psutils", "seeAlso": [ @@ -5247,7 +5492,7 @@ "reference": "./wxWindows.html", "isDeprecatedLicenseId": true, "detailsUrl": "http://spdx.org/licenses/wxWindows.json", - "referenceNumber": "252", + "referenceNumber": "264", "name": "wxWindows Library License", "licenseId": "wxWindows", "seeAlso": [ @@ -5260,7 +5505,7 @@ "isDeprecatedLicenseId": false, "isFsfLibre": true, "detailsUrl": "http://spdx.org/licenses/xinetd.json", - "referenceNumber": "412", + "referenceNumber": "432", "name": "xinetd License", "licenseId": "xinetd", "seeAlso": [ @@ -5272,7 +5517,7 @@ "reference": "./xpp.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/xpp.json", - "referenceNumber": "100", + "referenceNumber": "104", "name": "XPP License", "licenseId": "xpp", "seeAlso": [ @@ -5284,7 +5529,7 @@ "reference": "./zlib-acknowledgement.html", "isDeprecatedLicenseId": false, "detailsUrl": "http://spdx.org/licenses/zlib-acknowledgement.json", - "referenceNumber": "254", + "referenceNumber": "266", "name": "zlib/libpng License with Acknowledgement", "licenseId": "zlib-acknowledgement", "seeAlso": [ @@ -5293,5 +5538,5 @@ "isOsiApproved": false } ], - "releaseDate": "2020-05-15" + "releaseDate": "2020-08-03" } \ No newline at end of file diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index ba44997d7e..c8cf5f8039 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -4,6 +4,7 @@ require "formula" require "formula_versions" require "utils/curl" require "utils/notability" +require "utils/spdx" require "extend/ENV" require "formula_cellar_checks" require "cmd/search" @@ -37,6 +38,8 @@ module Homebrew description: "Run various additional style checks to determine if a new formula is eligible "\ "for Homebrew. This should be used when creating new formula and implies "\ "`--strict` and `--online`." + flag "--tap=", + description: "Check the formulae within the given tap, specified as `/`." switch "--fix", description: "Fix style violations automatically using RuboCop's auto-correct feature." switch "--display-cop-names", @@ -46,7 +49,7 @@ module Homebrew "make output easy to grep." switch "--skip-style", description: "Skip running non-RuboCop style checks. Useful if you plan on running "\ - "`brew style` separately." + "`brew style` separately. Default unless a formula is specified by name" switch "-D", "--audit-debug", description: "Enable debugging and profiling of audit methods." comma_array "--only", @@ -85,17 +88,23 @@ module Homebrew strict = new_formula || args.strict? online = new_formula || args.online? git = args.git? - skip_style = args.skip_style? || args.no_named? + skip_style = args.skip_style? || args.no_named? || args.tap ENV.activate_extensions! ENV.setup_build_environment - audit_formulae = args.no_named? ? Formula : args.resolved_formulae + audit_formulae = if args.tap + Tap.fetch(args.tap).formula_names.map { |name| Formula[name] } + elsif args.no_named? + Formula + else + args.resolved_formulae + end style_files = args.formulae_paths unless skip_style only_cops = args.only_cops except_cops = args.except_cops - options = { fix: args.fix? } + options = { fix: args.fix?, debug: args.debug?, verbose: args.verbose? } if only_cops options[:only_cops] = only_cops @@ -110,8 +119,7 @@ module Homebrew # Check style in a single batch run up front for performance style_results = Style.check_style_json(style_files, options) if style_files # load licenses - spdx = HOMEBREW_LIBRARY_PATH/"data/spdx.json" - spdx_data = JSON.parse(spdx.read) + spdx_data = SPDX.spdx_data new_formula_problem_lines = [] audit_formulae.sort.each do |f| only = only_cops ? ["style"] : args.only @@ -335,19 +343,42 @@ module Homebrew openssl@1.1 ].freeze + PERMITTED_LICENSE_MISMATCHES = { + "AGPL-3.0" => ["AGPL-3.0-only", "AGPL-3.0-or-later"], + "GPL-2.0" => ["GPL-2.0-only", "GPL-2.0-or-later"], + "GPL-3.0" => ["GPL-3.0-only", "GPL-3.0-or-later"], + "LGPL-2.1" => ["LGPL-2.1-only", "LGPL-2.1-or-later"], + "LGPL-3.0" => ["LGPL-3.0-only", "LGPL-3.0-or-later"], + }.freeze + def audit_license if formula.license.present? - non_standard_licenses = [] - formula.license.each do |license| + non_standard_licenses = formula.license.map do |license| + next if license == :public_domain next if @spdx_data["licenses"].any? { |spdx| spdx["licenseId"] == license } - non_standard_licenses << license - end + license + end.compact if non_standard_licenses.present? problem "Formula #{formula.name} contains non-standard SPDX licenses: #{non_standard_licenses}." end + if @strict + deprecated_licenses = formula.license.map do |license| + next if license == :public_domain + next if @spdx_data["licenses"].any? do |spdx| + spdx["licenseId"] == license && !spdx["isDeprecatedLicenseId"] + end + + license + end.compact + + if deprecated_licenses.present? + problem "Formula #{formula.name} contains deprecated SPDX licenses: #{deprecated_licenses}." + end + end + return unless @online user, repo = get_repo_data(%r{https?://github\.com/([^/]+)/([^/]+)/?.*}) if @new_formula @@ -355,12 +386,12 @@ module Homebrew github_license = GitHub.get_repo_license(user, repo) return if github_license && (formula.license + ["NOASSERTION"]).include?(github_license) + return if PERMITTED_LICENSE_MISMATCHES[github_license]&.any? { |license| formula.license.include? license } - problem "License mismatch - GitHub license is: #{Array(github_license)}, "\ - "but Formulae license states: #{formula.license}." + problem "Formula license #{formula.license} does not match GitHub license #{Array(github_license)}." - elsif @new_formula - problem "No license specified for package." + elsif @new_formula && @core_tap + problem "Formulae in homebrew/core must specify a license." end end diff --git a/Library/Homebrew/dev-cmd/bump-formula-pr.rb b/Library/Homebrew/dev-cmd/bump-formula-pr.rb index a2b4a8f528..c24cf88248 100644 --- a/Library/Homebrew/dev-cmd/bump-formula-pr.rb +++ b/Library/Homebrew/dev-cmd/bump-formula-pr.rb @@ -105,7 +105,10 @@ module Homebrew end end end - [formula.tap&.full_name, "origin/master", "-"] + origin_branch = Utils.popen_read("git", "-C", formula.tap.path.to_s, "symbolic-ref", "-q", "--short", + "refs/remotes/origin/HEAD").chomp.presence + origin_branch ||= "origin/master" + [formula.tap&.full_name, origin_branch, "-"] end def bump_formula_pr @@ -128,7 +131,7 @@ module Homebrew check_open_pull_requests(formula, tap_full_name, args: args) new_version = args.version - check_all_pull_requests(formula, tap_full_name, version: new_version, args: args) if new_version + check_closed_pull_requests(formula, tap_full_name, version: new_version, args: args) if new_version requested_spec = :stable formula_spec = formula.stable @@ -159,10 +162,10 @@ module Homebrew old_version = old_formula_version.to_s forced_version = new_version.present? new_url_hash = if new_url && new_hash - check_all_pull_requests(formula, tap_full_name, url: new_url, args: args) unless new_version + check_closed_pull_requests(formula, tap_full_name, url: new_url, args: args) unless new_version true elsif new_tag && new_revision - check_all_pull_requests(formula, tap_full_name, url: old_url, tag: new_tag, args: args) unless new_version + check_closed_pull_requests(formula, tap_full_name, url: old_url, tag: new_tag, args: args) unless new_version false elsif !hash_type odie "#{formula}: no --tag= or --version= argument specified!" if !new_tag && !new_version @@ -173,7 +176,7 @@ module Homebrew and old tag are both #{new_tag}. EOS end - check_all_pull_requests(formula, tap_full_name, url: old_url, tag: new_tag, args: args) unless new_version + check_closed_pull_requests(formula, tap_full_name, url: old_url, tag: new_tag, args: args) unless new_version resource_path, forced_version = fetch_resource(formula, new_version, old_url, tag: new_tag) new_revision = Utils.popen_read("git -C \"#{resource_path}\" rev-parse -q --verify HEAD") new_revision = new_revision.strip @@ -190,7 +193,7 @@ module Homebrew #{new_url} EOS end - check_all_pull_requests(formula, tap_full_name, url: new_url, args: args) unless new_version + check_closed_pull_requests(formula, tap_full_name, url: new_url, args: args) unless new_version resource_path, forced_version = fetch_resource(formula, new_version, new_url) tar_file_extensions = %w[.tar .tb2 .tbz .tbz2 .tgz .tlz .txz .tZ] if tar_file_extensions.any? { |extension| new_url.include? extension } @@ -246,7 +249,8 @@ module Homebrew ] end - old_contents = File.read(formula.path) unless args.dry_run? + read_only_run = args.dry_run? && !args.write? + old_contents = File.read(formula.path) unless read_only_run if new_mirrors replacement_pairs << [ @@ -312,13 +316,13 @@ module Homebrew end if new_formula_version < old_formula_version - formula.path.atomic_write(old_contents) unless args.dry_run? + formula.path.atomic_write(old_contents) unless read_only_run odie <<~EOS You need to bump this formula manually since changing the version from #{old_formula_version} to #{new_formula_version} would be a downgrade. EOS elsif new_formula_version == old_formula_version - formula.path.atomic_write(old_contents) unless args.dry_run? + formula.path.atomic_write(old_contents) unless read_only_run odie <<~EOS You need to bump this formula manually since the new version and old version are both #{new_formula_version}. @@ -331,14 +335,14 @@ module Homebrew alias_rename.map! { |a| formula.tap.alias_dir/a } end - ohai "brew update-python-resources #{formula.name}" - if !args.dry_run? || (args.dry_run? && args.write?) - PyPI.update_python_resources! formula, new_formula_version, silent: true, ignore_non_pypi_packages: true + unless read_only_run + PyPI.update_python_resources! formula, new_formula_version, silent: args.quiet?, ignore_non_pypi_packages: true end run_audit(formula, alias_rename, old_contents, args: args) formula.path.parent.cd do + _, base_branch = origin_branch.split("/") branch = "bump-#{formula.name}-#{new_formula_version}" git_dir = Utils.popen_read("git rev-parse --git-dir").chomp shallow = !git_dir.empty? && File.exist?("#{git_dir}/shallow") @@ -354,7 +358,7 @@ module Homebrew "#{new_formula_version}' -- #{changed_files.join(" ")}" ohai "git push --set-upstream $HUB_REMOTE #{branch}:#{branch}" ohai "git checkout --quiet #{previous_branch}" - ohai "create pull request with GitHub API" + ohai "create pull request with GitHub API (base branch: #{base_branch})" else if args.no_fork? @@ -387,7 +391,7 @@ module Homebrew begin url = GitHub.create_pull_request(tap_full_name, pr_title, - "#{username}:#{branch}", "master", pr_message)["html_url"] + "#{username}:#{branch}", base_branch, pr_message)["html_url"] if args.no_browse? puts url else @@ -452,7 +456,8 @@ module Homebrew end def inreplace_pairs(path, replacement_pairs, args:) - if args.dry_run? + read_only_run = args.dry_run? && !args.write? + if read_only_run str = path.open("r") { |f| Formulary.ensure_utf8_encoding(f).read } contents = StringInreplaceExtension.new(str) replacement_pairs.each do |old, new| @@ -494,14 +499,14 @@ module Homebrew check_for_duplicate_pull_requests(pull_requests, args: args) end - def check_all_pull_requests(formula, tap_full_name, version: nil, url: nil, tag: nil, args:) + def check_closed_pull_requests(formula, tap_full_name, version: nil, url: nil, tag: nil, args:) unless version specs = {} specs[:tag] = tag if tag version = Version.detect(url, specs) end - # if we haven't already found open requests, try for an exact match across all requests - pull_requests = GitHub.fetch_pull_requests("#{formula.name} #{version}", tap_full_name) if pull_requests.blank? + # if we haven't already found open requests, try for an exact match across closed requests + pull_requests = GitHub.fetch_pull_requests("#{formula.name} #{version}", tap_full_name, state: "closed") check_for_duplicate_pull_requests(pull_requests, args: args) end diff --git a/Library/Homebrew/dev-cmd/irb.rb b/Library/Homebrew/dev-cmd/irb.rb index 4f05e3de6d..fb91ecc63a 100644 --- a/Library/Homebrew/dev-cmd/irb.rb +++ b/Library/Homebrew/dev-cmd/irb.rb @@ -54,7 +54,7 @@ module Homebrew require "formula" require "keg" - require "cask/all" + require "cask" ohai "Interactive Homebrew Shell" puts "Example commands available with: brew irb --examples" diff --git a/Library/Homebrew/dev-cmd/pr-pull.rb b/Library/Homebrew/dev-cmd/pr-pull.rb index 28ae197fac..052e5dbdbc 100644 --- a/Library/Homebrew/dev-cmd/pr-pull.rb +++ b/Library/Homebrew/dev-cmd/pr-pull.rb @@ -116,7 +116,7 @@ module Homebrew # git cherry-pick unfortunately has no quiet option ohai "Cherry-picking #{commit_count} commit#{"s" unless commit_count == 1} from ##{pr}" cherry_pick_args = "git", "-C", path, "cherry-pick", "--ff", "--allow-empty", "#{merge_base}..FETCH_HEAD" - result = Homebrew.args.verbose? ? system(*cherry_pick_args) : quiet_system(*cherry_pick_args) + result = args.verbose? ? system(*cherry_pick_args) : quiet_system(*cherry_pick_args) unless result if args.resolve? diff --git a/Library/Homebrew/dev-cmd/prof.rb b/Library/Homebrew/dev-cmd/prof.rb index d5134d3150..d75f59e9dd 100644 --- a/Library/Homebrew/dev-cmd/prof.rb +++ b/Library/Homebrew/dev-cmd/prof.rb @@ -8,20 +8,19 @@ module Homebrew def prof_args Homebrew::CLI::Parser.new do usage_banner <<~EOS - `prof` + `prof` [] Run Homebrew with the Ruby profiler, e.g. `brew prof readall`. EOS - min_named 1 end end def prof - prof_args.parse + args = prof_args.parse Homebrew.install_gem_setup_path! "ruby-prof", version: "0.18.0" FileUtils.mkdir_p "prof" brew_rb = (HOMEBREW_LIBRARY_PATH/"brew.rb").resolved_path - safe_system "ruby-prof", "--printer=multi", "--file=prof", brew_rb, "--", *ARGV + safe_system "ruby-prof", "--printer=multi", "--file=prof", brew_rb, "--", *args.named end end diff --git a/Library/Homebrew/dev-cmd/style.rb b/Library/Homebrew/dev-cmd/style.rb index 7bb6fe8e75..3c05b73778 100644 --- a/Library/Homebrew/dev-cmd/style.rb +++ b/Library/Homebrew/dev-cmd/style.rb @@ -50,7 +50,9 @@ module Homebrew only_cops = args.only_cops except_cops = args.except_cops - options = { fix: args.fix?, display_cop_names: args.display_cop_names? } + options = { + fix: args.fix?, display_cop_names: args.display_cop_names?, debug: args.debug?, verbose: args.verbose? + } if only_cops options[:only_cops] = only_cops elsif except_cops diff --git a/Library/Homebrew/dev-cmd/tap-new.rb b/Library/Homebrew/dev-cmd/tap-new.rb index 3506e55dbe..dd45575114 100644 --- a/Library/Homebrew/dev-cmd/tap-new.rb +++ b/Library/Homebrew/dev-cmd/tap-new.rb @@ -53,23 +53,43 @@ module Homebrew pull_request: [] jobs: test-bot: - runs-on: macos-latest + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macOS-latest] steps: - - name: Set up Git repository - uses: actions/checkout@v2 - - name: Run brew test-bot - run: | - set -e - brew update - HOMEBREW_TAP_DIR="/usr/local/Homebrew/Library/Taps/#{tap.full_name}" - mkdir -p "$HOMEBREW_TAP_DIR" - rm -rf "$HOMEBREW_TAP_DIR" - ln -s "$PWD" "$HOMEBREW_TAP_DIR" - brew test-bot + - name: Set up Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@master + + - name: Cache Homebrew Bundler RubyGems + id: cache + uses: actions/cache@main + with: + path: ${{ steps.set-up-homebrew.outputs.gems-path }} + key: ${{ runner.os }}-rubygems-${{ steps.set-up-homebrew.outputs.gems-hash }} + restore-keys: ${{ runner.os }}-rubygems- + + - name: Install Homebrew Bundler RubyGems + if: steps.cache.outputs.cache-hit != 'true' + run: brew install-bundler-gems + + - name: Run brew test-bot --only-cleanup-before + run: brew test-bot --only-cleanup-before + + - name: Run brew test-bot --only-setup + run: brew test-bot --only-setup + + - name: Run brew test-bot --only-tap-syntax + run: brew test-bot --only-tap-syntax + + - name: Run brew test-bot --only-formulae + if: github.event_name == 'pull_request' + run: brew test-bot --only-formulae YAML (tap.path/".github/workflows").mkpath - write_path(tap, ".github/workflows/main.yml", actions) + write_path(tap, ".github/workflows/tests.yml", actions) ohai "Created #{tap}" puts tap.path.to_s end diff --git a/Library/Homebrew/dev-cmd/update-license-data.rb b/Library/Homebrew/dev-cmd/update-license-data.rb index 40584b3b4b..7836f069a9 100644 --- a/Library/Homebrew/dev-cmd/update-license-data.rb +++ b/Library/Homebrew/dev-cmd/update-license-data.rb @@ -1,14 +1,11 @@ # frozen_string_literal: true require "cli/parser" -require "utils/github" +require "utils/spdx" module Homebrew module_function - SPDX_PATH = (HOMEBREW_LIBRARY_PATH/"data/spdx.json").freeze - SPDX_API_URL = "https://api.github.com/repos/spdx/license-list-data/releases/latest" - def update_license_data_args Homebrew::CLI::Parser.new do usage_banner <<~EOS @@ -29,16 +26,14 @@ module Homebrew args = update_license_data_args.parse ohai "Updating SPDX license data..." - latest_tag = GitHub.open_api(SPDX_API_URL)["tag_name"] - data_url = "https://raw.githubusercontent.com/spdx/license-list-data/#{latest_tag}/json/licenses.json" - curl_download(data_url, to: SPDX_PATH, partial: false) + SPDX.download_latest_license_data! - Homebrew.failed = system("git", "diff", "--stat", "--exit-code", SPDX_PATH) if args.fail_if_not_changed? + Homebrew.failed = system("git", "diff", "--stat", "--exit-code", SPDX::JSON_PATH) if args.fail_if_not_changed? return unless args.commit? ohai "git add" - safe_system "git", "add", SPDX_PATH + safe_system "git", "add", SPDX::JSON_PATH ohai "git commit" system "git", "commit", "--message", "data/spdx.json: update to #{latest_tag}" end diff --git a/Library/Homebrew/diagnostic.rb b/Library/Homebrew/diagnostic.rb index a2fb1b28c5..82a511d193 100644 --- a/Library/Homebrew/diagnostic.rb +++ b/Library/Homebrew/diagnostic.rb @@ -691,7 +691,7 @@ module Homebrew # these will result in uncommitted gems. if path == HOMEBREW_REPOSITORY - next if ENV["HOMEBREW_SORBET"] || ENV["HOMEBREW_PATCHELF_RB"] + next if ENV["HOMEBREW_SORBET"] end message ||= "" @@ -907,7 +907,7 @@ module Homebrew def check_cask_staging_location # Skip this check when running CI since the staging path is not writable for security reasons - return if ENV["HOMEBREW_GITHUB_ACTIONS"] + return if ENV["GITHUB_ACTIONS"] path = Cask::Caskroom.path diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index ce99d2845c..7afadb9c85 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -13,6 +13,7 @@ require "mechanize/http/content_disposition_parser" class AbstractDownloadStrategy extend Forwardable include FileUtils + include Context module Pourable def stage @@ -21,9 +22,9 @@ class AbstractDownloadStrategy end end - attr_reader :cache, :cached_location, :url, :meta, :name, :version, :shutup + attr_reader :cache, :cached_location, :url, :meta, :name, :version - private :meta, :name, :version, :shutup + private :meta, :name, :version def initialize(url, name, version, **meta) @url = url @@ -31,24 +32,18 @@ class AbstractDownloadStrategy @version = version @cache = meta.fetch(:cache, HOMEBREW_CACHE) @meta = meta - @shutup = false extend Pourable if meta[:bottle] end # Download and cache the resource as {#cached_location}. def fetch; end - # Suppress output - def shutup! - @shutup = true - end - def puts(*args) - super(*args) unless shutup + super(*args) unless quiet? end def ohai(*args) - super(*args) unless shutup + super(*args) unless quiet? end # Unpack {#cached_location} into the current working directory, and possibly @@ -60,7 +55,7 @@ class AbstractDownloadStrategy ref_type: @ref_type, ref: @ref) .extract_nestedly(basename: basename, prioritise_extension: true, - verbose: Homebrew.args.verbose? && !shutup) + verbose: verbose? && !quiet?) chdir end @@ -102,9 +97,9 @@ class AbstractDownloadStrategy def system_command!(*args, **options) super( *args, - print_stdout: !shutup, - print_stderr: !shutup, - verbose: Homebrew.args.verbose? && !shutup, + print_stdout: !quiet?, + print_stderr: !quiet?, + verbose: verbose? && !quiet?, env: env, **options, ) @@ -498,7 +493,7 @@ class NoUnzipCurlDownloadStrategy < CurlDownloadStrategy def stage UnpackStrategy::Uncompressed.new(cached_location) .extract(basename: basename, - verbose: Homebrew.args.verbose? && !shutup) + verbose: verbose? && !quiet?) end end @@ -553,7 +548,7 @@ class SubversionDownloadStrategy < VCSDownloadStrategy # This saves on bandwidth and will have a similar effect to verifying the # cache as it will make any changes to get the right revision. args = [] - args << "--quiet" unless Homebrew.args.verbose? + args << "--quiet" unless verbose? if revision ohai "Checking out #{@ref}" @@ -897,7 +892,7 @@ class CVSDownloadStrategy < VCSDownloadStrategy end def quiet_flag - "-Q" unless Homebrew.args.verbose? + "-Q" unless verbose? end def clone_repo diff --git a/Library/Homebrew/env_config.rb b/Library/Homebrew/env_config.rb index e47f1ab848..15dbc862c4 100644 --- a/Library/Homebrew/env_config.rb +++ b/Library/Homebrew/env_config.rb @@ -54,6 +54,9 @@ module Homebrew "Linux: `$XDG_CACHE_HOME/Homebrew` or `$HOME/.cache/Homebrew`.", default: HOMEBREW_DEFAULT_CACHE, }, + HOMEBREW_CASK_OPTS: { + description: "Options which should be used for all `cask` commands.", + }, HOMEBREW_CLEANUP_MAX_AGE_DAYS: { description: "Cleanup all cached files older than this many days.", default: 120, @@ -293,7 +296,7 @@ module Homebrew end elsif hash[:default].present? # Needs a custom implementation. - next if env == "HOMEBREW_MAKE_JOBS" + next if ["HOMEBREW_MAKE_JOBS", "HOMEBREW_CASK_OPTS"].include?(env) define_method(method_name) do ENV[env].presence || hash.fetch(:default).to_s @@ -315,5 +318,31 @@ module Homebrew .call .to_s end + + def cask_opts + Shellwords.shellsplit(ENV.fetch("HOMEBREW_CASK_OPTS", "")) + end + + def cask_opts_binaries? + cask_opts.reverse_each do |opt| + return true if opt == "--binaries" + return false if opt == "--no-binaries" + end + + true + end + + def cask_opts_quarantine? + cask_opts.reverse_each do |opt| + return true if opt == "--quarantine" + return false if opt == "--no-quarantine" + end + + true + end + + def cask_opts_require_sha? + cask_opts.include?("--require-sha") + end end end diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index ba8490734a..f3fb93c6f0 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -247,17 +247,6 @@ class TapAlreadyTappedError < RuntimeError end end -class TapPinStatusError < RuntimeError - attr_reader :name, :pinned - - def initialize(name, pinned) - @name = name - @pinned = pinned - - super pinned ? "#{name} is already pinned." : "#{name} is already unpinned." - end -end - class OperationInProgressError < RuntimeError def initialize(name) message = <<~EOS @@ -367,10 +356,10 @@ class BuildError < RuntimeError [] end - def dump + def dump(verbose: false) puts - if Homebrew.args.verbose? + if verbose require "system_config" require "build_environment" diff --git a/Library/Homebrew/extend/os/mac/diagnostic.rb b/Library/Homebrew/extend/os/mac/diagnostic.rb index 5b017b19ce..d9b9cadf32 100644 --- a/Library/Homebrew/extend/os/mac/diagnostic.rb +++ b/Library/Homebrew/extend/os/mac/diagnostic.rb @@ -73,7 +73,7 @@ module Homebrew # `brew test-bot` runs `brew doctor` in the CI for the Homebrew/brew # repository. This only needs to support whatever CI providers # Homebrew/brew is currently using. - return if ENV["HOMEBREW_GITHUB_ACTIONS"] + return if ENV["GITHUB_ACTIONS"] message = <<~EOS Your Xcode (#{MacOS::Xcode.version}) is outdated. @@ -100,7 +100,7 @@ module Homebrew # `brew test-bot` runs `brew doctor` in the CI for the Homebrew/brew # repository. This only needs to support whatever CI providers # Homebrew/brew is currently using. - return if ENV["HOMEBREW_GITHUB_ACTIONS"] + return if ENV["GITHUB_ACTIONS"] <<~EOS A newer Command Line Tools release is available. diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 33a937b5d7..fb3ddd9659 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -374,8 +374,11 @@ class Pathname # Writes an exec script that invokes a Java jar def write_jar_script(target_jar, script_name, java_opts = "", java_version: nil) - (self/script_name).write_env_script "java", "#{java_opts} -jar \"#{target_jar}\"", - Language::Java.overridable_java_home_env(java_version) + (self/script_name).write <<~EOS + #!/bin/bash + export JAVA_HOME="#{Language::Java.overridable_java_home_env(java_version)[:JAVA_HOME]}" + exec "${JAVA_HOME}/bin/java" #{java_opts} -jar "#{target_jar}" "$@" + EOS end def install_metafiles(from = Pathname.pwd) @@ -416,6 +419,8 @@ require "extend/os/pathname" # @private module ObserverPathnameExtension class << self + include Context + attr_accessor :n, :d def reset_counts! @@ -434,8 +439,8 @@ module ObserverPathnameExtension MAXIMUM_VERBOSE_OUTPUT = 100 def verbose? - return Homebrew.args.verbose? unless ENV["CI"] - return false unless Homebrew.args.verbose? + return super unless ENV["CI"] + return false unless super if total < MAXIMUM_VERBOSE_OUTPUT true diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 735f333424..5849baaa20 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -54,9 +54,11 @@ class Formula include Utils::Inreplace include Utils::Shebang include Utils::Shell + include Context extend Enumerable extend Forwardable extend Cachable + extend Predicable # @!method inreplace(paths, before = nil, after = nil) # Actually implemented in {Utils::Inreplace.inreplace}. @@ -536,8 +538,10 @@ class Formula return false unless head&.downloader.is_a?(VCSDownloadStrategy) downloader = head.downloader - downloader.shutup! unless Homebrew.args.verbose? - downloader.commit_outdated?(version.version.commit) + + with_context quiet: true do + downloader.commit_outdated?(version.version.commit) + end end # The latest prefix for this formula. Checks for {#head}, then {#devel} @@ -1182,7 +1186,7 @@ class Formula begin yield self, staging rescue - staging.retain! if interactive || Homebrew.args.debug? + staging.retain! if interactive || debug? raise ensure cp Dir["config.log", "CMakeCache.txt"], logs @@ -1831,13 +1835,13 @@ class Formula end end rescue Exception # rubocop:disable Lint/RescueException - staging.retain! if Homebrew.args.debug? + staging.retain! if debug? raise end end ensure - @testpath = nil @prefix_returns_versioned_prefix = false + @testpath = nil end # @private @@ -1927,13 +1931,12 @@ class Formula # # If there is a "make", "install" available, please use it! # system "make", "install" def system(cmd, *args) - verbose = Homebrew.args.verbose? verbose_using_dots = Homebrew::EnvConfig.verbose_using_dots? # remove "boring" arguments so that the important ones are more likely to # be shown considering that we trim long ohai lines to the terminal width pretty_args = args.dup - unless verbose + unless verbose? case cmd when "./configure" pretty_args -= %w[--disable-dependency-tracking --disable-debug --disable-silent-rules] @@ -1961,7 +1964,7 @@ class Formula log.puts Time.now, "", cmd, args, "" log.flush - if verbose + if verbose? rd, wr = IO.pipe begin pid = fork do @@ -2004,7 +2007,7 @@ class Formula log_lines = Homebrew::EnvConfig.fail_log_lines log.flush - if !verbose || verbose_using_dots + if !verbose? || verbose_using_dots puts "Last #{log_lines} lines from #{logfn}:" Kernel.system "/usr/bin/tail", "-n", log_lines, logfn end @@ -2221,6 +2224,8 @@ class Formula # Multiple licenses means that the software is licensed under multiple licenses. # Do not use multiple licenses if e.g. different parts are under different licenses. #
license "BSD-2-Clause"
+ #
license ["MIT", "GPL-2.0"]
+ #
license :public_domain
def license(args = nil) if args.nil? @licenses diff --git a/Library/Homebrew/formula_assertions.rb b/Library/Homebrew/formula_assertions.rb index acb428ae98..55592f2214 100644 --- a/Library/Homebrew/formula_assertions.rb +++ b/Library/Homebrew/formula_assertions.rb @@ -2,6 +2,8 @@ module Homebrew module Assertions + include Context + require "test/unit/assertions" include ::Test::Unit::Assertions @@ -12,7 +14,7 @@ module Homebrew assert_equal result, $CHILD_STATUS.exitstatus output rescue Test::Unit::AssertionFailedError - puts output if Homebrew.args.verbose? + puts output if verbose? raise end @@ -28,7 +30,7 @@ module Homebrew assert_equal result, $CHILD_STATUS.exitstatus unless result.nil? output rescue Test::Unit::AssertionFailedError - puts output if Homebrew.args.verbose? + puts output if verbose? raise end end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index d9b5e6d1c3..06d5db08b8 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -51,7 +51,8 @@ class FormulaInstaller force_bottle: false, include_test_formulae: [], build_from_source_formulae: [], - cc: nil) + cc: nil, + debug: false, quiet: false, verbose: false) @formula = formula @env = nil @force = false @@ -68,9 +69,9 @@ class FormulaInstaller @interactive = false @git = false @cc = cc - @verbose = Homebrew.args.verbose? - @quiet = Homebrew.args.quiet? - @debug = Homebrew.args.debug? + @verbose = verbose + @quiet = quiet + @debug = debug @installed_as_dependency = false @installed_on_request = true @options = Options.new @@ -601,15 +602,13 @@ class FormulaInstaller def fetch_dependency(dep) df = dep.to_formula - fi = FormulaInstaller.new(df, force_bottle: false, + fi = FormulaInstaller.new(df, force_bottle: false, include_test_formulae: include_test_formulae, - build_from_source_formulae: build_from_source_formulae) + build_from_source_formulae: build_from_source_formulae, + debug: debug?, quiet: quiet?, verbose: verbose?) fi.force = force? fi.keep_tmp = keep_tmp? - fi.verbose = verbose? - fi.quiet = quiet? - fi.debug = debug? # When fetching we don't need to recurse the dependency tree as it's already # been done for us in `compute_dependencies` and there's no requirement to # fetch in a particular order. @@ -642,9 +641,10 @@ class FormulaInstaller EOS end - fi = FormulaInstaller.new(df, force_bottle: false, + fi = FormulaInstaller.new(df, force_bottle: false, include_test_formulae: include_test_formulae, - build_from_source_formulae: build_from_source_formulae) + build_from_source_formulae: build_from_source_formulae, + debug: debug?, quiet: quiet?, verbose: verbose?) fi.options |= tab.used_options fi.options |= Tab.remap_deprecated_options(df.deprecated_options, dep.options) @@ -652,9 +652,6 @@ class FormulaInstaller fi.options &= df.options fi.force = force? fi.keep_tmp = keep_tmp? - fi.verbose = verbose? - fi.quiet = quiet? - fi.debug = debug? fi.link_keg ||= keg_was_linked if keg_had_linked_keg fi.installed_as_dependency = true fi.installed_on_request = df.any_version_installed? && tab.installed_on_request @@ -665,7 +662,7 @@ class FormulaInstaller rescue Exception => e # rubocop:disable Lint/RescueException ignore_interrupts do tmp_keg.rename(installed_keg) if tmp_keg && !installed_keg.directory? - linked_keg.link if keg_was_linked + linked_keg.link(verbose: verbose?) if keg_was_linked end raise unless e.is_a? FormulaInstallationAlreadyAttemptedError @@ -845,7 +842,7 @@ class FormulaInstaller def link(keg) unless link_keg begin - keg.optlink + keg.optlink(verbose: verbose?) Formula.clear_cache rescue Keg::LinkError => e onoe "Failed to create #{formula.opt_prefix}" @@ -876,7 +873,7 @@ class FormulaInstaller backup_dir = HOMEBREW_CACHE/"Backup" begin - keg.link + keg.link(verbose: verbose?) rescue Keg::ConflictError => e conflict_file = e.dst if formula.link_overwrite?(conflict_file) && !link_overwrite_backup.key?(conflict_file) @@ -891,8 +888,7 @@ class FormulaInstaller puts e puts puts "Possible conflicting files are:" - mode = OpenStruct.new(dry_run: true, overwrite: true) - keg.link(mode) + keg.link(dry_run: true, overwrite: true, verbose: verbose?) @show_summary_heading = true Homebrew.failed = true rescue Keg::LinkError => e @@ -939,7 +935,7 @@ class FormulaInstaller log.mkpath if formula.plist.include? log.to_s rescue Exception => e # rubocop:disable Lint/RescueException onoe "Failed to install plist file" - ohai e, e.backtrace if debug? + odebug e, e.backtrace Homebrew.failed = true end @@ -949,7 +945,7 @@ class FormulaInstaller onoe "Failed to fix install linkage" puts "The formula built, but you may encounter issues using it or linking other" puts "formulae against it." - ohai e, e.backtrace if debug? + odebug e, e.backtrace Homebrew.failed = true @show_summary_heading = true end @@ -960,7 +956,7 @@ class FormulaInstaller rescue Exception => e # rubocop:disable Lint/RescueException opoo "The cleaning step did not complete successfully" puts "Still, the installation was successful, so we will link it into your prefix" - ohai e, e.backtrace if debug? + odebug e, e.backtrace Homebrew.failed = true @show_summary_heading = true end @@ -996,7 +992,7 @@ class FormulaInstaller rescue Exception => e # rubocop:disable Lint/RescueException opoo "The post-install step did not complete successfully" puts "You can try again using `brew postinstall #{formula.full_name}`" - ohai e, e.backtrace if debug? || Homebrew::EnvConfig.developer? + odebug e, e.backtrace, always_display: Homebrew::EnvConfig.developer? Homebrew.failed = true @show_summary_heading = true end @@ -1129,14 +1125,17 @@ class FormulaInstaller end def forbidden_license_check - forbidden_licenses = Homebrew::EnvConfig.forbidden_licenses.to_s.split(" ") + forbidden_licenses = Homebrew::EnvConfig.forbidden_licenses + .to_s + .sub("Public Domain", "public_domain") + .split(" ") return if forbidden_licenses.blank? compute_dependencies.each do |dep, _| next if @ignore_deps dep_f = dep.to_formula - next unless dep_f.license.all? { |license| forbidden_licenses.include? license } + next unless dep_f.license.all? { |license| forbidden_licenses.include?(license.to_s) } raise CannotInstallFormulaError, <<~EOS The installation of #{formula.name} has a dependency on #{dep.name} where all its licenses are forbidden: #{dep_f.license}. @@ -1144,7 +1143,7 @@ class FormulaInstaller end return if @only_deps - return unless formula.license.all? { |license| forbidden_licenses.include? license } + return unless formula.license.all? { |license| forbidden_licenses.include?(license.to_s) } raise CannotInstallFormulaError, <<~EOS #{formula.name}'s licenses are all forbidden: #{formula.license}. diff --git a/Library/Homebrew/formula_versions.rb b/Library/Homebrew/formula_versions.rb index 5805213c8b..d6503bd22b 100644 --- a/Library/Homebrew/formula_versions.rb +++ b/Library/Homebrew/formula_versions.rb @@ -3,6 +3,8 @@ require "formula" class FormulaVersions + include Context + IGNORED_EXCEPTIONS = [ ArgumentError, NameError, SyntaxError, TypeError, FormulaSpecificationError, FormulaValidationError, @@ -44,7 +46,7 @@ class FormulaVersions rescue *IGNORED_EXCEPTIONS => e # We rescue these so that we can skip bad versions and # continue walking the history - odebug "#{e} in #{name} at revision #{rev}", e.backtrace if Homebrew.args.debug? + odebug "#{e} in #{name} at revision #{rev}", e.backtrace if debug? rescue FormulaUnavailableError nil ensure diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 80600d7e34..ce3d098cf9 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -109,6 +109,8 @@ module Formulary # A FormulaLoader returns instances of formulae. # Subclasses implement loaders for particular sources of formulae. class FormulaLoader + include Context + # The formula's name attr_reader :name # The formula's ruby file's path or filename @@ -138,7 +140,7 @@ module Formulary private def load_file(flags:) - $stderr.puts "#{$PROGRAM_NAME} (#{self.class.name}): loading #{path}" if Homebrew.args.debug? + $stderr.puts "#{$PROGRAM_NAME} (#{self.class.name}): loading #{path}" if debug? raise FormulaUnavailableError, name unless path.file? Formulary.load_formula_from_path(name, path, flags: flags) @@ -314,7 +316,7 @@ module Formulary end def klass(flags:) - $stderr.puts "#{$PROGRAM_NAME} (#{self.class.name}): loading #{path}" if Homebrew.args.debug? + $stderr.puts "#{$PROGRAM_NAME} (#{self.class.name}): loading #{path}" if debug? namespace = "FormulaNamespace#{Digest::MD5.hexdigest(contents.to_s)}" Formulary.load_formula(name, path, contents, namespace, flags: flags) end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index b100822fc0..9276582221 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -37,7 +37,6 @@ require "config" require "os" require "cli/args" require "messages" -require "system_command" HOMEBREW_PRODUCT = ENV["HOMEBREW_PRODUCT"] HOMEBREW_VERSION = ENV["HOMEBREW_VERSION"] @@ -116,6 +115,7 @@ end.compact.freeze require "set" +require "context" require "extend/pathname" require "extend/module" @@ -125,6 +125,7 @@ require "active_support/core_ext/object/blank" require "active_support/core_ext/hash/deep_merge" require "active_support/core_ext/file/atomic" +require "system_command" require "exceptions" require "utils" diff --git a/Library/Homebrew/help.rb b/Library/Homebrew/help.rb index 53c3e46d56..12283523d8 100644 --- a/Library/Homebrew/help.rb +++ b/Library/Homebrew/help.rb @@ -40,7 +40,7 @@ module Homebrew module Help module_function - def help(cmd = nil, empty_argv: false, usage_error: nil) + def help(cmd = nil, empty_argv: false, usage_error: nil, remaining_args: []) if cmd.nil? # Handle `brew` (no arguments). if empty_argv @@ -58,7 +58,7 @@ module Homebrew # Display command-specific (or generic) help in response to `UsageError`. if usage_error - $stderr.puts path ? command_help(cmd, path) : HOMEBREW_HELP + $stderr.puts path ? command_help(cmd, path, remaining_args: remaining_args) : HOMEBREW_HELP $stderr.puts onoe usage_error exit 1 @@ -68,16 +68,16 @@ module Homebrew return if path.nil? # Display help for internal command (or generic help if undocumented). - puts command_help(cmd, path) + puts command_help(cmd, path, remaining_args: remaining_args) exit 0 end - def command_help(cmd, path) + def command_help(cmd, path, remaining_args:) # Only some types of commands can have a parser. output = if Commands.valid_internal_cmd?(cmd) || Commands.valid_internal_dev_cmd?(cmd) || Commands.external_ruby_v2_cmd_path(cmd) - parser_help(path) + parser_help(path, remaining_args: remaining_args) end output ||= comment_help(path) @@ -90,13 +90,13 @@ module Homebrew output end - def parser_help(path) + def parser_help(path, remaining_args:) # Let OptionParser generate help text for commands which have a parser. cmd_parser = CLI::Parser.from_cmd_path(path) return unless cmd_parser # Try parsing arguments here in order to show formula options in help output. - cmd_parser.parse(Homebrew.args.remaining, ignore_invalid_options: true) + cmd_parser.parse(remaining_args, ignore_invalid_options: true) cmd_parser.generate_help_text end diff --git a/Library/Homebrew/keg.rb b/Library/Homebrew/keg.rb index ccf250e6df..fc15f00546 100644 --- a/Library/Homebrew/keg.rb +++ b/Library/Homebrew/keg.rb @@ -323,7 +323,7 @@ class Keg EOS end - def unlink(mode = OpenStruct.new) + def unlink(**options) ObserverPathnameExtension.reset_counts! dirs = [] @@ -341,7 +341,7 @@ class Keg next unless dst.symlink? next if src != dst.resolved_path - if mode.dry_run + if options[:dry_run] puts dst Find.prune if src.directory? next @@ -354,7 +354,7 @@ class Keg end end - unless mode.dry_run + unless options[:dry_run] remove_linked_keg_record if linked? dirs.reverse_each(&:rmdir_if_possible) end @@ -436,21 +436,21 @@ class Keg end end - def link(mode = OpenStruct.new) + def link(**options) raise AlreadyLinkedError, self if linked_keg_record.directory? ObserverPathnameExtension.reset_counts! - optlink(mode) unless mode.dry_run + optlink(**options) unless options[:dry_run] # yeah indeed, you have to force anything you need in the main tree into # these dirs REMEMBER that *NOT* everything needs to be in the main tree - link_dir("etc", mode) { :mkpath } - link_dir("bin", mode) { :skip_dir } - link_dir("sbin", mode) { :skip_dir } - link_dir("include", mode) { :link } + link_dir("etc", **options) { :mkpath } + link_dir("bin", **options) { :skip_dir } + link_dir("sbin", **options) { :skip_dir } + link_dir("include", **options) { :link } - link_dir("share", mode) do |relative_path| + link_dir("share", **options) do |relative_path| case relative_path.to_s when "locale/locale.alias" then :skip_file when INFOFILE_RX then :info @@ -468,7 +468,7 @@ class Keg end end - link_dir("lib", mode) do |relative_path| + link_dir("lib", **options) do |relative_path| case relative_path.to_s when "charset.alias" then :skip_file # pkg-config database gets explicitly created @@ -494,7 +494,7 @@ class Keg end end - link_dir("Frameworks", mode) do |relative_path| + link_dir("Frameworks", **options) do |relative_path| # Frameworks contain symlinks pointing into a subdir, so we have to use # the :link strategy. However, for Foo.framework and # Foo.framework/Versions we have to use :mkpath so that multiple formulae @@ -506,9 +506,9 @@ class Keg end end - make_relative_symlink(linked_keg_record, path, mode) unless mode.dry_run + make_relative_symlink(linked_keg_record, path, **options) unless options[:dry_run] rescue LinkError - unlink + unlink(verbose: options[:verbose]) raise else ObserverPathnameExtension.n @@ -536,19 +536,19 @@ class Keg tab.aliases || [] end - def optlink(mode = OpenStruct.new) + def optlink(**options) opt_record.delete if opt_record.symlink? || opt_record.exist? - make_relative_symlink(opt_record, path, mode) + make_relative_symlink(opt_record, path, **options) aliases.each do |a| alias_opt_record = opt_record.parent/a alias_opt_record.delete if alias_opt_record.symlink? || alias_opt_record.exist? - make_relative_symlink(alias_opt_record, path, mode) + make_relative_symlink(alias_opt_record, path, **options) end return unless oldname_opt_record oldname_opt_record.delete - make_relative_symlink(oldname_opt_record, path, mode) + make_relative_symlink(oldname_opt_record, path, **options) end def delete_pyc_files! @@ -558,7 +558,7 @@ class Keg private - def resolve_any_conflicts(dst, mode) + def resolve_any_conflicts(dst, **options) return unless dst.symlink? src = dst.resolved_path @@ -571,7 +571,7 @@ class Keg stat = src.lstat rescue Errno::ENOENT # dst is a broken symlink, so remove it. - dst.unlink unless mode.dry_run + dst.unlink unless options[:dry_run] return end @@ -580,25 +580,23 @@ class Keg begin keg = Keg.for(src) rescue NotAKegError - if Homebrew.args.verbose? - puts "Won't resolve conflicts for symlink #{dst} as it doesn't resolve into the Cellar" - end + puts "Won't resolve conflicts for symlink #{dst} as it doesn't resolve into the Cellar" if options[:verbose] return end - dst.unlink unless mode.dry_run - keg.link_dir(src, mode) { :mkpath } + dst.unlink unless options[:dry_run] + keg.link_dir(src, **options) { :mkpath } true end - def make_relative_symlink(dst, src, mode) + def make_relative_symlink(dst, src, **options) if dst.symlink? && src == dst.resolved_path - puts "Skipping; link already exists: #{dst}" if Homebrew.args.verbose? + puts "Skipping; link already exists: #{dst}" if options[:verbose] return end # cf. git-clean -n: list files to delete, don't really link or delete - if mode.dry_run && mode.overwrite + if options[:dry_run] && options[:overwrite] if dst.symlink? puts "#{dst} -> #{dst.resolved_path}" elsif dst.exist? @@ -608,12 +606,12 @@ class Keg end # list all link targets - if mode.dry_run + if options[:dry_run] puts dst return end - dst.delete if mode.overwrite && (dst.exist? || dst.symlink?) + dst.delete if options[:overwrite] && (dst.exist? || dst.symlink?) dst.make_relative_symlink(src) rescue Errno::EEXIST => e raise ConflictError.new(self, src.relative_path_from(path), dst, e) if dst.exist? @@ -631,7 +629,7 @@ class Keg protected # symlinks the contents of path+relative_dir recursively into #{HOMEBREW_PREFIX}/relative_dir - def link_dir(relative_dir, mode) + def link_dir(relative_dir, **options) root = path/relative_dir return unless root.exist? @@ -655,10 +653,10 @@ class Keg when :info next if File.basename(src) == "dir" # skip historical local 'dir' files - make_relative_symlink dst, src, mode + make_relative_symlink dst, src, **options dst.install_info else - make_relative_symlink dst, src, mode + make_relative_symlink dst, src, **options end elsif src.directory? # if the dst dir already exists, then great! walk the rest of the tree tho @@ -672,10 +670,10 @@ class Keg when :skip_dir Find.prune when :mkpath - dst.mkpath unless resolve_any_conflicts(dst, mode) + dst.mkpath unless resolve_any_conflicts(dst, **options) else - unless resolve_any_conflicts(dst, mode) - make_relative_symlink dst, src, mode + unless resolve_any_conflicts(dst, **options) + make_relative_symlink dst, src, **options Find.prune end end diff --git a/Library/Homebrew/livecheck.rb b/Library/Homebrew/livecheck.rb index e040893961..32386389bc 100644 --- a/Library/Homebrew/livecheck.rb +++ b/Library/Homebrew/livecheck.rb @@ -1,13 +1,15 @@ # frozen_string_literal: true -# Livecheck can be used to check for newer versions of the software. -# The livecheck DSL specified in the formula is evaluated the methods -# of this class, which set the instance variables accordingly. The -# information is used by brew livecheck when checking for newer versions -# of the software. +# The `Livecheck` class implements the DSL methods used in a formula's +# `livecheck` block and stores related instance variables. Most of these methods +# also return the related instance variable when no argument is provided. +# +# This information is used by the `brew livecheck` command to control its +# behavior. class Livecheck - # The reason for skipping livecheck for the formula. - # e.g. `Not maintained` + # A very brief description of why the formula is skipped (e.g., `No longer + # developed or maintained`). + # @return [String, nil] attr_reader :skip_msg def initialize(formula) @@ -15,52 +17,92 @@ class Livecheck @regex = nil @skip = false @skip_msg = nil + @strategy = nil @url = nil end - # Sets the regex instance variable to the argument given, returns the - # regex instance variable when no argument is given. + # Sets the `@regex` instance variable to the provided `Regexp` or returns the + # `@regex` instance variable when no argument is provided. + # @param pattern [Regexp] regex to use for matching versions in content + # @return [Regexp, nil] def regex(pattern = nil) - return @regex if pattern.nil? - - @regex = pattern + case pattern + when nil + @regex + when Regexp + @regex = pattern + else + raise TypeError, "Livecheck#regex expects a Regexp" + end end - # Sets the skip instance variable to true, indicating that livecheck - # must be skipped for the formula. If an argument is given and present, - # its value is assigned to the skip_msg instance variable, else nil is - # assigned. + # Sets the `@skip` instance variable to `true` and sets the `@skip_msg` + # instance variable if a `String` is provided. `@skip` is used to indicate + # that the formula should be skipped and the `skip_msg` very briefly describes + # why the formula is skipped (e.g., `No longer developed or maintained`). + # @param skip_msg [String] string describing why the formula is skipped + # @return [Boolean] def skip(skip_msg = nil) + if skip_msg.is_a?(String) + @skip_msg = skip_msg + elsif skip_msg.present? + raise TypeError, "Livecheck#skip expects a String" + end + @skip = true - @skip_msg = skip_msg.presence end - # Should livecheck be skipped for the formula? + # Should `livecheck` skip this formula? def skip? @skip end - # Sets the url instance variable to the argument given, returns the url - # instance variable when no argument is given. - def url(val = nil) - return @url if val.nil? + # Sets the `@strategy` instance variable to the provided `Symbol` or returns + # the `@strategy` instance variable when no argument is provided. The strategy + # symbols use snake case (e.g., `:page_match`) and correspond to the strategy + # file name. + # @param symbol [Symbol] symbol for the desired strategy + # @return [Symbol, nil] + def strategy(symbol = nil) + case symbol + when nil + @strategy + when Symbol + @strategy = symbol + else + raise TypeError, "Livecheck#strategy expects a Symbol" + end + end + # Sets the `@url` instance variable to the provided argument or returns the + # `@url` instance variable when no argument is provided. The argument can be + # a `String` (a URL) or a supported `Symbol` corresponding to a URL in the + # formula (e.g., `:stable`, `:homepage`, or `:head`). + # @param val [String, Symbol] URL to check for version information + # @return [String, nil] + def url(val = nil) @url = case val + when nil + return @url when :head, :stable, :devel @formula.send(val).url when :homepage @formula.homepage - else + when String val + else + raise TypeError, "Livecheck#url expects a String or valid Symbol" end end - # Returns a Hash of all instance variable values. + # Returns a `Hash` of all instance variable values. + # @return [Hash] def to_hash { "regex" => @regex, "skip" => @skip, "skip_msg" => @skip_msg, + "strategy" => @strategy, "url" => @url, } end diff --git a/Library/Homebrew/migrator.rb b/Library/Homebrew/migrator.rb index 30d0603b0e..e0903aa48f 100644 --- a/Library/Homebrew/migrator.rb +++ b/Library/Homebrew/migrator.rb @@ -5,6 +5,8 @@ require "keg" require "tab" class Migrator + include Context + class MigrationNeededError < RuntimeError def initialize(formula) super <<~EOS @@ -209,7 +211,7 @@ class Migrator rescue Exception => e # rubocop:disable Lint/RescueException onoe "Error occurred while migrating." puts e - puts e.backtrace if Homebrew.args.debug? + puts e.backtrace if debug? puts "Backing up..." ignore_interrupts { backup_oldname } ensure @@ -267,7 +269,7 @@ class Migrator oh1 "Unlinking #{Formatter.identifier(oldname)}" old_cellar.subdirs.each do |d| keg = Keg.new(d) - keg.unlink + keg.unlink(verbose: verbose?) end end @@ -275,7 +277,7 @@ class Migrator oh1 "Temporarily unlinking #{Formatter.identifier(newname)}" new_cellar.subdirs.each do |d| keg = Keg.new(d) - keg.unlink + keg.unlink(verbose: verbose?) end end @@ -288,7 +290,7 @@ class Migrator # If formula is keg-only we also optlink it. if formula.keg_only? || !old_linked_keg_record begin - new_keg.optlink + new_keg.optlink(verbose: verbose?) rescue Keg::LinkError => e onoe "Failed to create #{formula.opt_prefix}" raise @@ -299,15 +301,13 @@ class Migrator new_keg.remove_linked_keg_record if new_keg.linked? begin - mode = OpenStruct.new(overwrite: true) - new_keg.link(mode) + new_keg.link(overwrite: true, verbose: verbose?) rescue Keg::ConflictError => e onoe "Error while executing `brew link` step on #{newname}" puts e puts puts "Possible conflicting files are:" - mode = OpenStruct.new(dry_run: true, overwrite: true) - new_keg.link(mode) + new_keg.link(dry_run: true, overwrite: true, verbose: verbose?) raise rescue Keg::LinkError => e onoe "Error while linking" @@ -318,8 +318,8 @@ class Migrator rescue Exception => e # rubocop:disable Lint/RescueException onoe "An unexpected error occurred during linking" puts e - puts e.backtrace if Homebrew.args.debug? - ignore_interrupts { new_keg.unlink } + puts e.backtrace if debug? + ignore_interrupts { new_keg.unlink(verbose: verbose?) } raise end end @@ -384,7 +384,7 @@ class Migrator if new_cellar.exist? new_cellar.subdirs.each do |d| newname_keg = Keg.new(d) - newname_keg.unlink + newname_keg.unlink(verbose: verbose?) newname_keg.uninstall if new_cellar_existed end end @@ -396,16 +396,16 @@ class Migrator # create a keg using its old path if old_linked_keg_record begin - old_linked_keg.link + old_linked_keg.link(verbose: verbose?) rescue Keg::LinkError - old_linked_keg.unlink + old_linked_keg.unlink(verbose: verbose?) raise rescue Keg::AlreadyLinkedError - old_linked_keg.unlink + old_linked_keg.unlink(verbose: verbose?) retry end else - old_linked_keg.optlink + old_linked_keg.optlink(verbose: verbose?) end end diff --git a/Library/Homebrew/os/linux/elf.rb b/Library/Homebrew/os/linux/elf.rb index 0d6794d252..620c4e197a 100644 --- a/Library/Homebrew/os/linux/elf.rb +++ b/Library/Homebrew/os/linux/elf.rb @@ -71,41 +71,19 @@ module ELFShim def rpath return @rpath if defined? @rpath - @rpath = if HOMEBREW_PATCHELF_RB - rpath_using_patchelf_rb - else - rpath_using_patchelf - end + @rpath = rpath_using_patchelf_rb end def interpreter return @interpreter if defined? @interpreter - @interpreter = if HOMEBREW_PATCHELF_RB - patchelf_patcher.interpreter - elsif (patchelf = DevelopmentTools.locate "patchelf") - interp = Utils.popen_read(patchelf, "--print-interpreter", to_s, err: :out).strip - $CHILD_STATUS.success? ? interp : nil - elsif (file = DevelopmentTools.locate("file")) - output = Utils.popen_read(file, "-L", "-b", to_s, err: :out).strip - output[/^ELF.*, interpreter (.+?), /, 1] - else - raise "Please install either patchelf or file." - end + @interpreter = patchelf_patcher.interpreter end def dynamic_elf? return @dynamic_elf if defined? @dynamic_elf - @dynamic_elf = if HOMEBREW_PATCHELF_RB - patchelf_patcher.elf.segment_by_type(:DYNAMIC).present? - elsif which "readelf" - Utils.popen_read("readelf", "-l", to_path).include?(" DYNAMIC ") - elsif which "file" - !Utils.popen_read("file", "-L", "-b", to_path)[/dynamic|shared/].nil? - else - raise "Please install either readelf (from binutils) or file." - end + @dynamic_elf = patchelf_patcher.elf.segment_by_type(:DYNAMIC).present? end class Metadata @@ -139,81 +117,20 @@ module ELFShim def needed_libraries(path) return [nil, []] unless path.dynamic_elf? - if HOMEBREW_PATCHELF_RB - needed_libraries_using_patchelf_rb path - elsif DevelopmentTools.locate "readelf" - needed_libraries_using_readelf path - elsif DevelopmentTools.locate "patchelf" - needed_libraries_using_patchelf path - else - return [nil, []] if path.basename.to_s == "patchelf" - - raise "patchelf must be installed: brew install patchelf" - end + needed_libraries_using_patchelf_rb path end def needed_libraries_using_patchelf_rb(path) patcher = path.patchelf_patcher [patcher.soname, patcher.needed] end - - def needed_libraries_using_patchelf(path) - patchelf = DevelopmentTools.locate "patchelf" - if path.dylib? - command = [patchelf, "--print-soname", path.expand_path.to_s] - soname = Utils.safe_popen_read(*command).chomp - end - command = [patchelf, "--print-needed", path.expand_path.to_s] - needed = Utils.safe_popen_read(*command).split("\n") - [soname, needed] - end - - def needed_libraries_using_readelf(path) - soname = nil - needed = [] - command = ["readelf", "-d", path.expand_path.to_s] - lines = Utils.popen_read(*command, err: :out).split("\n") - lines.each do |s| - next if s.start_with?("readelf: Warning: possibly corrupt ELF header") - - filename = s[/\[(.*)\]/, 1] - next if filename.nil? - - if s.include? "(SONAME)" - soname = filename - elsif s.include? "(NEEDED)" - needed << filename - end - end - [soname, needed] - end end def rpath_using_patchelf_rb patchelf_patcher.runpath || patchelf_patcher.rpath end - def rpath_using_patchelf - patchelf = DevelopmentTools.locate "patchelf" - odie "Could not locate patchelf, please: brew install patchelf." if patchelf.nil? - - cmd_rpath = [patchelf, "--print-rpath", to_s] - rpath = Utils.popen_read(*cmd_rpath, err: :out).strip - - # patchelf requires that the ELF file have a .dynstr section. - # Skip ELF files that do not have a .dynstr section. - return if ["cannot find section .dynstr", "strange: no string table"].include?(rpath) - - unless $CHILD_STATUS.success? - raise ErrorDuringExecution.new(cmd_rpath, status: $CHILD_STATUS, output: [[:stderr, rpath]]) - end - - rpath unless rpath.blank? - end - def patchelf_patcher - return unless HOMEBREW_PATCHELF_RB - Homebrew.install_bundler_gems! require "patchelf" @patchelf_patcher ||= PatchELF::Patcher.new to_s, on_error: :silent diff --git a/Library/Homebrew/os/linux/global.rb b/Library/Homebrew/os/linux/global.rb index fb74e0afa3..e0b8724930 100644 --- a/Library/Homebrew/os/linux/global.rb +++ b/Library/Homebrew/os/linux/global.rb @@ -1,8 +1,5 @@ # frozen_string_literal: true -# enables experimental readelf.rb, patchelf support. -HOMEBREW_PATCHELF_RB = ENV["HOMEBREW_PATCHELF_RB"].present?.freeze - module Homebrew DEFAULT_PREFIX ||= if Homebrew::EnvConfig.force_homebrew_on_linux? HOMEBREW_DEFAULT_PREFIX diff --git a/Library/Homebrew/os/mac/keg.rb b/Library/Homebrew/os/mac/keg.rb index 90593712ff..0782226c00 100644 --- a/Library/Homebrew/os/mac/keg.rb +++ b/Library/Homebrew/os/mac/keg.rb @@ -5,7 +5,7 @@ class Keg return if file.dylib_id == id @require_relocation = true - odebug "Changing dylib ID of #{file}\n from #{file.dylib_id}\n to #{id}" if Homebrew.args.debug? + odebug "Changing dylib ID of #{file}\n from #{file.dylib_id}\n to #{id}" MachO::Tools.change_dylib_id(file, id, strict: false) rescue MachO::MachOError onoe <<~EOS @@ -20,7 +20,7 @@ class Keg return if old == new @require_relocation = true - odebug "Changing install name in #{file}\n from #{old}\n to #{new}" if Homebrew.args.debug? + odebug "Changing install name in #{file}\n from #{old}\n to #{new}" MachO::Tools.change_install_name(file, old, new, strict: false) rescue MachO::MachOError onoe <<~EOS diff --git a/Library/Homebrew/postinstall.rb b/Library/Homebrew/postinstall.rb index 557fd3387a..d6ae171797 100644 --- a/Library/Homebrew/postinstall.rb +++ b/Library/Homebrew/postinstall.rb @@ -17,7 +17,7 @@ begin trap("INT", old_trap) formula = args.resolved_formulae.first - formula.extend(Debrew::Formula) if Homebrew.args.debug? + formula.extend(Debrew::Formula) if args.debug? formula.run_post_install rescue Exception => e # rubocop:disable Lint/RescueException error_pipe.puts e.to_json diff --git a/Library/Homebrew/reinstall.rb b/Library/Homebrew/reinstall.rb index 77645bf7c0..5fade3cb78 100644 --- a/Library/Homebrew/reinstall.rb +++ b/Library/Homebrew/reinstall.rb @@ -24,7 +24,8 @@ module Homebrew options &= f.options fi = FormulaInstaller.new(f, force_bottle: args.force_bottle?, - build_from_source_formulae: args.build_from_source_formulae) + build_from_source_formulae: args.build_from_source_formulae, + debug: args.debug?, quiet: args.quiet?, verbose: args.verbose?) fi.options = options fi.force = args.force? fi.keep_tmp = args.keep_tmp? @@ -48,7 +49,7 @@ module Homebrew rescue FormulaInstallationAlreadyAttemptedError nil rescue Exception # rubocop:disable Lint/RescueException - ignore_interrupts { restore_backup(keg, keg_was_linked) } + ignore_interrupts { restore_backup(keg, keg_was_linked, verbose: args.verbose?) } raise else begin @@ -73,7 +74,7 @@ module Homebrew end end - def restore_backup(keg, keg_was_linked) + def restore_backup(keg, keg_was_linked, verbose:) path = backup_path(keg) return unless path.directory? @@ -81,7 +82,7 @@ module Homebrew Pathname.new(keg).rmtree if keg.exist? path.rename keg - keg.link if keg_was_linked + keg.link(verbose: verbose) if keg_was_linked end def backup_path(path) diff --git a/Library/Homebrew/resource.rb b/Library/Homebrew/resource.rb index 4b00e4ea3a..b76bd703fa 100644 --- a/Library/Homebrew/resource.rb +++ b/Library/Homebrew/resource.rb @@ -9,6 +9,7 @@ require "mktemp" # primary formula download, along with other declared resources, are instances # of this class. class Resource + include Context include FileUtils attr_reader :mirrors, :specs, :using, :source_modified_time, :patches, :owner @@ -140,7 +141,7 @@ class Resource def verify_download_integrity(fn) if fn.file? - ohai "Verifying #{fn.basename} checksum" if Homebrew.args.verbose? + ohai "Verifying #{fn.basename} checksum" if verbose? fn.verify_checksum(checksum) end rescue ChecksumMissingError diff --git a/Library/Homebrew/rubocops/cask/ast/cask_header.rb b/Library/Homebrew/rubocops/cask/ast/cask_header.rb index 8668c2daad..7646552eec 100644 --- a/Library/Homebrew/rubocops/cask/ast/cask_header.rb +++ b/Library/Homebrew/rubocops/cask/ast/cask_header.rb @@ -29,7 +29,13 @@ module RuboCop end def cask_token - @cask_token ||= pair_node.val_node.children.first + @cask_token ||= begin + if dsl_version? + pair_node.val_node.children.first + else + method_node.first_argument.str_content + end + end end def hash_node diff --git a/Library/Homebrew/rubocops/cask/constants/stanza.rb b/Library/Homebrew/rubocops/cask/constants/stanza.rb index 00335bb1f2..f4de0f3139 100644 --- a/Library/Homebrew/rubocops/cask/constants/stanza.rb +++ b/Library/Homebrew/rubocops/cask/constants/stanza.rb @@ -6,7 +6,8 @@ module RuboCop module Constants STANZA_GROUPS = [ [:version, :sha256], - [:url, :appcast, :name, :homepage], + [:language], + [:url, :appcast, :name, :desc, :homepage], [ :auto_updates, :conflicts_with, @@ -32,6 +33,7 @@ module RuboCop :service, :audio_unit_plugin, :vst_plugin, + :vst3_plugin, :artifact, :stage_only, ], diff --git a/Library/Homebrew/rubocops/cask/desc.rb b/Library/Homebrew/rubocops/cask/desc.rb new file mode 100644 index 0000000000..90ceefab9f --- /dev/null +++ b/Library/Homebrew/rubocops/cask/desc.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require "forwardable" +require "uri" +require "rubocops/cask/mixin/on_desc_stanza" +require "rubocops/shared/desc_helper" + +module RuboCop + module Cop + module Cask + # This cop audits `desc` in Casks. + # See the `DescHelper` module for details of the checks. + class Desc < Cop + include OnDescStanza + include DescHelper + + def on_desc_stanza(stanza) + name = cask_block.header.cask_token + desc_call = stanza.stanza_node + audit_desc(:cask, name, desc_call) + end + + def autocorrect(node) + name = cask_block.header.cask_token + autocorrect_desc(node, name) + end + end + end + end +end diff --git a/Library/Homebrew/rubocops/cask/mixin/on_desc_stanza.rb b/Library/Homebrew/rubocops/cask/mixin/on_desc_stanza.rb new file mode 100644 index 0000000000..067b6c30e4 --- /dev/null +++ b/Library/Homebrew/rubocops/cask/mixin/on_desc_stanza.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +module RuboCop + module Cop + module Cask + # Common functionality for checking desc stanzas. + module OnDescStanza + extend Forwardable + include CaskHelp + + def on_cask(cask_block) + @cask_block = cask_block + + toplevel_stanzas.select(&:desc?).each do |stanza| + on_desc_stanza(stanza) + end + end + + private + + attr_reader :cask_block + + def_delegators :cask_block, + :toplevel_stanzas + end + end + end +end diff --git a/Library/Homebrew/rubocops/cask/stanza_grouping.rb b/Library/Homebrew/rubocops/cask/stanza_grouping.rb index c29d8d71c8..b49101e63c 100644 --- a/Library/Homebrew/rubocops/cask/stanza_grouping.rb +++ b/Library/Homebrew/rubocops/cask/stanza_grouping.rb @@ -6,7 +6,7 @@ module RuboCop module Cop module Cask # This cop checks that a cask's stanzas are grouped correctly. - # See https://github.com/Homebrew/homebrew-cask/blob/HEAD/CONTRIBUTING.md#stanza-order + # See https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/readme.md#stanza-order # for more info. class StanzaGrouping < Cop extend Forwardable diff --git a/Library/Homebrew/rubocops/cask/stanza_order.rb b/Library/Homebrew/rubocops/cask/stanza_order.rb index 71dad3cb8e..41b818df6c 100644 --- a/Library/Homebrew/rubocops/cask/stanza_order.rb +++ b/Library/Homebrew/rubocops/cask/stanza_order.rb @@ -6,7 +6,7 @@ module RuboCop module Cop module Cask # This cop checks that a cask's stanzas are ordered correctly. - # See https://github.com/Homebrew/homebrew-cask/blob/HEAD/CONTRIBUTING.md#stanza-order + # See https://github.com/Homebrew/homebrew-cask/blob/HEAD/doc/cask_language_reference/readme.md#stanza-order # for more info. class StanzaOrder < Cop extend Forwardable diff --git a/Library/Homebrew/rubocops/extend/formula.rb b/Library/Homebrew/rubocops/extend/formula.rb index b7e5bfccb8..8f165acc68 100644 --- a/Library/Homebrew/rubocops/extend/formula.rb +++ b/Library/Homebrew/rubocops/extend/formula.rb @@ -10,11 +10,13 @@ ensure end require "extend/string" +require "rubocops/shared/helper_functions" module RuboCop module Cop class FormulaCop < Cop include RangeHelp + include HelperFunctions attr_accessor :file_path @@ -32,28 +34,6 @@ module RuboCop audit_formula(node, class_node, parent_class_node, @body) end - # Checks for regex match of pattern in the node and - # sets the appropriate instance variables to report the match - def regex_match_group(node, pattern) - string_repr = string_content(node).encode("UTF-8", invalid: :replace) - match_object = string_repr.match(pattern) - return unless match_object - - node_begin_pos = start_column(node) - line_begin_pos = line_start_column(node) - @column = if node_begin_pos == line_begin_pos - node_begin_pos + match_object.begin(0) - line_begin_pos - else - node_begin_pos + match_object.begin(0) - line_begin_pos + 1 - end - @length = match_object.to_s.length - @line_no = line_number(node) - @source_buf = source_buffer(node) - @offense_source_range = source_range(@source_buf, @line_no, @column, @length) - @offensive_node = node - match_object - end - # Yields to block when there is a match. # @param urls [Array] url/mirror method call nodes # @param regex [Regexp] pattern to match urls @@ -442,26 +422,11 @@ module RuboCop end end - # Returns the begin position of the node's line in source code - def line_start_column(node) - node.source_range.source_buffer.line_range(node.loc.line).begin_pos - end - - # Returns the begin position of the node in source code - def start_column(node) - node.source_range.begin_pos - end - # Returns the ending position of the node in source code def end_column(node) node.source_range.end_pos end - # Returns the line number of the node - def line_number(node) - node.loc.line - end - # Returns the class node's name, nil if not a class node def class_name(node) @offensive_node = node @@ -484,35 +449,6 @@ module RuboCop block.loc.end.line - block.loc.begin.line end - # Source buffer is required as an argument to report style violations - def source_buffer(node) - node.source_range.source_buffer - end - - # Returns the string representation if node is of type str(plain) or dstr(interpolated) or const - def string_content(node) - case node.type - when :str - node.str_content - when :dstr - content = "" - node.each_child_node(:str, :begin) do |child| - content += if child.begin_type? - child.source - else - child.str_content - end - end - content - when :const - node.const_name - when :sym - node.children.first.to_s - else - "" - end - end - # Returns true if the formula is versioned def versioned_formula? @formula_name.include?("@") @@ -532,10 +468,6 @@ module RuboCop match_obj[1] end - def problem(msg) - add_offense(@offensive_node, location: @offense_source_range, message: msg) - end - private def formula_class?(node) diff --git a/Library/Homebrew/rubocops/formula_desc.rb b/Library/Homebrew/rubocops/formula_desc.rb index 3449ee43a8..57e5066e13 100644 --- a/Library/Homebrew/rubocops/formula_desc.rb +++ b/Library/Homebrew/rubocops/formula_desc.rb @@ -1,105 +1,24 @@ # frozen_string_literal: true require "rubocops/extend/formula" +require "rubocops/shared/desc_helper" require "extend/string" module RuboCop module Cop module FormulaAudit # This cop audits `desc` in Formulae. - # - # - Checks for existence of `desc` - # - Checks if size of `desc` > 80 - # - Checks for leading/trailing whitespace in `desc` - # - Checks if `desc` begins with an article - # - Checks for correct usage of `command-line` in `desc` - # - Checks description starts with a capital letter - # - Checks if `desc` contains the formula name - # - Checks if `desc` ends with a full stop (apart from in the case of "etc.") + # See the `DescHelper` module for details of the checks. class Desc < FormulaCop - VALID_LOWERCASE_WORDS = %w[ - macOS - ].freeze + include DescHelper def audit_formula(_node, _class_node, _parent_class_node, body_node) desc_call = find_node_method_by_name(body_node, :desc) - - # Check if a formula's desc is present - if desc_call.nil? - problem "Formula should have a desc (Description)." - return - end - - desc = parameters(desc_call).first - - # Check the formula's desc length. Should be >0 and <80 characters. - pure_desc_length = string_content(desc).length - if pure_desc_length.zero? - problem "The desc (description) should not be an empty string." - return - end - - # Check for leading whitespace. - problem "Description shouldn't have a leading space" if regex_match_group(desc, /^\s+/) - - # Check for trailing whitespace. - problem "Description shouldn't have a trailing space" if regex_match_group(desc, /\s+$/) - - # Check if command-line is wrongly used in formula's desc - if match = regex_match_group(desc, /(command ?line)/i) - c = match.to_s[0] - problem "Description should use \"#{c}ommand-line\" instead of \"#{match}\"" - end - - # Check if a/an are used in a formula's desc - if match = regex_match_group(desc, /^(an?)\s/i) - problem "Description shouldn't start with an indefinite article, i.e. \"#{match.to_s.strip}\"" - end - - # Check if invalid uppercase words are at the start of a - # formula's desc - if !VALID_LOWERCASE_WORDS.include?(string_content(desc).split.first) && - regex_match_group(desc, /^[a-z]/) - problem "Description should start with a capital letter" - end - - # Check if formula's desc starts with formula's name - if regex_match_group(desc, /^#{@formula_name} /i) - problem "Description shouldn't start with the formula name" - end - - # Check if a full stop is used at the end of a formula's desc (apart from in the case of "etc.") - if regex_match_group(desc, /\.$/) && !string_content(desc).end_with?("etc.") - problem "Description shouldn't end with a full stop" - end - - desc_length = "#{@formula_name}: #{string_content(desc)}".length - max_desc_length = 80 - return if desc_length <= max_desc_length - - problem "Description is too long. \"name: desc\" should be less than #{max_desc_length} characters. " \ - "Length is calculated as #{@formula_name} + desc. (currently #{desc_length})" + audit_desc(:formula, @formula_name, desc_call) end def autocorrect(node) - lambda do |corrector| - correction = node.source - first_word = string_content(node).split.first - unless VALID_LOWERCASE_WORDS.include?(first_word) - first_char = first_word.to_s[0] - correction.sub!(/^(['"]?)([a-z])/, "\\1#{first_char.upcase}") if first_char - end - correction.sub!(/^(['"]?)an?\s/i, "\\1") - correction.gsub!(/(ommand ?line)/i, "ommand-line") - correction.gsub!(/(^|[^a-z])#{@formula_name}([^a-z]|$)/i, "\\1\\2") - correction.gsub!(/^(['"]?)\s+/, "\\1") - correction.gsub!(/\s+(['"]?)$/, "\\1") - correction.gsub!(/\.(['"]?)$/, "\\1") - correction.gsub!(/^\s+/, "") - correction.gsub!(/\s+$/, "") - corrector.insert_before(node.source_range, correction) - corrector.remove(node.source_range) - end + autocorrect_desc(node, @formula_name) end end end diff --git a/Library/Homebrew/rubocops/homepage.rb b/Library/Homebrew/rubocops/homepage.rb index e8b8be8ada..0ea79d8e42 100644 --- a/Library/Homebrew/rubocops/homepage.rb +++ b/Library/Homebrew/rubocops/homepage.rb @@ -58,6 +58,14 @@ module RuboCop when %r{^http://([^/]*)\.(sf|sourceforge)\.net(/|$)} problem "#{homepage} should be `https://#{Regexp.last_match(1)}.sourceforge.io/`" + when /readthedocs\.org/ + offending_node(parameters(homepage_node).first) + problem "#{homepage} should be `#{homepage.sub("readthedocs.org", "readthedocs.io")}`" + + when %r{^https://github.com.*\.git} + offending_node(parameters(homepage_node).first) + problem "GitHub homepages (`#{homepage}`) should not end with .git" + # There's an auto-redirect here, but this mistake is incredibly common too. # Only applies to the homepage and subdomains for now, not the FTP URLs. when %r{^http://((?:build|cloud|developer|download|extensions|git| @@ -80,6 +88,17 @@ module RuboCop problem "Please use https:// for #{homepage}" end end + + def autocorrect(node) + lambda do |corrector| + return if node.nil? + + homepage = string_content(node) + homepage.sub!("readthedocs.org", "readthedocs.io") + homepage.delete_suffix!(".git") if homepage.start_with?("https://github.com") + corrector.replace(node.source_range, "\"#{homepage}\"") + end + end end end end diff --git a/Library/Homebrew/rubocops/lines.rb b/Library/Homebrew/rubocops/lines.rb index 552225fb5b..7996601dea 100644 --- a/Library/Homebrew/rubocops/lines.rb +++ b/Library/Homebrew/rubocops/lines.rb @@ -284,9 +284,7 @@ module RuboCop end end - find_instance_call(body_node, "ARGV") do |method_node| - next if [:debug?, :verbose?, :value].index(method_node.method_name) - + find_instance_call(body_node, "ARGV") do |_method_node| problem "Use build instead of ARGV to check options" end diff --git a/Library/Homebrew/rubocops/rubocop-cask.rb b/Library/Homebrew/rubocops/rubocop-cask.rb index 3af610ebef..646e483994 100644 --- a/Library/Homebrew/rubocops/rubocop-cask.rb +++ b/Library/Homebrew/rubocops/rubocop-cask.rb @@ -11,6 +11,7 @@ require "rubocops/cask/extend/string" require "rubocops/cask/extend/node" require "rubocops/cask/mixin/cask_help" require "rubocops/cask/mixin/on_homepage_stanza" +require "rubocops/cask/desc" require "rubocops/cask/homepage_matches_url" require "rubocops/cask/homepage_url_trailing_slash" require "rubocops/cask/no_dsl_version" diff --git a/Library/Homebrew/rubocops/shared/desc_helper.rb b/Library/Homebrew/rubocops/shared/desc_helper.rb new file mode 100644 index 0000000000..1ff7a80ad7 --- /dev/null +++ b/Library/Homebrew/rubocops/shared/desc_helper.rb @@ -0,0 +1,99 @@ +# frozen_string_literal: true + +require "rubocops/shared/helper_functions" + +module RuboCop + module Cop + # This module performs common checks the `desc` field in both Formulae and Casks. + module DescHelper + include HelperFunctions + + VALID_LOWERCASE_WORDS = %w[ + macOS + ].freeze + + def audit_desc(type, name, desc_call) + # Check if a desc is present. + if desc_call.nil? + problem "#{type.to_s.capitalize} should have a desc (Description)." + return + end + + desc = desc_call.first_argument + + # Check if the desc is empty. + pure_desc_length = string_content(desc).length + if pure_desc_length.zero? + problem "The desc (description) should not be an empty string." + return + end + + # Check the desc for leading whitespace. + problem "Description shouldn't have leading spaces." if regex_match_group(desc, /^\s+/) + + # Check the desc for trailing whitespace. + problem "Description shouldn't have trailing spaces." if regex_match_group(desc, /\s+$/) + + # Check if "command-line" is spelled incorrectly in the desc. + if match = regex_match_group(desc, /(command ?line)/i) + c = match.to_s[0] + problem "Description should use \"#{c}ommand-line\" instead of \"#{match}\"." + end + + # Check if the desc starts with "A" or "An". + if match = regex_match_group(desc, /^(an?)(?=\s)/i) + problem "Description shouldn't start with an indefinite article, i.e. \"#{match}\"." + end + + # Check if invalid lowercase words are at the start of a desc. + if !VALID_LOWERCASE_WORDS.include?(string_content(desc).split.first) && + regex_match_group(desc, /^[a-z]/) + problem "Description should start with a capital letter." + end + + # Check if the desc starts with the formula's or cask's name. + problem "Description shouldn't start with the #{type} name." if regex_match_group(desc, /^#{name} /i) + + # Check if a full stop is used at the end of a desc (apart from in the case of "etc."). + if regex_match_group(desc, /\.$/) && !string_content(desc).end_with?("etc.") + problem "Description shouldn't end with a full stop." + end + + # Check if the desc length exceeds 80 characters. + desc_length = "#{name}: #{string_content(desc)}".length + max_desc_length = 80 + return if desc_length <= max_desc_length + + problem "Description is too long. \"name: desc\" should be less than #{max_desc_length} characters. " \ + "The current combined length is #{desc_length}." + end + + def autocorrect_desc(node, name) + lambda do |corrector| + /\A(?["'])(?.*)(?:\k)\Z/ =~ node.source + + next if correction.nil? + + correction.gsub!(/^\s+/, "") + correction.gsub!(/\s+$/, "") + + correction.sub!(/^an?\s+/i, "") + + first_word = correction.split.first + unless VALID_LOWERCASE_WORDS.include?(first_word) + first_char = first_word.to_s[0] + correction[0] = first_char.upcase if first_char + end + + correction.gsub!(/(ommand ?line)/i, "ommand-line") + correction.gsub!(/(^|[^a-z])#{name}([^a-z]|$)/i, "\\1\\2") + correction.gsub!(/^\s+/, "") + correction.gsub!(/\s+$/, "") + correction.gsub!(/\.$/, "") + + corrector.replace(node.source_range, "#{quote}#{correction}#{quote}") + end + end + end + end +end diff --git a/Library/Homebrew/rubocops/shared/helper_functions.rb b/Library/Homebrew/rubocops/shared/helper_functions.rb new file mode 100644 index 0000000000..a5e893c6ae --- /dev/null +++ b/Library/Homebrew/rubocops/shared/helper_functions.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +module RuboCop + module Cop + module HelperFunctions + include RangeHelp + + # Checks for regex match of pattern in the node and + # sets the appropriate instance variables to report the match + def regex_match_group(node, pattern) + string_repr = string_content(node).encode("UTF-8", invalid: :replace) + match_object = string_repr.match(pattern) + return unless match_object + + node_begin_pos = start_column(node) + line_begin_pos = line_start_column(node) + @column = if node_begin_pos == line_begin_pos + node_begin_pos + match_object.begin(0) - line_begin_pos + else + node_begin_pos + match_object.begin(0) - line_begin_pos + 1 + end + @length = match_object.to_s.length + @line_no = line_number(node) + @source_buf = source_buffer(node) + @offense_source_range = source_range(@source_buf, @line_no, @column, @length) + @offensive_node = node + match_object + end + + # Returns the begin position of the node's line in source code + def line_start_column(node) + node.source_range.source_buffer.line_range(node.loc.line).begin_pos + end + + # Returns the begin position of the node in source code + def start_column(node) + node.source_range.begin_pos + end + + # Returns the line number of the node + def line_number(node) + node.loc.line + end + + # Source buffer is required as an argument to report style violations + def source_buffer(node) + node.source_range.source_buffer + end + + # Returns the string representation if node is of type str(plain) or dstr(interpolated) or const + def string_content(node) + case node.type + when :str + node.str_content + when :dstr + content = "" + node.each_child_node(:str, :begin) do |child| + content += if child.begin_type? + child.source + else + child.str_content + end + end + content + when :const + node.const_name + when :sym + node.children.first.to_s + else + "" + end + end + + def problem(msg) + add_offense(@offensive_node, location: @offense_source_range, message: msg) + end + end + end +end diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index 170b4e5d8f..91ff124c09 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -240,7 +240,7 @@ class HeadSoftwareSpec < SoftwareSpec end def verify_download_integrity(_fn) - nil + # no-op end end diff --git a/Library/Homebrew/sorbet/files.yaml b/Library/Homebrew/sorbet/files.yaml index fcaf0f6018..297977885f 100644 --- a/Library/Homebrew/sorbet/files.yaml +++ b/Library/Homebrew/sorbet/files.yaml @@ -1,6 +1,5 @@ false: - ./bintray.rb - - ./bottle_publisher.rb - ./brew.rb - ./build.rb - ./cask/artifact/abstract_artifact.rb @@ -268,7 +267,6 @@ false: - ./test.rb - ./test/ENV_spec.rb - ./test/bintray_spec.rb - - ./test/bottle_publisher_spec.rb - ./test/cask_dependent_spec.rb - ./test/cask/artifact/alt_target_spec.rb - ./test/cask/artifact/app_spec.rb @@ -902,7 +900,7 @@ true: - ./version/null.rb strict: - - ./cask/all.rb + - ./cask.rb - ./cask/artifact.rb - ./cask/dsl/uninstall_postflight.rb - ./compat.rb diff --git a/Library/Homebrew/sorbet/rbi/gems/activesupport@6.0.3.2.rbi b/Library/Homebrew/sorbet/rbi/gems/activesupport@6.0.3.2.rbi index 47ac6bc2cf..7ef5c1e222 100644 --- a/Library/Homebrew/sorbet/rbi/gems/activesupport@6.0.3.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/activesupport@6.0.3.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `activesupport` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: false diff --git a/Library/Homebrew/sorbet/rbi/gems/ast@2.4.1.rbi b/Library/Homebrew/sorbet/rbi/gems/ast@2.4.1.rbi index bdfeff7155..682e2cc912 100644 --- a/Library/Homebrew/sorbet/rbi/gems/ast@2.4.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/ast@2.4.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ast` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -7,7 +8,7 @@ module AST end class AST::Node - def initialize(type, children = _, properties = _); end + def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end def +(array); end def <<(element); end @@ -19,14 +20,14 @@ class AST::Node def dup; end def eql?(other); end def hash; end - def inspect(indent = _); end + def inspect(indent = T.unsafe(nil)); end def to_a; end def to_ast; end - def to_s(indent = _); end - def to_sexp(indent = _); end + def to_s(indent = T.unsafe(nil)); end + def to_sexp(indent = T.unsafe(nil)); end def to_sexp_array; end def type; end - def updated(type = _, children = _, properties = _); end + def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end protected diff --git a/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.8.rbi b/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.8.rbi index ec2a9f3d63..8f744f595c 100644 --- a/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.8.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/bindata@2.4.8.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `bindata` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -11,10 +12,12 @@ module BinData private def trace_message; end - def trace_reading(io = _); end + def trace_reading(io = T.unsafe(nil)); end - def self.trace_message; end - def self.trace_reading(io = _); end + class << self + def trace_message; end + def trace_reading(io = T.unsafe(nil)); end + end end module BinData::AcceptedParametersPlugin @@ -29,10 +32,10 @@ module BinData::AcceptedParametersPlugin end class BinData::AcceptedParametersPlugin::AcceptedParameters - def initialize(ancestor_parameters = _); end + def initialize(ancestor_parameters = T.unsafe(nil)); end def all; end - def default(args = _); end + def default(args = T.unsafe(nil)); end def mandatory(*args); end def mutually_exclusive(*args); end def optional(*args); end @@ -42,7 +45,9 @@ class BinData::AcceptedParametersPlugin::AcceptedParameters def ensure_valid_names(names); end def to_syms(args); end - def self.invalid_parameter_names; end + class << self + def invalid_parameter_names; end + end end class BinData::Array < ::BinData::Base @@ -50,7 +55,7 @@ class BinData::Array < ::BinData::Base extend(::BinData::DSLMixin) def <<(*args); end - def [](arg1, arg2 = _); end + def [](arg1, arg2 = T.unsafe(nil)); end def []=(index, value); end def assign(array); end def at(index); end @@ -63,17 +68,17 @@ class BinData::Array < ::BinData::Base def empty?; end def find_index(obj); end def find_index_of(obj); end - def first(n = _); end + def first(n = T.unsafe(nil)); end def index(obj); end def initialize_instance; end def initialize_shared_instance; end def insert(index, *objs); end - def last(n = _); end + def last(n = T.unsafe(nil)); end def length; end def offset_of(child); end def push(*args); end def size; end - def slice(arg1, arg2 = _); end + def slice(arg1, arg2 = T.unsafe(nil)); end def snapshot; end def to_ary; end def unshift(*args); end @@ -108,20 +113,20 @@ class BinData::Base def base_respond_to?(*_); end def clear; end def debug_name; end - def eval_parameter(key, overrides = _); end + def eval_parameter(key, overrides = T.unsafe(nil)); end def get_parameter(key); end def has_parameter?(key); end def initialize_instance(*args); end def initialize_with_warning(*args); end def inspect; end def lazy_evaluator; end - def new(value = _, parent = _); end + def new(value = T.unsafe(nil), parent = T.unsafe(nil)); end def num_bytes; end def parent; end def pretty_print(pp); end def read(io, &block); end def rel_offset; end - def safe_respond_to?(symbol, include_private = _); end + def safe_respond_to?(symbol, include_private = T.unsafe(nil)); end def to_binary_s(&block); end def to_hex(&block); end def to_s; end @@ -142,11 +147,18 @@ class BinData::Base def top_level_get(sym); end def top_level_set(sym, value); end - def self.arg_processor(name = _); end - def self.auto_call_delayed_io; end - def self.bindata_name; end - def self.inherited(subclass); end - def self.read(io, *args, &block); end + class << self + def arg_processor(name = T.unsafe(nil)); end + def auto_call_delayed_io; end + def bindata_name; end + def inherited(subclass); end + def read(io, *args, &block); end + + private + + def register_subclasses; end + def unregister_self; end + end end module BinData::Base::AutoCallDelayedIO @@ -175,7 +187,7 @@ class BinData::BasePrimitive < ::BinData::Base def initialize_instance; end def initialize_shared_instance; end def method_missing(symbol, *args, &block); end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end def snapshot; end def trace_value; end def value; end @@ -188,10 +200,12 @@ class BinData::BasePrimitive < ::BinData::Base def sensible_default; end def value_to_binary_string(val); end - def self.bit_aligned; end - def self.inherited(subclass); end - def self.turn_off_tracing; end - def self.turn_on_tracing; end + class << self + def bit_aligned; end + def inherited(subclass); end + def turn_off_tracing; end + def turn_on_tracing; end + end end module BinData::BasePrimitive::AssertPlugin @@ -243,16 +257,18 @@ class BinData::BitAligned::BitAlignedIO end module BinData::BitField - def self.create_clamp_code(nbits, signed); end - def self.create_do_num_bytes_code(nbits); end - def self.create_dynamic_clamp_code(signed); end - def self.create_fixed_clamp_code(nbits, signed); end - def self.create_int2uint_code(nbits, signed); end - def self.create_nbits_code(nbits); end - def self.create_params_code(nbits); end - def self.create_uint2int_code(nbits, signed); end - def self.define_class(name, nbits, endian, signed = _); end - def self.define_methods(bit_class, nbits, endian, signed); end + class << self + def create_clamp_code(nbits, signed); end + def create_do_num_bytes_code(nbits); end + def create_dynamic_clamp_code(signed); end + def create_fixed_clamp_code(nbits, signed); end + def create_int2uint_code(nbits, signed); end + def create_nbits_code(nbits); end + def create_params_code(nbits); end + def create_uint2int_code(nbits, signed); end + def define_class(name, nbits, endian, signed = T.unsafe(nil)); end + def define_methods(bit_class, nbits, endian, signed); end + end end module BinData::BitFieldFactory @@ -282,7 +298,7 @@ class BinData::Buffer < ::BinData::Base def initialize_instance; end def method_missing(symbol, *args, &block); end def raw_num_bytes; end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end def snapshot; end end @@ -312,7 +328,7 @@ class BinData::Choice < ::BinData::Base def initialize_instance; end def initialize_shared_instance; end def method_missing(symbol, *args, &block); end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end def selection; end def snapshot(*args); end def trace_selection; end @@ -322,8 +338,10 @@ class BinData::Choice < ::BinData::Base def current_choice; end def instantiate_choice(selection); end - def self.turn_off_tracing; end - def self.turn_on_tracing; end + class << self + def turn_off_tracing; end + def turn_on_tracing; end + end end class BinData::ChoiceArgProcessor < ::BinData::BaseArgProcessor @@ -353,21 +371,23 @@ class BinData::CountBytesRemaining < ::BinData::BasePrimitive end module BinData::DSLMixin - def dsl_parser(parser_type = _); end + def dsl_parser(parser_type = T.unsafe(nil)); end def method_missing(symbol, *args, &block); end def to_ary; end def to_str; end end class BinData::DSLMixin::DSLBigAndLittleEndianHandler - def self.class_with_endian(class_name, endian); end - def self.create_subclasses_with_endian(bnl_class); end - def self.delegate_field_creation(bnl_class); end - def self.fixup_subclass_hierarchy(bnl_class); end - def self.handle(bnl_class); end - def self.make_class_abstract(bnl_class); end - def self.obj_attribute(obj, attr); end - def self.override_new_in_class(bnl_class); end + class << self + def class_with_endian(class_name, endian); end + def create_subclasses_with_endian(bnl_class); end + def delegate_field_creation(bnl_class); end + def fixup_subclass_hierarchy(bnl_class); end + def handle(bnl_class); end + def make_class_abstract(bnl_class); end + def obj_attribute(obj, attr); end + def override_new_in_class(bnl_class); end + end end class BinData::DSLMixin::DSLFieldParser @@ -402,7 +422,7 @@ class BinData::DSLMixin::DSLParser def initialize(the_class, parser_type); end def dsl_params; end - def endian(endian = _); end + def endian(endian = T.unsafe(nil)); end def fields; end def hide(*args); end def method_missing(*args, &block); end @@ -417,7 +437,7 @@ class BinData::DSLMixin::DSLParser def fields?; end def hints; end def option?(opt); end - def parent_attribute(attr, default = _); end + def parent_attribute(attr, default = T.unsafe(nil)); end def parent_fields; end def parse_and_append_field(*args, &block); end def parser_abilities; end @@ -443,7 +463,7 @@ class BinData::DelayedIO < ::BinData::Base def num_bytes; end def read_now!; end def rel_offset; end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end def snapshot; end def write_now!; end end @@ -495,10 +515,12 @@ class BinData::FloatLe < ::BinData::BasePrimitive end module BinData::FloatingPoint - def self.create_num_bytes_code(precision); end - def self.create_read_code(precision, endian); end - def self.create_to_binary_s_code(precision, endian); end - def self.define_methods(float_class, precision, endian); end + class << self + def create_num_bytes_code(precision); end + def create_read_code(precision, endian); end + def create_to_binary_s_code(precision, endian); end + def define_methods(float_class, precision, endian); end + end end module BinData::Framework @@ -519,7 +541,9 @@ module BinData::Framework end module BinData::IO - def self.create_string_io(str = _); end + class << self + def create_string_io(str = T.unsafe(nil)); end + end end module BinData::IO::Common @@ -579,7 +603,7 @@ class BinData::IO::Read def accumulate_big_endian_bits; end def accumulate_little_endian_bits; end def mask(nbits); end - def read(n = _); end + def read(n = T.unsafe(nil)); end def read_big_endian_bits(nbits); end def read_little_endian_bits(nbits); end end @@ -611,8 +635,25 @@ module BinData::InitialLengthPlugin end module BinData::Int - def self.define_class(name, nbits, endian, signed); end - def self.define_methods(int_class, nbits, endian, signed); end + class << self + def define_class(name, nbits, endian, signed); end + def define_methods(int_class, nbits, endian, signed); end + + private + + def bits_per_word(nbits); end + def create_clamp_code(nbits, signed); end + def create_int2uint_code(nbits); end + def create_raw_read_code(nbits, endian, signed); end + def create_read_assemble_code(nbits, endian, signed); end + def create_read_code(nbits, endian, signed); end + def create_read_unpack_code(nbits, endian, signed); end + def create_to_binary_s_code(nbits, endian, signed); end + def create_uint2int_code(nbits); end + def need_signed_conversion_code?(nbits, signed); end + def pack_directive(nbits, endian, signed); end + def val_as_packed_words(nbits, endian, signed); end + end end class BinData::Int32be < ::BinData::BasePrimitive @@ -678,7 +719,7 @@ class BinData::LazyEvaluator def initialize(obj); end def index; end - def lazy_eval(val, overrides = _); end + def lazy_eval(val, overrides = T.unsafe(nil)); end def method_missing(symbol, *args); end def parent; end @@ -705,7 +746,7 @@ class BinData::Primitive < ::BinData::BasePrimitive def do_write(io); end def initialize_instance; end def method_missing(symbol, *args, &block); end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end private @@ -714,7 +755,9 @@ class BinData::Primitive < ::BinData::BasePrimitive def sensible_default; end def set(v); end - def self.bit_aligned; end + class << self + def bit_aligned; end + end end class BinData::PrimitiveArgProcessor < ::BinData::BaseArgProcessor @@ -732,7 +775,9 @@ end class BinData::Record < ::BinData::Struct extend(::BinData::DSLMixin) - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end class BinData::RecordArgProcessor < ::BinData::StructArgProcessor @@ -744,7 +789,9 @@ end module BinData::RegisterNamePlugin def initialize_shared_instance; end - def self.included(base); end + class << self + def included(base); end + end end BinData::RegisteredClasses = T.let(T.unsafe(nil), BinData::Registry) @@ -752,7 +799,7 @@ BinData::RegisteredClasses = T.let(T.unsafe(nil), BinData::Registry) class BinData::Registry def initialize; end - def lookup(name, hints = _); end + def lookup(name, hints = T.unsafe(nil)); end def register(name, class_to_register); end def underscore_name(name); end def unregister(name); end @@ -799,7 +846,7 @@ class BinData::SanitizedField < ::BinData::SanitizedParameter def initialize(name, field_type, field_params, hints); end def has_parameter?(param); end - def instantiate(value = _, parent = _); end + def instantiate(value = T.unsafe(nil), parent = T.unsafe(nil)); end def name; end def name_as_sym; end def prototype; end @@ -808,7 +855,7 @@ end class BinData::SanitizedFields < ::BinData::SanitizedParameter include(::Enumerable) - def initialize(hints, base_fields = _); end + def initialize(hints, base_fields = T.unsafe(nil)); end def [](idx); end def add_field(type, name, params); end @@ -859,7 +906,9 @@ class BinData::SanitizedParameters < ::Hash def needs_sanitizing?(key); end def sanitize!; end - def self.sanitize(parameters, the_class); end + class << self + def sanitize(parameters, the_class); end + end end BinData::SanitizedParameters::BIG_ENDIAN = T.let(T.unsafe(nil), BinData::SanitizedBigEndian) @@ -870,7 +919,7 @@ class BinData::SanitizedPrototype < ::BinData::SanitizedParameter def initialize(obj_type, obj_params, hints); end def has_parameter?(param); end - def instantiate(value = _, parent = _); end + def instantiate(value = T.unsafe(nil), parent = T.unsafe(nil)); end end class BinData::Sbit < ::BinData::BasePrimitive @@ -956,7 +1005,7 @@ class BinData::Stringz < ::BinData::BasePrimitive def read_and_return_value(io); end def sensible_default; end def trim_and_zero_terminate(str); end - def trim_to!(str, max_length = _); end + def trim_to!(str, max_length = T.unsafe(nil)); end def truncate_after_first_zero_byte!(str); end def value_to_binary_string(val); end end @@ -972,7 +1021,7 @@ class BinData::Struct < ::BinData::Base def do_read(io); end def do_write(io); end def each_pair; end - def field_names(include_hidden = _); end + def field_names(include_hidden = T.unsafe(nil)); end def has_key?(key); end def initialize_instance; end def initialize_shared_instance; end @@ -995,7 +1044,9 @@ class BinData::Struct < ::BinData::Base def sum_num_bytes_below_index(index); end def sum_num_bytes_for_all_fields; end - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end BinData::Struct::RESERVED = T.let(T.unsafe(nil), Hash) @@ -1003,7 +1054,7 @@ BinData::Struct::RESERVED = T.let(T.unsafe(nil), Hash) class BinData::Struct::Snapshot < ::Hash def []=(key, value); end def method_missing(symbol, *args); end - def respond_to?(symbol, include_private = _); end + def respond_to?(symbol, include_private = T.unsafe(nil)); end end class BinData::StructArgProcessor < ::BinData::BaseArgProcessor diff --git a/Library/Homebrew/sorbet/rbi/gems/byebug@11.1.3.rbi b/Library/Homebrew/sorbet/rbi/gems/byebug@11.1.3.rbi index f0a3c279f3..76f1693fdc 100644 --- a/Library/Homebrew/sorbet/rbi/gems/byebug@11.1.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/byebug@11.1.3.rbi @@ -1,15 +1,18 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `byebug` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Byebug - def self.attach; end - def self.spawn(host = _, port = _); end + class << self + def attach; end + def spawn(host = T.unsafe(nil), port = T.unsafe(nil)); end + end end module Kernel def byebug; end def debugger; end - def remote_byebug(host = _, port = _); end + def remote_byebug(host = T.unsafe(nil), port = T.unsafe(nil)); end end diff --git a/Library/Homebrew/sorbet/rbi/gems/codecov@0.2.3.rbi b/Library/Homebrew/sorbet/rbi/gems/codecov@0.2.5.rbi similarity index 58% rename from Library/Homebrew/sorbet/rbi/gems/codecov@0.2.3.rbi rename to Library/Homebrew/sorbet/rbi/gems/codecov@0.2.5.rbi index 5ace243e13..e33729f223 100644 --- a/Library/Homebrew/sorbet/rbi/gems/codecov@0.2.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/codecov@0.2.5.rbi @@ -1,6 +1,6 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `codecov` gem. -# Please instead update this file by running `tapioca sync --exclude json`. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/coderay@1.1.3.rbi b/Library/Homebrew/sorbet/rbi/gems/coderay@1.1.3.rbi index 27b1fb4bc6..e4f321bd91 100644 --- a/Library/Homebrew/sorbet/rbi/gems/coderay@1.1.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/coderay@1.1.3.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `coderay` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/colorize@0.8.1.rbi b/Library/Homebrew/sorbet/rbi/gems/colorize@0.8.1.rbi index 198c6b42fc..9bc5e047e1 100644 --- a/Library/Homebrew/sorbet/rbi/gems/colorize@0.8.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/colorize@0.8.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `colorize` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/commander@4.5.2.rbi b/Library/Homebrew/sorbet/rbi/gems/commander@4.5.2.rbi index bfbd3dd171..c5c7b6135a 100644 --- a/Library/Homebrew/sorbet/rbi/gems/commander@4.5.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/commander@4.5.2.rbi @@ -1,6 +1,6 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `commander` gem. -# Please instead update this file by running `tapioca sync --exclude json`. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi b/Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi index abba436190..179aa4844a 100644 --- a/Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.1.6.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `concurrent-ruby` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -23,40 +24,42 @@ module Concurrent def leave_transaction; end def monotonic_time; end - def self.abort_transaction; end - def self.atomically; end - def self.call_dataflow(method, executor, *inputs, &block); end - def self.create_simple_logger(level = _, output = _); end - def self.create_stdlib_logger(level = _, output = _); end - def self.dataflow(*inputs, &block); end - def self.dataflow!(*inputs, &block); end - def self.dataflow_with(executor, *inputs, &block); end - def self.dataflow_with!(executor, *inputs, &block); end - def self.disable_at_exit_handlers!; end - def self.executor(executor_identifier); end - def self.global_fast_executor; end - def self.global_immediate_executor; end - def self.global_io_executor; end - def self.global_logger; end - def self.global_logger=(value); end - def self.global_timer_set; end - def self.leave_transaction; end - def self.monotonic_time; end - def self.new_fast_executor(opts = _); end - def self.new_io_executor(opts = _); end - def self.physical_processor_count; end - def self.processor_count; end - def self.processor_counter; end - def self.use_simple_logger(level = _, output = _); end - def self.use_stdlib_logger(level = _, output = _); end + class << self + def abort_transaction; end + def atomically; end + def call_dataflow(method, executor, *inputs, &block); end + def create_simple_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end + def create_stdlib_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end + def dataflow(*inputs, &block); end + def dataflow!(*inputs, &block); end + def dataflow_with(executor, *inputs, &block); end + def dataflow_with!(executor, *inputs, &block); end + def disable_at_exit_handlers!; end + def executor(executor_identifier); end + def global_fast_executor; end + def global_immediate_executor; end + def global_io_executor; end + def global_logger; end + def global_logger=(value); end + def global_timer_set; end + def leave_transaction; end + def monotonic_time; end + def new_fast_executor(opts = T.unsafe(nil)); end + def new_io_executor(opts = T.unsafe(nil)); end + def physical_processor_count; end + def processor_count; end + def processor_counter; end + def use_simple_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end + def use_stdlib_logger(level = T.unsafe(nil), output = T.unsafe(nil)); end + end end class Concurrent::AbstractExchanger < ::Concurrent::Synchronization::Object def initialize; end - def exchange(value, timeout = _); end - def exchange!(value, timeout = _); end - def try_exchange(value, timeout = _); end + def exchange(value, timeout = T.unsafe(nil)); end + def exchange!(value, timeout = T.unsafe(nil)); end + def try_exchange(value, timeout = T.unsafe(nil)); end private @@ -69,7 +72,7 @@ class Concurrent::AbstractExecutorService < ::Concurrent::Synchronization::Locka include(::Concurrent::ExecutorService) include(::Concurrent::Concern::Deprecation) - def initialize(opts = _, &block); end + def initialize(opts = T.unsafe(nil), &block); end def auto_terminate=(value); end def auto_terminate?; end @@ -81,7 +84,7 @@ class Concurrent::AbstractExecutorService < ::Concurrent::Synchronization::Locka def shutdown?; end def shuttingdown?; end def to_s; end - def wait_for_termination(timeout = _); end + def wait_for_termination(timeout = T.unsafe(nil)); end private @@ -95,7 +98,7 @@ end Concurrent::AbstractExecutorService::FALLBACK_POLICIES = T.let(T.unsafe(nil), Array) class Concurrent::AbstractThreadLocalVar - def initialize(default = _, &default_block); end + def initialize(default = T.unsafe(nil), &default_block); end def bind(value, &block); end def value; end @@ -110,7 +113,7 @@ end class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject include(::Concurrent::Concern::Observable) - def initialize(initial, opts = _); end + def initialize(initial, opts = T.unsafe(nil)); end def <<(action); end def await; end @@ -122,7 +125,7 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject def failed?; end def post(*args, &action); end def reason; end - def restart(new_value, opts = _); end + def restart(new_value, opts = T.unsafe(nil)); end def send(*args, &action); end def send!(*args, &action); end def send_off(*args, &action); end @@ -131,7 +134,7 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject def send_via!(executor, *args, &action); end def stopped?; end def value; end - def wait(timeout = _); end + def wait(timeout = T.unsafe(nil)); end private @@ -139,23 +142,25 @@ class Concurrent::Agent < ::Concurrent::Synchronization::LockableObject def enqueue_await_job(latch); end def execute_next_job; end def handle_error(error); end - def ns_enqueue_job(job, index = _); end + def ns_enqueue_job(job, index = T.unsafe(nil)); end def ns_find_last_job_for_thread; end def ns_initialize(initial, opts); end def ns_post_next_job; end def ns_validate(value); end - def self.await(*agents); end - def self.await_for(timeout, *agents); end - def self.await_for!(timeout, *agents); end + class << self + def await(*agents); end + def await_for(timeout, *agents); end + def await_for!(timeout, *agents); end + end end class Concurrent::Agent::Error < ::StandardError - def initialize(message = _); end + def initialize(message = T.unsafe(nil)); end end class Concurrent::Agent::ValidationError < ::Concurrent::Agent::Error - def initialize(message = _); end + def initialize(message = T.unsafe(nil)); end end class Concurrent::Array < ::Array @@ -168,14 +173,16 @@ module Concurrent::Async def cast; end def init_synchronization; end - def self.included(base); end - def self.validate_argc(obj, method, *args); end + class << self + def included(base); end + def validate_argc(obj, method, *args); end + end end class Concurrent::Atom < ::Concurrent::Synchronization::Object include(::Concurrent::Concern::Observable) - def initialize(value, opts = _); end + def initialize(value, opts = T.unsafe(nil)); end def __initialize_atomic_fields__; end def compare_and_set(old_value, new_value); end @@ -192,7 +199,9 @@ class Concurrent::Atom < ::Concurrent::Synchronization::Object def valid?(new_value); end def value=(value); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::AtomicBoolean < ::Concurrent::MutexAtomicBoolean @@ -212,7 +221,7 @@ class Concurrent::AtomicFixnum < ::Concurrent::MutexAtomicFixnum end class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Object - def initialize(value = _, mark = _); end + def initialize(value = T.unsafe(nil), mark = T.unsafe(nil)); end def __initialize_atomic_fields__; end def compare_and_set(expected_val, new_val, expected_mark, new_mark); end @@ -235,7 +244,9 @@ class Concurrent::AtomicMarkableReference < ::Concurrent::Synchronization::Objec def swap_reference(value); end def update_reference(&block); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end module Concurrent::AtomicNumericCompareAndSetWrapper @@ -248,7 +259,7 @@ class Concurrent::AtomicReference < ::Concurrent::MutexAtomicReference end class Concurrent::CachedThreadPool < ::Concurrent::ThreadPoolExecutor - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end private @@ -265,7 +276,7 @@ end class Concurrent::Collection::CopyOnNotifyObserverSet < ::Concurrent::Synchronization::LockableObject def initialize; end - def add_observer(observer = _, func = _, &block); end + def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end def count_observers; end def delete_observer(observer); end def delete_observers; end @@ -286,7 +297,7 @@ end class Concurrent::Collection::CopyOnWriteObserverSet < ::Concurrent::Synchronization::LockableObject def initialize; end - def add_observer(observer = _, func = _, &block); end + def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end def count_observers; end def delete_observer(observer); end def delete_observers; end @@ -308,7 +319,7 @@ end Concurrent::Collection::MapImplementation = Concurrent::Collection::MriMapBackend class Concurrent::Collection::MriMapBackend < ::Concurrent::Collection::NonConcurrentMapBackend - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def []=(key, value); end def clear; end @@ -324,7 +335,7 @@ class Concurrent::Collection::MriMapBackend < ::Concurrent::Collection::NonConcu end class Concurrent::Collection::NonConcurrentMapBackend - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def [](key); end def []=(key, value); end @@ -363,7 +374,7 @@ class Concurrent::Collection::NonConcurrentPriorityQueue < ::Concurrent::Collect end class Concurrent::Collection::RubyNonConcurrentPriorityQueue - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end def <<(item); end def clear; end @@ -387,7 +398,9 @@ class Concurrent::Collection::RubyNonConcurrentPriorityQueue def swap(x, y); end def swim(k); end - def self.from_list(list, opts = _); end + class << self + def from_list(list, opts = T.unsafe(nil)); end + end end module Concurrent::Concern @@ -400,7 +413,7 @@ module Concurrent::Concern::Deprecation extend(::Concurrent::Concern::Logging) extend(::Concurrent::Concern::Deprecation) - def deprecated(message, strip = _); end + def deprecated(message, strip = T.unsafe(nil)); end def deprecated_method(old_name, new_name); end end @@ -412,14 +425,14 @@ module Concurrent::Concern::Dereferenceable def apply_deref_options(value); end def ns_set_deref_options(opts); end - def set_deref_options(opts = _); end + def set_deref_options(opts = T.unsafe(nil)); end def value=(value); end end module Concurrent::Concern::Logging include(::Logger::Severity) - def log(level, progname, message = _, &block); end + def log(level, progname, message = T.unsafe(nil), &block); end end module Concurrent::Concern::Obligation @@ -429,23 +442,23 @@ module Concurrent::Concern::Obligation def exception(*args); end def fulfilled?; end def incomplete?; end - def no_error!(timeout = _); end + def no_error!(timeout = T.unsafe(nil)); end def pending?; end def realized?; end def reason; end def rejected?; end def state; end def unscheduled?; end - def value(timeout = _); end - def value!(timeout = _); end - def wait(timeout = _); end - def wait!(timeout = _); end + def value(timeout = T.unsafe(nil)); end + def value!(timeout = T.unsafe(nil)); end + def wait(timeout = T.unsafe(nil)); end + def wait!(timeout = T.unsafe(nil)); end protected def compare_and_set_state(next_state, *expected_current); end def event; end - def get_arguments_from(opts = _); end + def get_arguments_from(opts = T.unsafe(nil)); end def if_state(*expected_states); end def init_obligation; end def ns_check_state?(expected); end @@ -455,11 +468,11 @@ module Concurrent::Concern::Obligation end module Concurrent::Concern::Observable - def add_observer(observer = _, func = _, &block); end + def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end def count_observers; end def delete_observer(observer); end def delete_observers; end - def with_observer(observer = _, func = _, &block); end + def with_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end protected @@ -485,11 +498,11 @@ class Concurrent::CyclicBarrier < ::Concurrent::Synchronization::LockableObject def number_waiting; end def parties; end def reset; end - def wait(timeout = _); end + def wait(timeout = T.unsafe(nil)); end protected - def ns_generation_done(generation, status, continue = _); end + def ns_generation_done(generation, status, continue = T.unsafe(nil)); end def ns_initialize(parties, &block); end def ns_next_generation; end end @@ -498,12 +511,12 @@ class Concurrent::Delay < ::Concurrent::Synchronization::LockableObject include(::Concurrent::Concern::Dereferenceable) include(::Concurrent::Concern::Obligation) - def initialize(opts = _, &block); end + def initialize(opts = T.unsafe(nil), &block); end def reconfigure(&block); end - def value(timeout = _); end - def value!(timeout = _); end - def wait(timeout = _); end + def value(timeout = T.unsafe(nil)); end + def value!(timeout = T.unsafe(nil)); end + def wait(timeout = T.unsafe(nil)); end protected @@ -530,7 +543,7 @@ class Concurrent::Event < ::Concurrent::Synchronization::LockableObject def set; end def set?; end def try?; end - def wait(timeout = _); end + def wait(timeout = T.unsafe(nil)); end protected @@ -552,23 +565,25 @@ module Concurrent::ExecutorService end class Concurrent::FixedThreadPool < ::Concurrent::ThreadPoolExecutor - def initialize(num_threads, opts = _); end + def initialize(num_threads, opts = T.unsafe(nil)); end end class Concurrent::Future < ::Concurrent::IVar - def initialize(opts = _, &block); end + def initialize(opts = T.unsafe(nil), &block); end def cancel; end def cancelled?; end def execute; end - def set(value = _, &block); end + def set(value = T.unsafe(nil), &block); end def wait_or_cancel(timeout); end protected def ns_initialize(value, opts); end - def self.execute(opts = _, &block); end + class << self + def execute(opts = T.unsafe(nil), &block); end + end end class Concurrent::Hash < ::Hash @@ -579,12 +594,12 @@ class Concurrent::IVar < ::Concurrent::Synchronization::LockableObject include(::Concurrent::Concern::Obligation) include(::Concurrent::Concern::Observable) - def initialize(value = _, opts = _, &block); end + def initialize(value = T.unsafe(nil), opts = T.unsafe(nil), &block); end - def add_observer(observer = _, func = _, &block); end - def fail(reason = _); end - def set(value = _); end - def try_set(value = _, &block); end + def add_observer(observer = T.unsafe(nil), func = T.unsafe(nil), &block); end + def fail(reason = T.unsafe(nil)); end + def set(value = T.unsafe(nil)); end + def try_set(value = T.unsafe(nil), &block); end protected @@ -594,7 +609,7 @@ class Concurrent::IVar < ::Concurrent::Synchronization::LockableObject def notify_observers(value, reason); end def ns_complete_without_notification(success, value, reason); end def ns_initialize(value, opts); end - def safe_execute(task, args = _); end + def safe_execute(task, args = T.unsafe(nil)); end end class Concurrent::IllegalOperationError < ::Concurrent::Error @@ -612,7 +627,7 @@ class Concurrent::ImmediateExecutor < ::Concurrent::AbstractExecutorService def shutdown; end def shutdown?; end def shuttingdown?; end - def wait_for_termination(timeout = _); end + def wait_for_termination(timeout = T.unsafe(nil)); end end class Concurrent::ImmutabilityError < ::Concurrent::Error @@ -638,8 +653,10 @@ module Concurrent::ImmutableStruct def initialize_copy(original); end - def self.included(base); end - def self.new(*args, &block); end + class << self + def included(base); end + def new(*args, &block); end + end end class Concurrent::IndirectImmediateExecutor < ::Concurrent::ImmediateExecutor @@ -657,7 +674,7 @@ end class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object include(::Enumerable) - def initialize(head = _); end + def initialize(head = T.unsafe(nil)); end def __initialize_atomic_fields__; end def clear; end @@ -666,8 +683,8 @@ class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object def compare_and_clear(head); end def compare_and_pop(head); end def compare_and_push(head, value); end - def each(head = _); end - def empty?(head = _); end + def each(head = T.unsafe(nil)); end + def empty?(head = T.unsafe(nil)); end def inspect; end def peek; end def pop; end @@ -683,9 +700,11 @@ class Concurrent::LockFreeStack < ::Concurrent::Synchronization::Object def swap_head(value); end def update_head(&block); end - def self.new(*args, &block); end - def self.of1(value); end - def self.of2(value1, value2); end + class << self + def new(*args, &block); end + def of1(value); end + def of2(value1, value2); end + end end Concurrent::LockFreeStack::EMPTY = T.let(T.unsafe(nil), Concurrent::LockFreeStack::Node) @@ -697,22 +716,24 @@ class Concurrent::LockFreeStack::Node def value; end def value=(_); end - def self.[](*_); end + class << self + def [](*_); end + end end class Concurrent::MVar < ::Concurrent::Synchronization::Object include(::Concurrent::Concern::Dereferenceable) - def initialize(value = _, opts = _); end + def initialize(value = T.unsafe(nil), opts = T.unsafe(nil)); end - def borrow(timeout = _); end + def borrow(timeout = T.unsafe(nil)); end def empty?; end def full?; end - def modify(timeout = _); end + def modify(timeout = T.unsafe(nil)); end def modify!; end - def put(value, timeout = _); end + def put(value, timeout = T.unsafe(nil)); end def set!(value); end - def take(timeout = _); end + def take(timeout = T.unsafe(nil)); end def try_put!(value); end def try_take!; end @@ -728,7 +749,9 @@ class Concurrent::MVar < ::Concurrent::Synchronization::Object def wait_for_full(timeout); end def wait_while(condition, timeout); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end Concurrent::MVar::EMPTY = T.let(T.unsafe(nil), Object) @@ -736,7 +759,7 @@ Concurrent::MVar::EMPTY = T.let(T.unsafe(nil), Object) Concurrent::MVar::TIMEOUT = T.let(T.unsafe(nil), Object) class Concurrent::Map < ::Concurrent::Collection::MriMapBackend - def initialize(options = _, &block); end + def initialize(options = T.unsafe(nil), &block); end def [](key); end def each; end @@ -744,8 +767,8 @@ class Concurrent::Map < ::Concurrent::Collection::MriMapBackend def each_pair; end def each_value; end def empty?; end - def fetch(key, default_value = _); end - def fetch_or_store(key, default_value = _); end + def fetch(key, default_value = T.unsafe(nil)); end + def fetch_or_store(key, default_value = T.unsafe(nil)); end def get(key); end def inspect; end def key(value); end @@ -784,22 +807,28 @@ class Concurrent::Maybe < ::Concurrent::Synchronization::Object def rejected?; end def value; end - def self.from(*args); end - def self.just(value); end - def self.nothing(error = _); end + class << self + def from(*args); end + def just(value); end + def nothing(error = T.unsafe(nil)); end + + private + + def new(*args, &block); end + end end Concurrent::Maybe::NONE = T.let(T.unsafe(nil), Object) class Concurrent::MultipleAssignmentError < ::Concurrent::Error - def initialize(message = _, inspection_data = _); end + def initialize(message = T.unsafe(nil), inspection_data = T.unsafe(nil)); end def inspect; end def inspection_data; end end class Concurrent::MultipleErrors < ::Concurrent::Error - def initialize(errors, message = _); end + def initialize(errors, message = T.unsafe(nil)); end def errors; end end @@ -825,11 +854,13 @@ module Concurrent::MutableStruct def initialize_copy(original); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::MutexAtomicBoolean < ::Concurrent::Synchronization::LockableObject - def initialize(initial = _); end + def initialize(initial = T.unsafe(nil)); end def false?; end def make_false; end @@ -848,13 +879,13 @@ class Concurrent::MutexAtomicBoolean < ::Concurrent::Synchronization::LockableOb end class Concurrent::MutexAtomicFixnum < ::Concurrent::Synchronization::LockableObject - def initialize(initial = _); end + def initialize(initial = T.unsafe(nil)); end def compare_and_set(expect, update); end - def decrement(delta = _); end - def down(delta = _); end - def increment(delta = _); end - def up(delta = _); end + def decrement(delta = T.unsafe(nil)); end + def down(delta = T.unsafe(nil)); end + def increment(delta = T.unsafe(nil)); end + def up(delta = T.unsafe(nil)); end def update; end def value; end def value=(value); end @@ -872,7 +903,7 @@ class Concurrent::MutexAtomicReference < ::Concurrent::Synchronization::Lockable include(::Concurrent::AtomicDirectUpdate) include(::Concurrent::AtomicNumericCompareAndSetWrapper) - def initialize(value = _); end + def initialize(value = T.unsafe(nil)); end def _compare_and_set(old_value, new_value); end def compare_and_swap(old_value, new_value); end @@ -889,11 +920,11 @@ class Concurrent::MutexAtomicReference < ::Concurrent::Synchronization::Lockable end class Concurrent::MutexCountDownLatch < ::Concurrent::Synchronization::LockableObject - def initialize(count = _); end + def initialize(count = T.unsafe(nil)); end def count; end def count_down; end - def wait(timeout = _); end + def wait(timeout = T.unsafe(nil)); end protected @@ -903,12 +934,12 @@ end class Concurrent::MutexSemaphore < ::Concurrent::Synchronization::LockableObject def initialize(count); end - def acquire(permits = _); end + def acquire(permits = T.unsafe(nil)); end def available_permits; end def drain_permits; end def reduce_permits(reduction); end - def release(permits = _); end - def try_acquire(permits = _, timeout = _); end + def release(permits = T.unsafe(nil)); end + def try_acquire(permits = T.unsafe(nil), timeout = T.unsafe(nil)); end protected @@ -925,21 +956,23 @@ Concurrent::NULL = T.let(T.unsafe(nil), Object) Concurrent::NULL_LOGGER = T.let(T.unsafe(nil), Proc) module Concurrent::Options - def self.executor(executor_identifier); end - def self.executor_from_options(opts = _); end + class << self + def executor(executor_identifier); end + def executor_from_options(opts = T.unsafe(nil)); end + end end class Concurrent::Promise < ::Concurrent::IVar - def initialize(opts = _, &block); end + def initialize(opts = T.unsafe(nil), &block); end def catch(&block); end def execute; end - def fail(reason = _); end + def fail(reason = T.unsafe(nil)); end def flat_map(&block); end def on_error(&block); end def on_success(&block); end def rescue(&block); end - def set(value = _, &block); end + def set(value = T.unsafe(nil), &block); end def then(*args, &block); end def zip(*others); end @@ -956,13 +989,15 @@ class Concurrent::Promise < ::Concurrent::IVar def set_state!(success, value, reason); end def synchronized_set_state!(success, value, reason); end - def self.aggregate(method, *promises); end - def self.all?(*promises); end - def self.any?(*promises); end - def self.execute(opts = _, &block); end - def self.fulfill(value, opts = _); end - def self.reject(reason, opts = _); end - def self.zip(*promises); end + class << self + def aggregate(method, *promises); end + def all?(*promises); end + def any?(*promises); end + def execute(opts = T.unsafe(nil), &block); end + def fulfill(value, opts = T.unsafe(nil)); end + def reject(reason, opts = T.unsafe(nil)); end + def zip(*promises); end + end end class Concurrent::PromiseExecutionError < ::StandardError @@ -992,14 +1027,14 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization: def on_resolution_using(executor, *args, &callback); end def pending?; end def promise; end - def resolve_with(state, raise_on_reassign = _, reserved = _); end + def resolve_with(state, raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end def resolved?; end def state; end def tangle(resolvable); end def to_s; end def touch; end def touched?; end - def wait(timeout = _); end + def wait(timeout = T.unsafe(nil)); end def waiting_threads; end def with_default_executor(executor); end def with_hidden_resolvable; end @@ -1019,7 +1054,9 @@ class Concurrent::Promises::AbstractEventFuture < ::Concurrent::Synchronization: def wait_until_resolved(timeout); end def with_async(executor, *args, &block); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::Promises::Event < ::Concurrent::Promises::AbstractEventFuture @@ -1055,17 +1092,17 @@ module Concurrent::Promises::FactoryMethods def any_resolved_future_on(default_executor, *futures_and_or_events); end def delay(*args, &task); end def delay_on(default_executor, *args, &task); end - def fulfilled_future(value, default_executor = _); end + def fulfilled_future(value, default_executor = T.unsafe(nil)); end def future(*args, &task); end def future_on(default_executor, *args, &task); end - def make_future(argument = _, default_executor = _); end - def rejected_future(reason, default_executor = _); end + def make_future(argument = T.unsafe(nil), default_executor = T.unsafe(nil)); end + def rejected_future(reason, default_executor = T.unsafe(nil)); end def resolvable_event; end - def resolvable_event_on(default_executor = _); end + def resolvable_event_on(default_executor = T.unsafe(nil)); end def resolvable_future; end - def resolvable_future_on(default_executor = _); end - def resolved_event(default_executor = _); end - def resolved_future(fulfilled, value, reason, default_executor = _); end + def resolvable_future_on(default_executor = T.unsafe(nil)); end + def resolved_event(default_executor = T.unsafe(nil)); end + def resolved_future(fulfilled, value, reason, default_executor = T.unsafe(nil)); end def schedule(intended_time, *args, &task); end def schedule_on(default_executor, intended_time, *args, &task); end def zip(*futures_and_or_events); end @@ -1085,9 +1122,9 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture def apply(args, block); end def delay; end def exception(*args); end - def flat(level = _); end + def flat(level = T.unsafe(nil)); end def flat_event; end - def flat_future(level = _); end + def flat_future(level = T.unsafe(nil)); end def fulfilled?; end def inspect; end def on_fulfillment(*args, &callback); end @@ -1096,21 +1133,21 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture def on_rejection(*args, &callback); end def on_rejection!(*args, &callback); end def on_rejection_using(executor, *args, &callback); end - def reason(timeout = _, timeout_value = _); end + def reason(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end def rejected?; end def rescue(*args, &task); end def rescue_on(executor, *args, &task); end - def result(timeout = _); end - def run(run_test = _); end + def result(timeout = T.unsafe(nil)); end + def run(run_test = T.unsafe(nil)); end def schedule(intended_time); end def then(*args, &task); end def then_on(executor, *args, &task); end def to_event; end def to_future; end def to_s; end - def value(timeout = _, timeout_value = _); end - def value!(timeout = _, timeout_value = _); end - def wait!(timeout = _); end + def value(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end + def value!(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil)); end + def wait!(timeout = T.unsafe(nil)); end def with_default_executor(executor); end def zip(other); end def |(event_or_future); end @@ -1124,7 +1161,7 @@ class Concurrent::Promises::Future < ::Concurrent::Promises::AbstractEventFuture def callback_on_resolution(state, args, callback); end def rejected_resolution(raise_on_reassign, state); end def run_test(v); end - def wait_until_resolved!(timeout = _); end + def wait_until_resolved!(timeout = T.unsafe(nil)); end end module Concurrent::Promises::Resolvable @@ -1133,8 +1170,8 @@ end class Concurrent::Promises::ResolvableEvent < ::Concurrent::Promises::Event include(::Concurrent::Promises::Resolvable) - def resolve(raise_on_reassign = _, reserved = _); end - def wait(timeout = _, resolve_on_timeout = _); end + def resolve(raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end + def wait(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end def with_hidden_resolvable; end end @@ -1143,15 +1180,15 @@ class Concurrent::Promises::ResolvableFuture < ::Concurrent::Promises::Future def evaluate_to(*args, &block); end def evaluate_to!(*args, &block); end - def fulfill(value, raise_on_reassign = _, reserved = _); end - def reason(timeout = _, timeout_value = _, resolve_on_timeout = _); end - def reject(reason, raise_on_reassign = _, reserved = _); end - def resolve(fulfilled = _, value = _, reason = _, raise_on_reassign = _, reserved = _); end - def result(timeout = _, resolve_on_timeout = _); end - def value(timeout = _, timeout_value = _, resolve_on_timeout = _); end - def value!(timeout = _, timeout_value = _, resolve_on_timeout = _); end - def wait(timeout = _, resolve_on_timeout = _); end - def wait!(timeout = _, resolve_on_timeout = _); end + def fulfill(value, raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end + def reason(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end + def reject(reason, raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end + def resolve(fulfilled = T.unsafe(nil), value = T.unsafe(nil), reason = T.unsafe(nil), raise_on_reassign = T.unsafe(nil), reserved = T.unsafe(nil)); end + def result(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end + def value(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end + def value!(timeout = T.unsafe(nil), timeout_value = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end + def wait(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end + def wait!(timeout = T.unsafe(nil), resolve_on_timeout = T.unsafe(nil)); end def with_hidden_resolvable; end end @@ -1175,15 +1212,17 @@ class Concurrent::ReadWriteLock < ::Concurrent::Synchronization::Object private - def max_readers?(c = _); end - def max_writers?(c = _); end - def running_readers(c = _); end - def running_readers?(c = _); end - def running_writer?(c = _); end - def waiting_writer?(c = _); end - def waiting_writers(c = _); end + def max_readers?(c = T.unsafe(nil)); end + def max_writers?(c = T.unsafe(nil)); end + def running_readers(c = T.unsafe(nil)); end + def running_readers?(c = T.unsafe(nil)); end + def running_writer?(c = T.unsafe(nil)); end + def waiting_writer?(c = T.unsafe(nil)); end + def waiting_writers(c = T.unsafe(nil)); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end Concurrent::ReadWriteLock::MAX_READERS = T.let(T.unsafe(nil), Integer) @@ -1208,15 +1247,17 @@ class Concurrent::ReentrantReadWriteLock < ::Concurrent::Synchronization::Object private - def max_readers?(c = _); end - def max_writers?(c = _); end - def running_readers(c = _); end - def running_readers?(c = _); end - def running_writer?(c = _); end - def waiting_or_running_writer?(c = _); end - def waiting_writers(c = _); end + def max_readers?(c = T.unsafe(nil)); end + def max_writers?(c = T.unsafe(nil)); end + def running_readers(c = T.unsafe(nil)); end + def running_readers?(c = T.unsafe(nil)); end + def running_writer?(c = T.unsafe(nil)); end + def waiting_or_running_writer?(c = T.unsafe(nil)); end + def waiting_writers(c = T.unsafe(nil)); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end Concurrent::ReentrantReadWriteLock::MAX_READERS = T.let(T.unsafe(nil), Integer) @@ -1257,7 +1298,9 @@ class Concurrent::RubyExchanger < ::Concurrent::AbstractExchanger def do_exchange(value, timeout); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::RubyExecutorService < ::Concurrent::AbstractExecutorService @@ -1266,7 +1309,7 @@ class Concurrent::RubyExecutorService < ::Concurrent::AbstractExecutorService def kill; end def post(*args, &task); end def shutdown; end - def wait_for_termination(timeout = _); end + def wait_for_termination(timeout = T.unsafe(nil)); end private @@ -1279,7 +1322,7 @@ class Concurrent::RubyExecutorService < ::Concurrent::AbstractExecutorService end class Concurrent::RubySingleThreadExecutor < ::Concurrent::RubyThreadPoolExecutor - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end end class Concurrent::RubyThreadLocalVar < ::Concurrent::AbstractThreadLocalVar @@ -1293,16 +1336,18 @@ class Concurrent::RubyThreadLocalVar < ::Concurrent::AbstractThreadLocalVar private def get_default; end - def get_threadlocal_array(thread = _); end - def set_threadlocal_array(array, thread = _); end + def get_threadlocal_array(thread = T.unsafe(nil)); end + def set_threadlocal_array(array, thread = T.unsafe(nil)); end def value_for(thread); end - def self.thread_finalizer(id); end - def self.thread_local_finalizer(index); end + class << self + def thread_finalizer(id); end + def thread_local_finalizer(index); end + end end class Concurrent::RubyThreadPoolExecutor < ::Concurrent::RubyExecutorService - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end def can_overflow?; end def completed_task_count; end @@ -1331,7 +1376,7 @@ class Concurrent::RubyThreadPoolExecutor < ::Concurrent::RubyExecutorService def ns_kill_execution; end def ns_limited_queue?; end def ns_prune_pool; end - def ns_ready_worker(worker, success = _); end + def ns_ready_worker(worker, success = T.unsafe(nil)); end def ns_remove_busy_worker(worker); end def ns_reset_if_forked; end def ns_shutdown_execution; end @@ -1348,7 +1393,7 @@ Concurrent::RubyThreadPoolExecutor::DEFAULT_MIN_POOL_SIZE = T.let(T.unsafe(nil), Concurrent::RubyThreadPoolExecutor::DEFAULT_THREAD_IDLETIMEOUT = T.let(T.unsafe(nil), Integer) class Concurrent::SafeTaskExecutor < ::Concurrent::Synchronization::LockableObject - def initialize(task, opts = _); end + def initialize(task, opts = T.unsafe(nil)); end def execute(*args); end end @@ -1356,7 +1401,7 @@ end class Concurrent::ScheduledTask < ::Concurrent::IVar include(::Comparable) - def initialize(delay, opts = _, &task); end + def initialize(delay, opts = T.unsafe(nil), &task); end def <=>(other); end def cancel; end @@ -1375,7 +1420,9 @@ class Concurrent::ScheduledTask < ::Concurrent::IVar def ns_reschedule(delay); end def ns_schedule(delay); end - def self.execute(delay, opts = _, &task); end + class << self + def execute(delay, opts = T.unsafe(nil), &task); end + end end class Concurrent::Semaphore < ::Concurrent::MutexSemaphore @@ -1414,10 +1461,12 @@ class Concurrent::SerializedExecution::Job < ::Struct def executor; end def executor=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class Concurrent::SerializedExecutionDelegator < ::SimpleDelegator @@ -1455,7 +1504,9 @@ module Concurrent::SettableStruct def initialize_copy(original); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::SimpleExecutorService < ::Concurrent::RubyExecutorService @@ -1466,14 +1517,16 @@ class Concurrent::SimpleExecutorService < ::Concurrent::RubyExecutorService def shutdown; end def shutdown?; end def shuttingdown?; end - def wait_for_termination(timeout = _); end + def wait_for_termination(timeout = T.unsafe(nil)); end private def ns_initialize(*args); end - def self.<<(task); end - def self.post(*args); end + class << self + def <<(task); end + def post(*args); end + end end class Concurrent::SingleThreadExecutor < ::Concurrent::RubySingleThreadExecutor @@ -1488,8 +1541,8 @@ class Concurrent::Synchronization::AbstractLockableObject < ::Concurrent::Synchr def ns_broadcast; end def ns_signal; end - def ns_wait(timeout = _); end - def ns_wait_until(timeout = _, &condition); end + def ns_wait(timeout = T.unsafe(nil)); end + def ns_wait_until(timeout = T.unsafe(nil), &condition); end def synchronize; end end @@ -1498,7 +1551,9 @@ class Concurrent::Synchronization::AbstractObject def full_memory_barrier; end - def self.attr_volatile(*names); end + class << self + def attr_volatile(*names); end + end end module Concurrent::Synchronization::AbstractStruct @@ -1523,7 +1578,9 @@ module Concurrent::Synchronization::AbstractStruct def ns_values_at(indexes); end def pr_underscore(clazz); end - def self.define_struct_class(parent, base, name, members, &block); end + class << self + def define_struct_class(parent, base, name, members, &block); end + end end class Concurrent::Synchronization::Condition < ::Concurrent::Synchronization::LockableObject @@ -1532,13 +1589,15 @@ class Concurrent::Synchronization::Condition < ::Concurrent::Synchronization::Lo def broadcast; end def ns_broadcast; end def ns_signal; end - def ns_wait(timeout = _); end - def ns_wait_until(timeout = _, &condition); end + def ns_wait(timeout = T.unsafe(nil)); end + def ns_wait_until(timeout = T.unsafe(nil), &condition); end def signal; end - def wait(timeout = _); end - def wait_until(timeout = _, &condition); end + def wait(timeout = T.unsafe(nil)); end + def wait_until(timeout = T.unsafe(nil), &condition); end - def self.private_new(*args, &block); end + class << self + def private_new(*args, &block); end + end end module Concurrent::Synchronization::ConditionSignalling @@ -1552,8 +1611,8 @@ end class Concurrent::Synchronization::Lock < ::Concurrent::Synchronization::LockableObject def broadcast; end def signal; end - def wait(timeout = _); end - def wait_until(timeout = _, &condition); end + def wait(timeout = T.unsafe(nil)); end + def wait_until(timeout = T.unsafe(nil), &condition); end end class Concurrent::Synchronization::LockableObject < ::Concurrent::Synchronization::MutexLockableObject @@ -1568,10 +1627,12 @@ class Concurrent::Synchronization::MonitorLockableObject < ::Concurrent::Synchro protected - def ns_wait(timeout = _); end + def ns_wait(timeout = T.unsafe(nil)); end def synchronize; end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end module Concurrent::Synchronization::MriAttrVolatile @@ -1579,7 +1640,9 @@ module Concurrent::Synchronization::MriAttrVolatile def full_memory_barrier; end - def self.included(base); end + class << self + def included(base); end + end end module Concurrent::Synchronization::MriAttrVolatile::ClassMethods @@ -1601,10 +1664,12 @@ class Concurrent::Synchronization::MutexLockableObject < ::Concurrent::Synchroni protected - def ns_wait(timeout = _); end + def ns_wait(timeout = T.unsafe(nil)); end def synchronize; end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::Synchronization::Object < ::Concurrent::Synchronization::MriObject @@ -1615,12 +1680,18 @@ class Concurrent::Synchronization::Object < ::Concurrent::Synchronization::MriOb def __initialize_atomic_fields__; end - def self.atomic_attribute?(name); end - def self.atomic_attributes(inherited = _); end - def self.attr_atomic(*names); end - def self.ensure_safe_initialization_when_final_fields_are_present; end - def self.safe_initialization!; end - def self.safe_initialization?; end + class << self + def atomic_attribute?(name); end + def atomic_attributes(inherited = T.unsafe(nil)); end + def attr_atomic(*names); end + def ensure_safe_initialization_when_final_fields_are_present; end + def safe_initialization!; end + def safe_initialization?; end + + private + + def define_initialize_atomic_fields; end + end end module Concurrent::Synchronization::RbxAttrVolatile @@ -1628,7 +1699,9 @@ module Concurrent::Synchronization::RbxAttrVolatile def full_memory_barrier; end - def self.included(base); end + class << self + def included(base); end + end end module Concurrent::Synchronization::RbxAttrVolatile::ClassMethods @@ -1643,10 +1716,12 @@ class Concurrent::Synchronization::RbxLockableObject < ::Concurrent::Synchroniza def ns_broadcast; end def ns_signal; end - def ns_wait(timeout = _); end + def ns_wait(timeout = T.unsafe(nil)); end def synchronize(&block); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::Synchronization::RbxObject < ::Concurrent::Synchronization::AbstractObject @@ -1661,7 +1736,9 @@ module Concurrent::Synchronization::TruffleRubyAttrVolatile def full_memory_barrier; end - def self.included(base); end + class << self + def included(base); end + end end module Concurrent::Synchronization::TruffleRubyAttrVolatile::ClassMethods @@ -1696,7 +1773,9 @@ class Concurrent::TVar < ::Concurrent::Synchronization::Object def value; end def value=(value); end - def self.new(*args, &block); end + class << self + def new(*args, &block); end + end end class Concurrent::ThreadLocalVar < ::Concurrent::RubyThreadLocalVar @@ -1721,7 +1800,7 @@ class Concurrent::TimeoutError < ::Concurrent::Error end class Concurrent::TimerSet < ::Concurrent::RubyExecutorService - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end def kill; end def post(delay, *args, &task); end @@ -1741,7 +1820,7 @@ class Concurrent::TimerTask < ::Concurrent::RubyExecutorService include(::Concurrent::Concern::Dereferenceable) include(::Concurrent::Concern::Observable) - def initialize(opts = _, &task); end + def initialize(opts = T.unsafe(nil), &task); end def execute; end def execution_interval; end @@ -1756,10 +1835,12 @@ class Concurrent::TimerTask < ::Concurrent::RubyExecutorService def ns_initialize(opts, &task); end def ns_kill_execution; end def ns_shutdown_execution; end - def schedule_next_task(interval = _); end + def schedule_next_task(interval = T.unsafe(nil)); end def timeout_task(completion); end - def self.execute(opts = _, &task); end + class << self + def execute(opts = T.unsafe(nil), &task); end + end end Concurrent::TimerTask::EXECUTION_INTERVAL = T.let(T.unsafe(nil), Integer) @@ -1776,8 +1857,10 @@ class Concurrent::Transaction def valid?; end def write(tvar, value); end - def self.current; end - def self.current=(transaction); end + class << self + def current; end + def current=(transaction); end + end end Concurrent::Transaction::ABORTED = T.let(T.unsafe(nil), Object) @@ -1794,10 +1877,12 @@ class Concurrent::Transaction::ReadLogEntry < ::Struct def version; end def version=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class Concurrent::Tuple @@ -1828,7 +1913,7 @@ module Concurrent::Utility::EngineDetector def on_truffleruby?; end def on_windows?; end def ruby_engine; end - def ruby_version(version = _, comparison, major, minor, patch); end + def ruby_version(version = T.unsafe(nil), comparison, major, minor, patch); end end module Concurrent::Utility::NativeExtensionLoader diff --git a/Library/Homebrew/sorbet/rbi/gems/connection_pool@2.2.3.rbi b/Library/Homebrew/sorbet/rbi/gems/connection_pool@2.2.3.rbi index 8403f393d9..1a7227c0a1 100644 --- a/Library/Homebrew/sorbet/rbi/gems/connection_pool@2.2.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/connection_pool@2.2.3.rbi @@ -1,19 +1,22 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `connection_pool` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true class ConnectionPool - def initialize(options = _, &block); end + def initialize(options = T.unsafe(nil), &block); end def available; end def checkin; end - def checkout(options = _); end + def checkout(options = T.unsafe(nil)); end def shutdown(&block); end def size; end - def with(options = _); end + def with(options = T.unsafe(nil)); end - def self.wrap(options, &block); end + class << self + def wrap(options, &block); end + end end ConnectionPool::DEFAULTS = T.let(T.unsafe(nil), Hash) @@ -25,24 +28,24 @@ class ConnectionPool::PoolShuttingDownError < ::ConnectionPool::Error end class ConnectionPool::TimedStack - def initialize(size = _, &block); end + def initialize(size = T.unsafe(nil), &block); end - def <<(obj, options = _); end + def <<(obj, options = T.unsafe(nil)); end def empty?; end def length; end def max; end - def pop(timeout = _, options = _); end - def push(obj, options = _); end + def pop(timeout = T.unsafe(nil), options = T.unsafe(nil)); end + def push(obj, options = T.unsafe(nil)); end def shutdown(&block); end private - def connection_stored?(options = _); end + def connection_stored?(options = T.unsafe(nil)); end def current_time; end - def fetch_connection(options = _); end - def shutdown_connections(options = _); end - def store_connection(obj, options = _); end - def try_create(options = _); end + def fetch_connection(options = T.unsafe(nil)); end + def shutdown_connections(options = T.unsafe(nil)); end + def store_connection(obj, options = T.unsafe(nil)); end + def try_create(options = T.unsafe(nil)); end end class ConnectionPool::TimeoutError < ::Timeout::Error @@ -51,7 +54,7 @@ end ConnectionPool::VERSION = T.let(T.unsafe(nil), String) class ConnectionPool::Wrapper < ::BasicObject - def initialize(options = _, &block); end + def initialize(options = T.unsafe(nil), &block); end def method_missing(name, *args, &block); end def pool_available; end diff --git a/Library/Homebrew/sorbet/rbi/gems/diff-lcs@1.4.4.rbi b/Library/Homebrew/sorbet/rbi/gems/diff-lcs@1.4.4.rbi index 198c6b42fc..a20cddbe1d 100644 --- a/Library/Homebrew/sorbet/rbi/gems/diff-lcs@1.4.4.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/diff-lcs@1.4.4.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `diff-lcs` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/docile@1.3.2.rbi b/Library/Homebrew/sorbet/rbi/gems/docile@1.3.2.rbi index 27b1fb4bc6..7c362d5bda 100644 --- a/Library/Homebrew/sorbet/rbi/gems/docile@1.3.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/docile@1.3.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `docile` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/domain_name@0.5.20190701.rbi b/Library/Homebrew/sorbet/rbi/gems/domain_name@0.5.20190701.rbi index 038b65157b..37d499cd1b 100644 --- a/Library/Homebrew/sorbet/rbi/gems/domain_name@0.5.20190701.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/domain_name@0.5.20190701.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `domain_name` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -14,7 +15,7 @@ class DomainName def >=(other); end def canonical?; end def canonical_tld?; end - def cookie_domain?(domain, host_only = _); end + def cookie_domain?(domain, host_only = T.unsafe(nil)); end def domain; end def domain_idn; end def hostname; end @@ -30,8 +31,10 @@ class DomainName def to_str; end def uri_host; end - def self.etld_data; end - def self.normalize(domain); end + class << self + def etld_data; end + def normalize(domain); end + end end DomainName::DOT = T.let(T.unsafe(nil), String) @@ -41,10 +44,12 @@ DomainName::ETLD_DATA = T.let(T.unsafe(nil), Hash) DomainName::ETLD_DATA_DATE = T.let(T.unsafe(nil), String) module DomainName::Punycode - def self.decode(string); end - def self.decode_hostname(hostname); end - def self.encode(string); end - def self.encode_hostname(hostname); end + class << self + def decode(string); end + def decode_hostname(hostname); end + def encode(string); end + def encode_hostname(hostname); end + end end class DomainName::Punycode::ArgumentError < ::ArgumentError diff --git a/Library/Homebrew/sorbet/rbi/gems/elftools@1.1.2.rbi b/Library/Homebrew/sorbet/rbi/gems/elftools@1.1.2.rbi index 5f2e51557d..3d20f08cba 100644 --- a/Library/Homebrew/sorbet/rbi/gems/elftools@1.1.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/elftools@1.1.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `elftools` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -184,7 +185,9 @@ ELFTools::Constants::DT::DT_VERNEEDNUM = T.let(T.unsafe(nil), Integer) ELFTools::Constants::ELFMAG = T.let(T.unsafe(nil), String) module ELFTools::Constants::EM - def self.mapping(val); end + class << self + def mapping(val); end + end end ELFTools::Constants::EM::EM_386 = T.let(T.unsafe(nil), Integer) @@ -270,7 +273,9 @@ ELFTools::Constants::EM::EM_TI_C6000 = T.let(T.unsafe(nil), Integer) ELFTools::Constants::EM::EM_X86_64 = T.let(T.unsafe(nil), Integer) module ELFTools::Constants::ET - def self.mapping(type); end + class << self + def mapping(type); end + end end ELFTools::Constants::ET::ET_CORE = T.let(T.unsafe(nil), Integer) @@ -452,7 +457,7 @@ class ELFTools::ELFFile def machine; end def num_sections; end def num_segments; end - def offset_from_vma(vma, size = _); end + def offset_from_vma(vma, size = T.unsafe(nil)); end def patches; end def save(filename); end def section_at(n); end @@ -554,7 +559,7 @@ class ELFTools::Sections::RelocationSection < ::ELFTools::Sections::Section end class ELFTools::Sections::Section - def initialize(header, stream, offset_from_vma: _, strtab: _, **_kwargs); end + def initialize(header, stream, offset_from_vma: T.unsafe(nil), strtab: T.unsafe(nil), **_kwargs); end def data; end def header; end @@ -563,7 +568,9 @@ class ELFTools::Sections::Section def stream; end def type; end - def self.create(header, stream, *args, **kwargs); end + class << self + def create(header, stream, *args, **kwargs); end + end end class ELFTools::Sections::StrTabSection < ::ELFTools::Sections::Section @@ -571,7 +578,7 @@ class ELFTools::Sections::StrTabSection < ::ELFTools::Sections::Section end class ELFTools::Sections::SymTabSection < ::ELFTools::Sections::Section - def initialize(header, stream, section_at: _, **_kwargs); end + def initialize(header, stream, section_at: T.unsafe(nil), **_kwargs); end def each_symbols(&block); end def num_symbols; end @@ -586,7 +593,7 @@ class ELFTools::Sections::SymTabSection < ::ELFTools::Sections::Section end class ELFTools::Sections::Symbol - def initialize(header, stream, symstr: _); end + def initialize(header, stream, symstr: T.unsafe(nil)); end def header; end def name; end @@ -612,10 +619,10 @@ class ELFTools::Segments::LoadSegment < ::ELFTools::Segments::Segment def mem_head; end def mem_size; end def mem_tail; end - def offset_in?(offset, size = _); end + def offset_in?(offset, size = T.unsafe(nil)); end def offset_to_vma(offset); end def size; end - def vma_in?(vma, size = _); end + def vma_in?(vma, size = T.unsafe(nil)); end def vma_to_offset(vma); end end @@ -627,7 +634,7 @@ class ELFTools::Segments::NoteSegment < ::ELFTools::Segments::Segment end class ELFTools::Segments::Segment - def initialize(header, stream, offset_from_vma: _); end + def initialize(header, stream, offset_from_vma: T.unsafe(nil)); end def data; end def executable?; end @@ -637,30 +644,40 @@ class ELFTools::Segments::Segment def type; end def writable?; end - def self.create(header, stream, *args, **kwargs); end + class << self + def create(header, stream, *args, **kwargs); end + end end module ELFTools::Structs end class ELFTools::Structs::ELF32_Phdr < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF32_sym < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF64_Phdr < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF64_sym < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELFStruct < ::BinData::Record @@ -670,44 +687,58 @@ class ELFTools::Structs::ELFStruct < ::BinData::Record def offset=(_); end def patches; end - def self.inherited(subclass); end - def self.new(*args); end - def self.pack(val, bytes); end - def self.self_endian; end + class << self + def inherited(subclass); end + def new(*args); end + def pack(val, bytes); end + def self_endian; end + end end ELFTools::Structs::ELFStruct::CHOICE_SIZE_T = T.let(T.unsafe(nil), Hash) class ELFTools::Structs::ELF_Dyn < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF_Ehdr < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF_Nhdr < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end ELFTools::Structs::ELF_Phdr = T.let(T.unsafe(nil), Hash) class ELFTools::Structs::ELF_Rel < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF_Rela < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end class ELFTools::Structs::ELF_Shdr < ::ELFTools::Structs::ELFStruct - def self.inherited(subclass); end - def self.new(*args); end + class << self + def inherited(subclass); end + def new(*args); end + end end ELFTools::Structs::ELF_sym = T.let(T.unsafe(nil), Hash) diff --git a/Library/Homebrew/sorbet/rbi/gems/highline@2.0.3.rbi b/Library/Homebrew/sorbet/rbi/gems/highline@2.0.3.rbi index b6c0872fc5..c36660a836 100644 --- a/Library/Homebrew/sorbet/rbi/gems/highline@2.0.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/highline@2.0.3.rbi @@ -1,6 +1,6 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `highline` gem. -# Please instead update this file by running `tapioca sync --exclude json`. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/hpricot@0.8.6.rbi b/Library/Homebrew/sorbet/rbi/gems/hpricot@0.8.6.rbi index 27b1fb4bc6..362cb7e593 100644 --- a/Library/Homebrew/sorbet/rbi/gems/hpricot@0.8.6.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/hpricot@0.8.6.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `hpricot` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/http-cookie@1.0.3.rbi b/Library/Homebrew/sorbet/rbi/gems/http-cookie@1.0.3.rbi index 8f325c0eae..f1026915d8 100644 --- a/Library/Homebrew/sorbet/rbi/gems/http-cookie@1.0.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/http-cookie@1.0.3.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `http-cookie` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -29,7 +30,7 @@ class HTTP::Cookie def dot_domain; end def encode_with(coder); end def expire!; end - def expired?(time = _); end + def expired?(time = T.unsafe(nil)); end def expires; end def expires=(t); end def expires_at; end @@ -63,9 +64,11 @@ class HTTP::Cookie def value=(value); end def yaml_initialize(tag, map); end - def self.cookie_value(cookies); end - def self.cookie_value_to_hash(cookie_value); end - def self.path_match?(base_path, target_path); end + class << self + def cookie_value(cookies); end + def cookie_value_to_hash(cookie_value); end + def path_match?(base_path, target_path); end + end end HTTP::Cookie::MAX_COOKIES_PER_DOMAIN = T.let(T.unsafe(nil), Integer) @@ -77,22 +80,24 @@ HTTP::Cookie::MAX_LENGTH = T.let(T.unsafe(nil), Integer) HTTP::Cookie::PERSISTENT_PROPERTIES = T.let(T.unsafe(nil), Array) class HTTP::Cookie::Scanner < ::StringScanner - def initialize(string, logger = _); end + def initialize(string, logger = T.unsafe(nil)); end def parse_cookie_date(s); end def scan_cookie; end def scan_dquoted; end def scan_name; end - def scan_name_value(comma_as_separator = _); end + def scan_name_value(comma_as_separator = T.unsafe(nil)); end def scan_set_cookie; end - def scan_value(comma_as_separator = _); end + def scan_value(comma_as_separator = T.unsafe(nil)); end def skip_wsp; end private def tuple_to_time(day_of_month, month, year, time); end - def self.quote(s); end + class << self + def quote(s); end + end end HTTP::Cookie::Scanner::RE_BAD_CHAR = T.let(T.unsafe(nil), Regexp) @@ -112,17 +117,17 @@ class HTTP::CookieJar include(::Mechanize::CookieJarIMethods) include(::Enumerable) - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def <<(cookie); end - def cleanup(session = _); end + def cleanup(session = T.unsafe(nil)); end def clear; end - def cookies(url = _); end + def cookies(url = T.unsafe(nil)); end def delete(cookie); end - def each(uri = _, &block); end - def empty?(url = _); end + def each(uri = T.unsafe(nil), &block); end + def empty?(url = T.unsafe(nil)); end def load(readable, *options); end - def parse(set_cookie, origin, options = _); end + def parse(set_cookie, origin, options = T.unsafe(nil)); end def save(writable, *options); end def store; end @@ -131,11 +136,13 @@ class HTTP::CookieJar def get_impl(base, value, *args); end def initialize_copy(other); end - def self.const_missing(name); end + class << self + def const_missing(name); end + end end class HTTP::CookieJar::AbstractSaver - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def load(io, jar); end def save(io, jar); end @@ -144,9 +151,11 @@ class HTTP::CookieJar::AbstractSaver def default_options; end - def self.class_to_symbol(klass); end - def self.implementation(symbol); end - def self.inherited(subclass); end + class << self + def class_to_symbol(klass); end + def implementation(symbol); end + def inherited(subclass); end + end end class HTTP::CookieJar::YAMLSaver < ::HTTP::CookieJar::AbstractSaver @@ -162,13 +171,13 @@ class HTTP::CookieJar::AbstractStore include(::MonitorMixin) include(::Enumerable) - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def add(cookie); end - def cleanup(session = _); end + def cleanup(session = T.unsafe(nil)); end def clear; end def delete(cookie); end - def each(uri = _, &block); end + def each(uri = T.unsafe(nil), &block); end def empty?; end private @@ -176,9 +185,11 @@ class HTTP::CookieJar::AbstractStore def default_options; end def initialize_copy(other); end - def self.class_to_symbol(klass); end - def self.implementation(symbol); end - def self.inherited(subclass); end + class << self + def class_to_symbol(klass); end + def implementation(symbol); end + def inherited(subclass); end + end end class HTTP::CookieJar::CookiestxtSaver < ::HTTP::CookieJar::AbstractSaver @@ -201,14 +212,14 @@ HTTP::CookieJar::CookiestxtSaver::RE_HTTPONLY_PREFIX = T.let(T.unsafe(nil), Rege HTTP::CookieJar::CookiestxtSaver::True = T.let(T.unsafe(nil), String) class HTTP::CookieJar::HashStore < ::HTTP::CookieJar::AbstractStore - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def add(cookie); end - def cleanup(session = _); end + def cleanup(session = T.unsafe(nil)); end def clear; end def default_options; end def delete(cookie); end - def each(uri = _); end + def each(uri = T.unsafe(nil)); end private diff --git a/Library/Homebrew/sorbet/rbi/gems/i18n@1.8.5.rbi b/Library/Homebrew/sorbet/rbi/gems/i18n@1.8.5.rbi index 198c6b42fc..a86f016cc2 100644 --- a/Library/Homebrew/sorbet/rbi/gems/i18n@1.8.5.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/i18n@1.8.5.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `i18n` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/mechanize@2.7.6.rbi b/Library/Homebrew/sorbet/rbi/gems/mechanize@2.7.6.rbi index cec901fc1d..702f5f5c73 100644 --- a/Library/Homebrew/sorbet/rbi/gems/mechanize@2.7.6.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/mechanize@2.7.6.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `mechanize` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -8,17 +9,17 @@ class HTTP::CookieJar include(::Mechanize::CookieJarIMethods) include(::Enumerable) - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def <<(cookie); end - def cleanup(session = _); end + def cleanup(session = T.unsafe(nil)); end def clear; end - def cookies(url = _); end + def cookies(url = T.unsafe(nil)); end def delete(cookie); end - def each(uri = _, &block); end - def empty?(url = _); end + def each(uri = T.unsafe(nil), &block); end + def empty?(url = T.unsafe(nil)); end def load(readable, *options); end - def parse(set_cookie, origin, options = _); end + def parse(set_cookie, origin, options = T.unsafe(nil)); end def save(writable, *options); end def store; end @@ -27,17 +28,19 @@ class HTTP::CookieJar def get_impl(base, value, *args); end def initialize_copy(other); end - def self.const_missing(name); end + class << self + def const_missing(name); end + end end class Mechanize - def initialize(connection_name = _); end + def initialize(connection_name = T.unsafe(nil)); end - def add_auth(uri, user, password, realm = _, domain = _); end + def add_auth(uri, user, password, realm = T.unsafe(nil), domain = T.unsafe(nil)); end def agent; end - def auth(user, password, domain = _); end + def auth(user, password, domain = T.unsafe(nil)); end def back; end - def basic_auth(user, password, domain = _); end + def basic_auth(user, password, domain = T.unsafe(nil)); end def ca_file; end def ca_file=(ca_file); end def cert; end @@ -55,8 +58,8 @@ class Mechanize def current_page; end def default_encoding; end def default_encoding=(_); end - def delete(uri, query_params = _, headers = _); end - def download(uri, io_or_filename, parameters = _, referer = _, headers = _); end + def delete(uri, query_params = T.unsafe(nil), headers = T.unsafe(nil)); end + def download(uri, io_or_filename, parameters = T.unsafe(nil), referer = T.unsafe(nil), headers = T.unsafe(nil)); end def follow_meta_refresh; end def follow_meta_refresh=(follow); end def follow_meta_refresh_self; end @@ -65,11 +68,11 @@ class Mechanize def follow_redirect?; end def force_default_encoding; end def force_default_encoding=(_); end - def get(uri, parameters = _, referer = _, headers = _); end + def get(uri, parameters = T.unsafe(nil), referer = T.unsafe(nil), headers = T.unsafe(nil)); end def get_file(url); end def gzip_enabled; end def gzip_enabled=(enabled); end - def head(uri, query_params = _, headers = _); end + def head(uri, query_params = T.unsafe(nil), headers = T.unsafe(nil)); end def history; end def history_added; end def history_added=(_); end @@ -98,7 +101,7 @@ class Mechanize def pass; end def pass=(pass); end def pluggable_parser; end - def post(uri, query = _, headers = _); end + def post(uri, query = T.unsafe(nil), headers = T.unsafe(nil)); end def post_connect_hooks; end def pre_connect_hooks; end def pretty_print(q); end @@ -106,7 +109,7 @@ class Mechanize def proxy_pass; end def proxy_port; end def proxy_user; end - def put(uri, entity, headers = _); end + def put(uri, entity, headers = T.unsafe(nil)); end def read_timeout; end def read_timeout=(read_timeout); end def redirect_ok; end @@ -115,7 +118,7 @@ class Mechanize def redirection_limit=(limit); end def request_headers; end def request_headers=(request_headers); end - def request_with_entity(verb, uri, entity, headers = _); end + def request_with_entity(verb, uri, entity, headers = T.unsafe(nil)); end def reset; end def resolve(link); end def retry_change_requests; end @@ -124,11 +127,11 @@ class Mechanize def robots=(enabled); end def scheme_handlers; end def scheme_handlers=(scheme_handlers); end - def set_proxy(address, port, user = _, password = _); end + def set_proxy(address, port, user = T.unsafe(nil), password = T.unsafe(nil)); end def shutdown; end def ssl_version; end def ssl_version=(ssl_version); end - def submit(form, button = _, headers = _); end + def submit(form, button = T.unsafe(nil), headers = T.unsafe(nil)); end def transact; end def user_agent; end def user_agent=(user_agent); end @@ -145,14 +148,16 @@ class Mechanize private def add_to_history(page); end - def post_form(uri, form, headers = _); end + def post_form(uri, form, headers = T.unsafe(nil)); end - def self.html_parser; end - def self.html_parser=(_); end - def self.inherited(child); end - def self.log; end - def self.log=(_); end - def self.start; end + class << self + def html_parser; end + def html_parser=(_); end + def inherited(child); end + def log; end + def log=(_); end + def start; end + end end Mechanize::AGENT_ALIASES = T.let(T.unsafe(nil), Hash) @@ -171,14 +176,14 @@ Mechanize::Cookie = HTTP::Cookie module Mechanize::CookieCMethods include(::Mechanize::CookieDeprecated) - def parse(arg1, arg2, arg3 = _, &block); end + def parse(arg1, arg2, arg3 = T.unsafe(nil), &block); end end module Mechanize::CookieDeprecated private - def __deprecated__(to = _); end + def __deprecated__(to = T.unsafe(nil)); end end module Mechanize::CookieIMethods @@ -195,7 +200,7 @@ end module Mechanize::CookieJarIMethods include(::Mechanize::CookieDeprecated) - def add(arg1, arg2 = _); end + def add(arg1, arg2 = T.unsafe(nil)); end def add!(cookie); end def clear!; end def dump_cookiestxt(io); end @@ -205,31 +210,33 @@ module Mechanize::CookieJarIMethods end class Mechanize::DirectorySaver < ::Mechanize::Download - def initialize(uri = _, response = _, body_io = _, code = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body_io = T.unsafe(nil), code = T.unsafe(nil)); end - def self.decode_filename?; end - def self.directory; end - def self.overwrite?; end - def self.save_to(directory, options = _); end + class << self + def decode_filename?; end + def directory; end + def overwrite?; end + def save_to(directory, options = T.unsafe(nil)); end + end end class Mechanize::Download include(::Mechanize::Parser) - def initialize(uri = _, response = _, body_io = _, code = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body_io = T.unsafe(nil), code = T.unsafe(nil)); end def body; end def body_io; end def content; end def filename; end def filename=(_); end - def save(filename = _); end - def save!(filename = _); end - def save_as(filename = _); end + def save(filename = T.unsafe(nil)); end + def save!(filename = T.unsafe(nil)); end + def save_as(filename = T.unsafe(nil)); end end module Mechanize::ElementMatcher - def elements_with(singular, plural = _); end + def elements_with(singular, plural = T.unsafe(nil)); end end class Mechanize::ElementNotFoundError < ::Mechanize::Error @@ -246,22 +253,24 @@ end class Mechanize::File include(::Mechanize::Parser) - def initialize(uri = _, response = _, body = _, code = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body = T.unsafe(nil), code = T.unsafe(nil)); end def body; end def body=(_); end def content; end def filename; end def filename=(_); end - def save(filename = _); end - def save!(filename = _); end - def save_as(filename = _); end + def save(filename = T.unsafe(nil)); end + def save!(filename = T.unsafe(nil)); end + def save_as(filename = T.unsafe(nil)); end end class Mechanize::FileConnection def request(uri, request); end - def self.new(*a); end + class << self + def new(*a); end + end end class Mechanize::FileRequest @@ -297,39 +306,39 @@ class Mechanize::FileResponse end class Mechanize::FileSaver < ::Mechanize::Download - def initialize(uri = _, response = _, body_io = _, code = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body_io = T.unsafe(nil), code = T.unsafe(nil)); end def filename; end - def save_as(filename = _); end + def save_as(filename = T.unsafe(nil)); end end class Mechanize::Form extend(::Forwardable) extend(::Mechanize::ElementMatcher) - def initialize(node, mech = _, page = _); end + def initialize(node, mech = T.unsafe(nil), page = T.unsafe(nil)); end def [](field_name); end def []=(field_name, value); end def action; end def action=(_); end def add_button_to_query(button); end - def add_field!(field_name, value = _); end + def add_field!(field_name, value = T.unsafe(nil)); end def at(*args, &block); end def at_css(*args, &block); end def at_xpath(*args, &block); end - def build_query(buttons = _); end - def button(criteria = _); end - def button_with(criteria = _); end - def button_with!(criteria = _); end + def build_query(buttons = T.unsafe(nil)); end + def button(criteria = T.unsafe(nil)); end + def button_with(criteria = T.unsafe(nil)); end + def button_with!(criteria = T.unsafe(nil)); end def buttons; end - def buttons_with(criteria = _); end - def checkbox(criteria = _); end - def checkbox_with(criteria = _); end - def checkbox_with!(criteria = _); end + def buttons_with(criteria = T.unsafe(nil)); end + def checkbox(criteria = T.unsafe(nil)); end + def checkbox_with(criteria = T.unsafe(nil)); end + def checkbox_with!(criteria = T.unsafe(nil)); end def checkboxes; end - def checkboxes_with(criteria = _); end - def click_button(button = _); end + def checkboxes_with(criteria = T.unsafe(nil)); end + def click_button(button = T.unsafe(nil)); end def css(*args, &block); end def delete_field!(field_name); end def dom_class; end @@ -339,16 +348,16 @@ class Mechanize::Form def encoding=(_); end def enctype; end def enctype=(_); end - def field(criteria = _); end - def field_with(criteria = _); end - def field_with!(criteria = _); end + def field(criteria = T.unsafe(nil)); end + def field_with(criteria = T.unsafe(nil)); end + def field_with!(criteria = T.unsafe(nil)); end def fields; end - def fields_with(criteria = _); end - def file_upload(criteria = _); end - def file_upload_with(criteria = _); end - def file_upload_with!(criteria = _); end + def fields_with(criteria = T.unsafe(nil)); end + def file_upload(criteria = T.unsafe(nil)); end + def file_upload_with(criteria = T.unsafe(nil)); end + def file_upload_with!(criteria = T.unsafe(nil)); end def file_uploads; end - def file_uploads_with(criteria = _); end + def file_uploads_with(criteria = T.unsafe(nil)); end def form_node; end def has_field?(field_name); end def has_key?(field_name); end @@ -368,24 +377,24 @@ class Mechanize::Form def node; end def page; end def pretty_print(q); end - def radiobutton(criteria = _); end - def radiobutton_with(criteria = _); end - def radiobutton_with!(criteria = _); end + def radiobutton(criteria = T.unsafe(nil)); end + def radiobutton_with(criteria = T.unsafe(nil)); end + def radiobutton_with!(criteria = T.unsafe(nil)); end def radiobuttons; end - def radiobuttons_with(criteria = _); end + def radiobuttons_with(criteria = T.unsafe(nil)); end def request_data; end def reset; end def reset_button?(button_name); end def resets; end def save_hash_field_order; end def search(*args, &block); end - def select_buttons(selector, method = _); end - def select_checkboxes(selector, method = _); end - def select_fields(selector, method = _); end - def select_file_uploads(selector, method = _); end - def select_radiobuttons(selector, method = _); end - def set_fields(fields = _); end - def submit(button = _, headers = _); end + def select_buttons(selector, method = T.unsafe(nil)); end + def select_checkboxes(selector, method = T.unsafe(nil)); end + def select_fields(selector, method = T.unsafe(nil)); end + def select_file_uploads(selector, method = T.unsafe(nil)); end + def select_radiobuttons(selector, method = T.unsafe(nil)); end + def set_fields(fields = T.unsafe(nil)); end + def submit(button = T.unsafe(nil), headers = T.unsafe(nil)); end def submit_button?(button_name); end def submits; end def text_field?(field_name); end @@ -397,13 +406,13 @@ class Mechanize::Form private - def file_to_multipart(file, buf = _); end + def file_to_multipart(file, buf = T.unsafe(nil)); end def from_native_charset(str); end def mime_value_quote(str); end - def param_to_multipart(name, value, buf = _); end + def param_to_multipart(name, value, buf = T.unsafe(nil)); end def parse; end def proc_query(field); end - def rand_string(len = _); end + def rand_string(len = T.unsafe(nil)); end end class Mechanize::Form::Button < ::Mechanize::Form::Field @@ -419,7 +428,7 @@ end class Mechanize::Form::Field extend(::Forwardable) - def initialize(node, value = _); end + def initialize(node, value = T.unsafe(nil)); end def <=>(other); end def at(*args, &block); end @@ -470,10 +479,10 @@ class Mechanize::Form::ImageButton < ::Mechanize::Form::Button end class Mechanize::Form::Keygen < ::Mechanize::Form::Field - def initialize(node, value = _); end + def initialize(node, value = T.unsafe(nil)); end def challenge; end - def generate_key(key_size = _); end + def generate_key(key_size = T.unsafe(nil)); end def key; end end @@ -482,16 +491,16 @@ class Mechanize::Form::MultiSelectList < ::Mechanize::Form::Field def initialize(node); end - def option(criteria = _); end - def option_with(criteria = _); end - def option_with!(criteria = _); end + def option(criteria = T.unsafe(nil)); end + def option_with(criteria = T.unsafe(nil)); end + def option_with!(criteria = T.unsafe(nil)); end def options; end def options=(_); end - def options_with(criteria = _); end + def options_with(criteria = T.unsafe(nil)); end def query_value; end def select_all; end def select_none; end - def select_options(selector, method = _); end + def select_options(selector, method = T.unsafe(nil)); end def selected_options; end def value; end def value=(values); end @@ -565,10 +574,10 @@ class Mechanize::HTTP end class Mechanize::HTTP::Agent - def initialize(connection_name = _); end + def initialize(connection_name = T.unsafe(nil)); end - def add_auth(uri, user, password, realm = _, domain = _); end - def add_default_auth(user, password, domain = _); end + def add_auth(uri, user, password, realm = T.unsafe(nil), domain = T.unsafe(nil)); end + def add_default_auth(user, password, domain = T.unsafe(nil)); end def allowed_error_codes; end def allowed_error_codes=(_); end def auth_store; end @@ -595,7 +604,7 @@ class Mechanize::HTTP::Agent def digest_challenges; end def disable_keep_alive(request); end def enable_gzip(request); end - def fetch(uri, method = _, headers = _, params = _, referer = _, redirects = _); end + def fetch(uri, method = T.unsafe(nil), headers = T.unsafe(nil), params = T.unsafe(nil), referer = T.unsafe(nil), redirects = T.unsafe(nil)); end def follow_meta_refresh; end def follow_meta_refresh=(_); end def follow_meta_refresh_self; end @@ -608,12 +617,12 @@ class Mechanize::HTTP::Agent def history=(_); end def hook_content_encoding(response, uri, response_body_io); end def http; end - def http_request(uri, method, params = _); end + def http_request(uri, method, params = T.unsafe(nil)); end def idle_timeout; end def idle_timeout=(timeout); end def ignore_bad_chunking; end def ignore_bad_chunking=(_); end - def inflate(compressed, window_bits = _); end + def inflate(compressed, window_bits = T.unsafe(nil)); end def keep_alive; end def keep_alive=(_); end def log; end @@ -639,7 +648,7 @@ class Mechanize::HTTP::Agent def redirect_ok=(_); end def redirection_limit; end def redirection_limit=(_); end - def request_add_headers(request, headers = _); end + def request_add_headers(request, headers = T.unsafe(nil)); end def request_auth(request, uri); end def request_auth_digest(request, uri, realm, base_uri, iis); end def request_cookies(request, uri); end @@ -651,7 +660,7 @@ class Mechanize::HTTP::Agent def request_referer(request, uri, referer); end def request_user_agent(request); end def reset; end - def resolve(uri, referer = _); end + def resolve(uri, referer = T.unsafe(nil)); end def resolve_parameters(uri, method, parameters); end def response_authenticate(response, page, uri, request, headers, params, referer); end def response_content_encoding(response, body_io); end @@ -660,7 +669,7 @@ class Mechanize::HTTP::Agent def response_log(response); end def response_parse(response, body_io, uri); end def response_read(response, request, uri); end - def response_redirect(response, method, page, redirects, headers, referer = _); end + def response_redirect(response, method, page, redirects, headers, referer = T.unsafe(nil)); end def retry_change_requests; end def retry_change_requests=(retri); end def robots; end @@ -674,8 +683,8 @@ class Mechanize::HTTP::Agent def save_cookies(uri, set_cookie); end def scheme_handlers; end def scheme_handlers=(_); end - def secure_resolve!(uri, referer = _); end - def set_proxy(addr, port = _, user = _, pass = _); end + def secure_resolve!(uri, referer = T.unsafe(nil)); end + def set_proxy(addr, port = T.unsafe(nil), user = T.unsafe(nil), pass = T.unsafe(nil)); end def shutdown; end def ssl_version; end def ssl_version=(ssl_version); end @@ -704,10 +713,12 @@ class Mechanize::HTTP::AuthChallenge < ::Struct def scheme=(_); end def to_s; end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class Mechanize::HTTP::AuthRealm @@ -725,13 +736,13 @@ end class Mechanize::HTTP::AuthStore def initialize; end - def add_auth(uri, user, pass, realm = _, domain = _); end - def add_default_auth(user, pass, domain = _); end + def add_auth(uri, user, pass, realm = T.unsafe(nil), domain = T.unsafe(nil)); end + def add_default_auth(user, pass, domain = T.unsafe(nil)); end def auth_accounts; end def credentials?(uri, challenges); end def credentials_for(uri, realm); end def default_auth; end - def remove_auth(uri, realm = _); end + def remove_auth(uri, realm = T.unsafe(nil)); end end class Mechanize::HTTP::ContentDisposition < ::Struct @@ -750,16 +761,18 @@ class Mechanize::HTTP::ContentDisposition < ::Struct def type; end def type=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class Mechanize::HTTP::ContentDispositionParser def initialize; end - def parse(content_disposition, header = _); end + def parse(content_disposition, header = T.unsafe(nil)); end def parse_parameters; end def rfc_2045_quoted_string; end def rfc_2045_token; end @@ -768,7 +781,9 @@ class Mechanize::HTTP::ContentDispositionParser def scanner=(_); end def spaces; end - def self.parse(content_disposition); end + class << self + def parse(content_disposition); end + end end class Mechanize::HTTP::WWWAuthenticateParser @@ -793,15 +808,15 @@ class Mechanize::Headers < ::Hash end class Mechanize::History < ::Array - def initialize(max_size = _); end + def initialize(max_size = T.unsafe(nil)); end - def <<(page, uri = _); end + def <<(page, uri = T.unsafe(nil)); end def clear; end def inspect; end def max_size; end def max_size=(_); end def pop; end - def push(page, uri = _); end + def push(page, uri = T.unsafe(nil)); end def shift; end def visited?(uri); end def visited_page(uri); end @@ -819,55 +834,55 @@ class Mechanize::Page < ::Mechanize::File extend(::Forwardable) extend(::Mechanize::ElementMatcher) - def initialize(uri = _, response = _, body = _, code = _, mech = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body = T.unsafe(nil), code = T.unsafe(nil), mech = T.unsafe(nil)); end def %(*args, &block); end def /(*args, &block); end def at(*args, &block); end def at_css(*args, &block); end def at_xpath(*args, &block); end - def base(criteria = _); end - def base_with(criteria = _); end - def base_with!(criteria = _); end + def base(criteria = T.unsafe(nil)); end + def base_with(criteria = T.unsafe(nil)); end + def base_with!(criteria = T.unsafe(nil)); end def bases; end - def bases_with(criteria = _); end + def bases_with(criteria = T.unsafe(nil)); end def canonical_uri; end def content_type; end def css(*args, &block); end def detected_encoding; end def encoding; end def encoding=(encoding); end - def encoding_error?(parser = _); end + def encoding_error?(parser = T.unsafe(nil)); end def encodings; end - def form(criteria = _); end - def form_with(criteria = _); end - def form_with!(criteria = _); end + def form(criteria = T.unsafe(nil)); end + def form_with(criteria = T.unsafe(nil)); end + def form_with!(criteria = T.unsafe(nil)); end def forms; end - def forms_with(criteria = _); end - def frame(criteria = _); end - def frame_with(criteria = _); end - def frame_with!(criteria = _); end + def forms_with(criteria = T.unsafe(nil)); end + def frame(criteria = T.unsafe(nil)); end + def frame_with(criteria = T.unsafe(nil)); end + def frame_with!(criteria = T.unsafe(nil)); end def frames; end - def frames_with(criteria = _); end - def iframe(criteria = _); end - def iframe_with(criteria = _); end - def iframe_with!(criteria = _); end + def frames_with(criteria = T.unsafe(nil)); end + def iframe(criteria = T.unsafe(nil)); end + def iframe_with(criteria = T.unsafe(nil)); end + def iframe_with!(criteria = T.unsafe(nil)); end def iframes; end - def iframes_with(criteria = _); end - def image(criteria = _); end + def iframes_with(criteria = T.unsafe(nil)); end + def image(criteria = T.unsafe(nil)); end def image_urls; end - def image_with(criteria = _); end - def image_with!(criteria = _); end + def image_with(criteria = T.unsafe(nil)); end + def image_with!(criteria = T.unsafe(nil)); end def images; end - def images_with(criteria = _); end + def images_with(criteria = T.unsafe(nil)); end def inspect; end def labels; end def labels_hash; end - def link(criteria = _); end - def link_with(criteria = _); end - def link_with!(criteria = _); end + def link(criteria = T.unsafe(nil)); end + def link_with(criteria = T.unsafe(nil)); end + def link_with!(criteria = T.unsafe(nil)); end def links; end - def links_with(criteria = _); end + def links_with(criteria = T.unsafe(nil)); end def mech; end def mech=(_); end def meta_charset; end @@ -878,12 +893,12 @@ class Mechanize::Page < ::Mechanize::File def response_header_charset; end def root; end def search(*args, &block); end - def select_bases(selector, method = _); end - def select_forms(selector, method = _); end - def select_frames(selector, method = _); end - def select_iframes(selector, method = _); end - def select_images(selector, method = _); end - def select_links(selector, method = _); end + def select_bases(selector, method = T.unsafe(nil)); end + def select_forms(selector, method = T.unsafe(nil)); end + def select_frames(selector, method = T.unsafe(nil)); end + def select_iframes(selector, method = T.unsafe(nil)); end + def select_images(selector, method = T.unsafe(nil)); end + def select_links(selector, method = T.unsafe(nil)); end def title; end def xpath(*args, &block); end @@ -891,11 +906,13 @@ class Mechanize::Page < ::Mechanize::File def html_body; end - def self.charset(content_type); end - def self.charset_from_content_type(content_type); end - def self.meta_charset(body); end - def self.meta_content_type(body); end - def self.response_header_charset(response); end + class << self + def charset(content_type); end + def charset_from_content_type(content_type); end + def meta_charset(body); end + def meta_content_type(body); end + def response_header_charset(response); end + end end class Mechanize::Page::Base < ::Mechanize::Page::Link @@ -921,7 +938,7 @@ class Mechanize::Page::Image def dom_class; end def dom_id; end def extname; end - def fetch(parameters = _, referer = _, headers = _); end + def fetch(parameters = T.unsafe(nil), referer = T.unsafe(nil), headers = T.unsafe(nil)); end def height; end def image_referer; end def inspect; end @@ -975,14 +992,16 @@ class Mechanize::Page::Link end class Mechanize::Page::MetaRefresh < ::Mechanize::Page::Link - def initialize(node, page, delay, href, link_self = _); end + def initialize(node, page, delay, href, link_self = T.unsafe(nil)); end def delay; end def link_self; end def noreferrer?; end - def self.from_node(node, page, uri = _); end - def self.parse(content, base_uri = _); end + class << self + def from_node(node, page, uri = T.unsafe(nil)); end + def parse(content, base_uri = T.unsafe(nil)); end + end end Mechanize::Page::MetaRefresh::CONTENT_REGEXP = T.let(T.unsafe(nil), Regexp) @@ -998,7 +1017,7 @@ module Mechanize::Parser def code; end def code=(_); end def each(*args, &block); end - def extract_filename(full_path = _); end + def extract_filename(full_path = T.unsafe(nil)); end def fill_header(response); end def find_free_name(filename); end def header; end @@ -1051,7 +1070,7 @@ class Mechanize::RedirectNotGetOrHeadError < ::Mechanize::Error end class Mechanize::ResponseCodeError < ::Mechanize::Error - def initialize(page, message = _); end + def initialize(page, message = T.unsafe(nil)); end def inspect; end def page; end @@ -1097,14 +1116,20 @@ class Mechanize::UnsupportedSchemeError < ::Mechanize::Error end class Mechanize::Util - def self.build_query_string(parameters, enc = _); end - def self.detect_charset(src); end - def self.each_parameter(parameters, &block); end - def self.from_native_charset(s, code, ignore_encoding_error = _, log = _); end - def self.guess_encoding(src); end - def self.html_unescape(s); end - def self.uri_escape(str, unsafe = _); end - def self.uri_unescape(str); end + class << self + def build_query_string(parameters, enc = T.unsafe(nil)); end + def detect_charset(src); end + def each_parameter(parameters, &block); end + def from_native_charset(s, code, ignore_encoding_error = T.unsafe(nil), log = T.unsafe(nil)); end + def guess_encoding(src); end + def html_unescape(s); end + def uri_escape(str, unsafe = T.unsafe(nil)); end + def uri_unescape(str); end + + private + + def each_parameter_1(key, value, &block); end + end end Mechanize::Util::DefaultMimeTypes = T.let(T.unsafe(nil), Hash) @@ -1114,7 +1139,7 @@ Mechanize::VERSION = T.let(T.unsafe(nil), String) class Mechanize::XmlFile < ::Mechanize::File extend(::Forwardable) - def initialize(uri = _, response = _, body = _, code = _); end + def initialize(uri = T.unsafe(nil), response = T.unsafe(nil), body = T.unsafe(nil), code = T.unsafe(nil)); end def at(*args, &block); end def search(*args, &block); end diff --git a/Library/Homebrew/sorbet/rbi/gems/method_source@1.0.0.rbi b/Library/Homebrew/sorbet/rbi/gems/method_source@1.0.0.rbi index 27b1fb4bc6..4fca830f45 100644 --- a/Library/Homebrew/sorbet/rbi/gems/method_source@1.0.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/method_source@1.0.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `method_source` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/mime-types-data@3.2020.0512.rbi b/Library/Homebrew/sorbet/rbi/gems/mime-types-data@3.2020.0512.rbi index 6b60ba30e0..0a248f7d65 100644 --- a/Library/Homebrew/sorbet/rbi/gems/mime-types-data@3.2020.0512.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/mime-types-data@3.2020.0512.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `mime-types-data` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -12,9 +13,9 @@ class MIME::Types def initialize; end - def [](type_id, complete: _, registered: _); end + def [](type_id, complete: T.unsafe(nil), registered: T.unsafe(nil)); end def add(*types); end - def add_type(type, quiet = _); end + def add_type(type, quiet = T.unsafe(nil)); end def count; end def each; end def inspect; end @@ -29,15 +30,26 @@ class MIME::Types def prune_matches(matches, complete, registered); end def reindex_extensions!(mime_type); end - def self.[](type_id, complete: _, registered: _); end - def self.add(*types); end - def self.count; end - def self.each; end - def self.logger; end - def self.logger=(_); end - def self.new(*_); end - def self.of(filename); end - def self.type_for(filename); end + class << self + def [](type_id, complete: T.unsafe(nil), registered: T.unsafe(nil)); end + def add(*types); end + def count; end + def each; end + def logger; end + def logger=(_); end + def new(*_); end + def of(filename); end + def type_for(filename); end + + private + + def __instances__; end + def __types__; end + def lazy_load?; end + def load_default_mime_types(mode = T.unsafe(nil)); end + def load_mode; end + def reindex_extensions(type); end + end end class MIME::Types::Cache < ::Struct @@ -46,12 +58,14 @@ class MIME::Types::Cache < ::Struct def version; end def version=(_); end - def self.[](*_); end - def self.inspect; end - def self.load(cache_file = _); end - def self.members; end - def self.new(*_); end - def self.save(types = _, cache_file = _); end + class << self + def [](*_); end + def inspect; end + def load(cache_file = T.unsafe(nil)); end + def members; end + def new(*_); end + def save(types = T.unsafe(nil), cache_file = T.unsafe(nil)); end + end end module MIME::Types::Data diff --git a/Library/Homebrew/sorbet/rbi/gems/mime-types@3.3.1.rbi b/Library/Homebrew/sorbet/rbi/gems/mime-types@3.3.1.rbi index b346c24567..786dd4c4e1 100644 --- a/Library/Homebrew/sorbet/rbi/gems/mime-types@3.3.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/mime-types@3.3.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `mime-types` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -26,7 +27,7 @@ class MIME::Type def eql?(other); end def extensions; end def extensions=(value); end - def friendly(lang = _); end + def friendly(lang = T.unsafe(nil)); end def i18n_key; end def init_with(coder); end def inspect; end @@ -69,9 +70,15 @@ class MIME::Type def xref_url_for_rfc_errata(value); end def xref_url_for_template(value); end - def self.i18n_key(content_type); end - def self.match(content_type); end - def self.simplified(content_type, remove_x_prefix: _); end + class << self + def i18n_key(content_type); end + def match(content_type); end + def simplified(content_type, remove_x_prefix: T.unsafe(nil)); end + + private + + def simplify_matchdata(matchdata, remove_x = T.unsafe(nil), joiner: T.unsafe(nil)); end + end end class MIME::Type::Columnar < ::MIME::Type @@ -121,9 +128,9 @@ class MIME::Types def initialize; end - def [](type_id, complete: _, registered: _); end + def [](type_id, complete: T.unsafe(nil), registered: T.unsafe(nil)); end def add(*types); end - def add_type(type, quiet = _); end + def add_type(type, quiet = T.unsafe(nil)); end def count; end def each; end def inspect; end @@ -138,15 +145,26 @@ class MIME::Types def prune_matches(matches, complete, registered); end def reindex_extensions!(mime_type); end - def self.[](type_id, complete: _, registered: _); end - def self.add(*types); end - def self.count; end - def self.each; end - def self.logger; end - def self.logger=(_); end - def self.new(*_); end - def self.of(filename); end - def self.type_for(filename); end + class << self + def [](type_id, complete: T.unsafe(nil), registered: T.unsafe(nil)); end + def add(*types); end + def count; end + def each; end + def logger; end + def logger=(_); end + def new(*_); end + def of(filename); end + def type_for(filename); end + + private + + def __instances__; end + def __types__; end + def lazy_load?; end + def load_default_mime_types(mode = T.unsafe(nil)); end + def load_mode; end + def reindex_extensions(type); end + end end class MIME::Types::Cache < ::Struct @@ -155,12 +173,14 @@ class MIME::Types::Cache < ::Struct def version; end def version=(_); end - def self.[](*_); end - def self.inspect; end - def self.load(cache_file = _); end - def self.members; end - def self.new(*_); end - def self.save(types = _, cache_file = _); end + class << self + def [](*_); end + def inspect; end + def load(cache_file = T.unsafe(nil)); end + def members; end + def new(*_); end + def save(types = T.unsafe(nil), cache_file = T.unsafe(nil)); end + end end module MIME::Types::Columnar @@ -169,8 +189,8 @@ module MIME::Types::Columnar private def arr(line); end - def dict(line, array: _); end - def each_file_line(name, lookup = _); end + def dict(line, array: T.unsafe(nil)); end + def each_file_line(name, lookup = T.unsafe(nil)); end def flag(line); end def load_docs; end def load_encoding; end @@ -181,7 +201,9 @@ module MIME::Types::Columnar def load_xrefs; end def opt(line); end - def self.extended(obj); end + class << self + def extended(obj); end + end end MIME::Types::Columnar::LOAD_MUTEX = T.let(T.unsafe(nil), Thread::Mutex) @@ -189,7 +211,7 @@ MIME::Types::Columnar::LOAD_MUTEX = T.let(T.unsafe(nil), Thread::Mutex) class MIME::Types::Container extend(::Forwardable) - def initialize(hash = _); end + def initialize(hash = T.unsafe(nil)); end def ==(*args, &block); end def [](key); end @@ -219,10 +241,10 @@ class MIME::Types::Container end class MIME::Types::Loader - def initialize(path = _, container = _); end + def initialize(path = T.unsafe(nil), container = T.unsafe(nil)); end def container; end - def load(options = _); end + def load(options = T.unsafe(nil)); end def load_columnar; end def load_json; end def load_yaml; end @@ -234,15 +256,21 @@ class MIME::Types::Loader def json_path; end def yaml_path; end - def self.load(options = _); end - def self.load_from_json(filename); end - def self.load_from_yaml(filename); end + class << self + def load(options = T.unsafe(nil)); end + def load_from_json(filename); end + def load_from_yaml(filename); end + + private + + def read_file(filename); end + end end MIME::Types::VERSION = T.let(T.unsafe(nil), String) class MIME::Types::WarnLogger < ::Logger - def initialize(_one, _two = _, _three = _); end + def initialize(_one, _two = T.unsafe(nil), _three = T.unsafe(nil)); end end class MIME::Types::WarnLogger::WarnLogDevice < ::Logger::LogDevice diff --git a/Library/Homebrew/sorbet/rbi/gems/mini_portile2@2.4.0.rbi b/Library/Homebrew/sorbet/rbi/gems/mini_portile2@2.4.0.rbi index 27b1fb4bc6..9e61b4dd3a 100644 --- a/Library/Homebrew/sorbet/rbi/gems/mini_portile2@2.4.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/mini_portile2@2.4.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `mini_portile2` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/minitest@5.14.1.rbi b/Library/Homebrew/sorbet/rbi/gems/minitest@5.14.1.rbi index 27b1fb4bc6..ed737fbdc6 100644 --- a/Library/Homebrew/sorbet/rbi/gems/minitest@5.14.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/minitest@5.14.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `minitest` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/mustache@1.1.1.rbi b/Library/Homebrew/sorbet/rbi/gems/mustache@1.1.1.rbi index 27b1fb4bc6..c197d416ee 100644 --- a/Library/Homebrew/sorbet/rbi/gems/mustache@1.1.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/mustache@1.1.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `mustache` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/net-http-digest_auth@1.4.1.rbi b/Library/Homebrew/sorbet/rbi/gems/net-http-digest_auth@1.4.1.rbi index 27b1fb4bc6..8d040b7e6e 100644 --- a/Library/Homebrew/sorbet/rbi/gems/net-http-digest_auth@1.4.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/net-http-digest_auth@1.4.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `net-http-digest_auth` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/net-http-persistent@4.0.0.rbi b/Library/Homebrew/sorbet/rbi/gems/net-http-persistent@4.0.0.rbi index 27b1fb4bc6..e410e27643 100644 --- a/Library/Homebrew/sorbet/rbi/gems/net-http-persistent@4.0.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/net-http-persistent@4.0.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `net-http-persistent` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/nokogiri@1.10.10.rbi b/Library/Homebrew/sorbet/rbi/gems/nokogiri@1.10.10.rbi index 6f16195faa..08629be645 100644 --- a/Library/Homebrew/sorbet/rbi/gems/nokogiri@1.10.10.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/nokogiri@1.10.10.rbi @@ -1,23 +1,28 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `nokogiri` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Nokogiri - def self.HTML(thing, url = _, encoding = _, options = _, &block); end - def self.Slop(*args, &block); end - def self.XML(thing, url = _, encoding = _, options = _, &block); end - def self.XSLT(stylesheet, modules = _); end - def self.install_default_aliases; end - def self.jruby?; end - def self.make(input = _, opts = _, &blk); end - def self.parse(string, url = _, encoding = _, options = _); end - def self.uses_libxml?; end + class << self + def HTML(thing, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil), &block); end + def Slop(*args, &block); end + def XML(thing, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil), &block); end + def XSLT(stylesheet, modules = T.unsafe(nil)); end + def install_default_aliases; end + def jruby?; end + def make(input = T.unsafe(nil), opts = T.unsafe(nil), &blk); end + def parse(string, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil)); end + def uses_libxml?; end + end end module Nokogiri::CSS - def self.parse(selector); end - def self.xpath_for(selector, options = _); end + class << self + def parse(selector); end + def xpath_for(selector, options = T.unsafe(nil)); end + end end class Nokogiri::CSS::Node @@ -27,7 +32,7 @@ class Nokogiri::CSS::Node def find_by_type(types); end def to_a; end def to_type; end - def to_xpath(prefix = _, visitor = _); end + def to_xpath(prefix = T.unsafe(nil), visitor = T.unsafe(nil)); end def type; end def type=(_); end def value; end @@ -37,7 +42,7 @@ end Nokogiri::CSS::Node::ALLOW_COMBINATOR_ON_SELF = T.let(T.unsafe(nil), Array) class Nokogiri::CSS::Parser < ::Racc::Parser - def initialize(namespaces = _); end + def initialize(namespaces = T.unsafe(nil)); end def _reduce_1(val, _values, result); end def _reduce_11(val, _values, result); end @@ -101,17 +106,19 @@ class Nokogiri::CSS::Parser < ::Racc::Parser def parse(string); end def unescape_css_identifier(identifier); end def unescape_css_string(str); end - def xpath_for(string, options = _); end + def xpath_for(string, options = T.unsafe(nil)); end - def self.[](string); end - def self.[]=(string, value); end - def self.cache_on; end - def self.cache_on=(_); end - def self.cache_on?; end - def self.clear_cache; end - def self.parse(selector); end - def self.set_cache(_); end - def self.without_cache(&block); end + class << self + def [](string); end + def []=(string, value); end + def cache_on; end + def cache_on=(_); end + def cache_on?; end + def clear_cache; end + def parse(selector); end + def set_cache(_); end + def without_cache(&block); end + end end Nokogiri::CSS::Parser::Racc_arg = T.let(T.unsafe(nil), Array) @@ -158,7 +165,7 @@ class Nokogiri::CSS::XPathVisitor private def is_of_type_pseudo_class?(node); end - def nth(node, options = _); end + def nth(node, options = T.unsafe(nil)); end def read_a_and_positive_b(values); end end @@ -170,7 +177,7 @@ module Nokogiri::Decorators::Slop private - def respond_to_missing?(name, include_private = _); end + def respond_to_missing?(name, include_private = T.unsafe(nil)); end end Nokogiri::Decorators::Slop::XPATH_PREFIX = T.let(T.unsafe(nil), String) @@ -178,15 +185,19 @@ Nokogiri::Decorators::Slop::XPATH_PREFIX = T.let(T.unsafe(nil), String) class Nokogiri::EncodingHandler def name; end - def self.[](_); end - def self.alias(_, _); end - def self.clear_aliases!; end - def self.delete(_); end + class << self + def [](_); end + def alias(_, _); end + def clear_aliases!; end + def delete(_); end + end end module Nokogiri::HTML - def self.fragment(string, encoding = _); end - def self.parse(thing, url = _, encoding = _, options = _, &block); end + class << self + def fragment(string, encoding = T.unsafe(nil)); end + def parse(thing, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil), &block); end + end end class Nokogiri::HTML::Builder < ::Nokogiri::XML::Builder @@ -194,13 +205,13 @@ class Nokogiri::HTML::Builder < ::Nokogiri::XML::Builder end class Nokogiri::HTML::Document < ::Nokogiri::XML::Document - def fragment(tags = _); end + def fragment(tags = T.unsafe(nil)); end def meta_encoding; end def meta_encoding=(encoding); end - def meta_robots(custom_name = _); end - def nofollow?(custom_name = _); end - def noindex?(custom_name = _); end - def serialize(options = _); end + def meta_robots(custom_name = T.unsafe(nil)); end + def nofollow?(custom_name = T.unsafe(nil)); end + def noindex?(custom_name = T.unsafe(nil)); end + def serialize(options = T.unsafe(nil)); end def title; end def title=(text); end def type; end @@ -211,10 +222,12 @@ class Nokogiri::HTML::Document < ::Nokogiri::XML::Document def parse_meta_robots(custom_name); end def set_metadata_element(element); end - def self.new(*_); end - def self.parse(string_or_io, url = _, encoding = _, options = _); end - def self.read_io(_, _, _, _); end - def self.read_memory(_, _, _, _); end + class << self + def new(*_); end + def parse(string_or_io, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil)); end + def read_io(_, _, _, _); end + def read_memory(_, _, _, _); end + end end class Nokogiri::HTML::Document::EncodingFound < ::StandardError @@ -229,28 +242,32 @@ class Nokogiri::HTML::Document::EncodingReader def encoding_found; end def read(len); end - def self.detect_encoding(chunk); end - def self.detect_encoding_for_jruby_without_fix(chunk); end - def self.is_jruby_without_fix?; end + class << self + def detect_encoding(chunk); end + def detect_encoding_for_jruby_without_fix(chunk); end + def is_jruby_without_fix?; end + end end class Nokogiri::HTML::Document::EncodingReader::JumpSAXHandler < ::Nokogiri::HTML::Document::EncodingReader::SAXHandler def initialize(jumptag); end - def start_element(name, attrs = _); end + def start_element(name, attrs = T.unsafe(nil)); end end class Nokogiri::HTML::Document::EncodingReader::SAXHandler < ::Nokogiri::XML::SAX::Document def initialize; end def encoding; end - def start_element(name, attrs = _); end + def start_element(name, attrs = T.unsafe(nil)); end end class Nokogiri::HTML::DocumentFragment < ::Nokogiri::XML::DocumentFragment - def initialize(document, tags = _, ctx = _); end + def initialize(document, tags = T.unsafe(nil), ctx = T.unsafe(nil)); end - def self.parse(tags, encoding = _); end + class << self + def parse(tags, encoding = T.unsafe(nil)); end + end end class Nokogiri::HTML::ElementDescription @@ -275,7 +292,9 @@ class Nokogiri::HTML::ElementDescription def default_desc; end - def self.[](_); end + class << self + def [](_); end + end end Nokogiri::HTML::ElementDescription::ACTION_ATTR = T.let(T.unsafe(nil), Array) @@ -510,27 +529,29 @@ module Nokogiri::HTML::SAX end class Nokogiri::HTML::SAX::Parser < ::Nokogiri::XML::SAX::Parser - def parse_file(filename, encoding = _); end - def parse_io(io, encoding = _); end - def parse_memory(data, encoding = _); end + def parse_file(filename, encoding = T.unsafe(nil)); end + def parse_io(io, encoding = T.unsafe(nil)); end + def parse_memory(data, encoding = T.unsafe(nil)); end end class Nokogiri::HTML::SAX::ParserContext < ::Nokogiri::XML::SAX::ParserContext def parse_with(_); end - def self.file(_, _); end - def self.memory(_, _); end - def self.new(thing, encoding = _); end + class << self + def file(_, _); end + def memory(_, _); end + def new(thing, encoding = T.unsafe(nil)); end + end end class Nokogiri::HTML::SAX::PushParser < ::Nokogiri::XML::SAX::PushParser - def initialize(doc = _, file_name = _, encoding = _); end + def initialize(doc = T.unsafe(nil), file_name = T.unsafe(nil), encoding = T.unsafe(nil)); end - def <<(chunk, last_chunk = _); end + def <<(chunk, last_chunk = T.unsafe(nil)); end def document; end def document=(_); end def finish; end - def write(chunk, last_chunk = _); end + def write(chunk, last_chunk = T.unsafe(nil)); end private @@ -573,15 +594,19 @@ class Nokogiri::VersionInfo def to_markdown; end def warnings; end - def self.instance; end + class << self + def instance; end + end end module Nokogiri::XML - def self.Reader(string_or_io, url = _, encoding = _, options = _); end - def self.RelaxNG(string_or_io); end - def self.Schema(string_or_io); end - def self.fragment(string); end - def self.parse(thing, url = _, encoding = _, options = _, &block); end + class << self + def Reader(string_or_io, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil)); end + def RelaxNG(string_or_io); end + def Schema(string_or_io); end + def fragment(string); end + def parse(thing, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil), &block); end + end end class Nokogiri::XML::Attr < ::Nokogiri::XML::Node @@ -594,7 +619,9 @@ class Nokogiri::XML::Attr < ::Nokogiri::XML::Node def inspect_attributes; end - def self.new(*_); end + class << self + def new(*_); end + end end class Nokogiri::XML::AttributeDecl < ::Nokogiri::XML::Node @@ -605,7 +632,7 @@ class Nokogiri::XML::AttributeDecl < ::Nokogiri::XML::Node end class Nokogiri::XML::Builder - def initialize(options = _, root = _, &block); end + def initialize(options = T.unsafe(nil), root = T.unsafe(nil), &block); end def <<(string); end def [](ns); end @@ -627,7 +654,9 @@ class Nokogiri::XML::Builder def insert(node, &block); end - def self.with(root, &block); end + class << self + def with(root, &block); end + end end class Nokogiri::XML::Builder::NodeBuilder @@ -641,7 +670,9 @@ end class Nokogiri::XML::CDATA < ::Nokogiri::XML::Text def name; end - def self.new(*_); end + class << self + def new(*_); end + end end class Nokogiri::XML::CharacterData < ::Nokogiri::XML::Node @@ -649,7 +680,9 @@ class Nokogiri::XML::CharacterData < ::Nokogiri::XML::Node end class Nokogiri::XML::Comment < ::Nokogiri::XML::CharacterData - def self.new(*_); end + class << self + def new(*_); end + end end class Nokogiri::XML::DTD < ::Nokogiri::XML::Node @@ -687,7 +720,7 @@ class Nokogiri::XML::Document < ::Nokogiri::XML::Node def encoding=(_); end def errors; end def errors=(_); end - def fragment(tags = _); end + def fragment(tags = T.unsafe(nil)); end def name; end def namespaces; end def remove_namespaces!; end @@ -704,12 +737,14 @@ class Nokogiri::XML::Document < ::Nokogiri::XML::Node def inspect_attributes; end - def self.empty_doc?(string_or_io); end - def self.new(*_); end - def self.parse(string_or_io, url = _, encoding = _, options = _); end - def self.read_io(_, _, _, _); end - def self.read_memory(_, _, _, _); end - def self.wrap(document); end + class << self + def empty_doc?(string_or_io); end + def new(*_); end + def parse(string_or_io, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil)); end + def read_io(_, _, _, _); end + def read_memory(_, _, _, _); end + def wrap(document); end + end end Nokogiri::XML::Document::IMPLIED_XPATH_CONTEXTS = T.let(T.unsafe(nil), Array) @@ -721,7 +756,7 @@ Nokogiri::XML::Document::NCNAME_RE = T.let(T.unsafe(nil), Regexp) Nokogiri::XML::Document::NCNAME_START_CHAR = T.let(T.unsafe(nil), String) class Nokogiri::XML::DocumentFragment < ::Nokogiri::XML::Node - def initialize(document, tags = _, ctx = _); end + def initialize(document, tags = T.unsafe(nil), ctx = T.unsafe(nil)); end def css(*args); end def dup; end @@ -740,8 +775,10 @@ class Nokogiri::XML::DocumentFragment < ::Nokogiri::XML::Node def coerce(data); end def namespace_declarations(ctx); end - def self.new(*_); end - def self.parse(tags); end + class << self + def new(*_); end + def parse(tags); end + end end class Nokogiri::XML::Element < ::Nokogiri::XML::Node @@ -792,7 +829,9 @@ class Nokogiri::XML::EntityDecl < ::Nokogiri::XML::Node def original_content; end def system_id; end - def self.new(name, doc, *args); end + class << self + def new(name, doc, *args); end + end end Nokogiri::XML::EntityDecl::EXTERNAL_GENERAL_PARSED = T.let(T.unsafe(nil), Integer) @@ -811,7 +850,9 @@ class Nokogiri::XML::EntityReference < ::Nokogiri::XML::Node def children; end def inspect_attributes; end - def self.new(*_); end + class << self + def new(*_); end + end end class Nokogiri::XML::Namespace @@ -847,7 +888,7 @@ class Nokogiri::XML::Node def add_next_sibling(node_or_tags); end def add_previous_sibling(node_or_tags); end def after(node_or_tags); end - def ancestors(selector = _); end + def ancestors(selector = T.unsafe(nil)); end def append_class(name); end def attr(name); end def attribute(_); end @@ -856,7 +897,7 @@ class Nokogiri::XML::Node def attributes; end def before(node_or_tags); end def blank?; end - def canonicalize(mode = _, inclusive_namespaces = _, with_comments = _); end + def canonicalize(mode = T.unsafe(nil), inclusive_namespaces = T.unsafe(nil), with_comments = T.unsafe(nil)); end def cdata?; end def child; end def children; end @@ -873,7 +914,7 @@ class Nokogiri::XML::Node def default_namespace=(url); end def delete(name); end def description; end - def do_xinclude(options = _); end + def do_xinclude(options = T.unsafe(nil)); end def document; end def document?; end def dup(*_); end @@ -919,7 +960,7 @@ class Nokogiri::XML::Node def node_type; end def parent; end def parent=(parent_node); end - def parse(string_or_io, options = _); end + def parse(string_or_io, options = T.unsafe(nil)); end def path; end def pointer_id; end def prepend_child(node_or_tags); end @@ -931,27 +972,27 @@ class Nokogiri::XML::Node def read_only?; end def remove; end def remove_attribute(name); end - def remove_class(name = _); end + def remove_class(name = T.unsafe(nil)); end def replace(node_or_tags); end def serialize(*args, &block); end def set_attribute(name, value); end def swap(node_or_tags); end def text; end def text?; end - def to_html(options = _); end + def to_html(options = T.unsafe(nil)); end def to_s; end def to_str; end - def to_xhtml(options = _); end - def to_xml(options = _); end + def to_xhtml(options = T.unsafe(nil)); end + def to_xml(options = T.unsafe(nil)); end def traverse(&block); end def type; end def unlink; end def values; end def wrap(html); end - def write_html_to(io, options = _); end + def write_html_to(io, options = T.unsafe(nil)); end def write_to(io, *options); end - def write_xhtml_to(io, options = _); end - def write_xml_to(io, options = _); end + def write_xhtml_to(io, options = T.unsafe(nil)); end + def write_xml_to(io, options = T.unsafe(nil)); end def xml?; end private @@ -975,7 +1016,9 @@ class Nokogiri::XML::Node def to_format(save_option, options); end def write_format_to(save_option, io, options); end - def self.new(*_); end + class << self + def new(*_); end + end end Nokogiri::XML::Node::ATTRIBUTE_DECL = T.let(T.unsafe(nil), Integer) @@ -1017,7 +1060,7 @@ Nokogiri::XML::Node::NOTATION_NODE = T.let(T.unsafe(nil), Integer) Nokogiri::XML::Node::PI_NODE = T.let(T.unsafe(nil), Integer) class Nokogiri::XML::Node::SaveOptions - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def as_html; end def as_html?; end @@ -1073,7 +1116,7 @@ class Nokogiri::XML::NodeSet include(::Nokogiri::XML::Searchable) include(::Enumerable) - def initialize(document, list = _); end + def initialize(document, list = T.unsafe(nil)); end def %(*args); end def &(_); end @@ -1087,8 +1130,8 @@ class Nokogiri::XML::NodeSet def after(datum); end def append_class(name); end def at(*args); end - def attr(key, value = _, &block); end - def attribute(key, value = _, &block); end + def attr(key, value = T.unsafe(nil), &block); end + def attribute(key, value = T.unsafe(nil), &block); end def before(datum); end def children; end def clone; end @@ -1100,9 +1143,9 @@ class Nokogiri::XML::NodeSet def each; end def empty?; end def filter(expr); end - def first(n = _); end + def first(n = T.unsafe(nil)); end def include?(_); end - def index(node = _); end + def index(node = T.unsafe(nil)); end def inner_html(*args); end def inner_text; end def inspect; end @@ -1113,9 +1156,9 @@ class Nokogiri::XML::NodeSet def remove; end def remove_attr(name); end def remove_attribute(name); end - def remove_class(name = _); end + def remove_class(name = T.unsafe(nil)); end def reverse; end - def set(key, value = _, &block); end + def set(key, value = T.unsafe(nil), &block); end def shift; end def size; end def slice(*_); end @@ -1151,7 +1194,7 @@ module Nokogiri::XML::PP::Node end class Nokogiri::XML::ParseOptions - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def compact; end def compact?; end @@ -1276,13 +1319,15 @@ Nokogiri::XML::ParseOptions::XINCLUDE = T.let(T.unsafe(nil), Integer) class Nokogiri::XML::ProcessingInstruction < ::Nokogiri::XML::Node def initialize(document, name, content); end - def self.new(*_); end + class << self + def new(*_); end + end end class Nokogiri::XML::Reader include(::Enumerable) - def initialize(source, url = _, encoding = _); end + def initialize(source, url = T.unsafe(nil), encoding = T.unsafe(nil)); end def attribute(_); end def attribute_at(_); end @@ -1319,8 +1364,10 @@ class Nokogiri::XML::Reader def attr_nodes; end - def self.from_io(*_); end - def self.from_memory(*_); end + class << self + def from_io(*_); end + def from_memory(*_); end + end end Nokogiri::XML::Reader::TYPE_ATTRIBUTE = T.let(T.unsafe(nil), Integer) @@ -1365,8 +1412,10 @@ class Nokogiri::XML::RelaxNG < ::Nokogiri::XML::Schema def validate_document(_); end - def self.from_document(_); end - def self.read_memory(_); end + class << self + def from_document(_); end + def read_memory(_); end + end end module Nokogiri::XML::SAX @@ -1378,18 +1427,18 @@ class Nokogiri::XML::SAX::Document def comment(string); end def end_document; end def end_element(name); end - def end_element_namespace(name, prefix = _, uri = _); end + def end_element_namespace(name, prefix = T.unsafe(nil), uri = T.unsafe(nil)); end def error(string); end def processing_instruction(name, content); end def start_document; end - def start_element(name, attrs = _); end - def start_element_namespace(name, attrs = _, prefix = _, uri = _, ns = _); end + def start_element(name, attrs = T.unsafe(nil)); end + def start_element_namespace(name, attrs = T.unsafe(nil), prefix = T.unsafe(nil), uri = T.unsafe(nil), ns = T.unsafe(nil)); end def warning(string); end def xmldecl(version, encoding, standalone); end end class Nokogiri::XML::SAX::Parser - def initialize(doc = _, encoding = _); end + def initialize(doc = T.unsafe(nil), encoding = T.unsafe(nil)); end def document; end def document=(_); end @@ -1397,7 +1446,7 @@ class Nokogiri::XML::SAX::Parser def encoding=(_); end def parse(thing, &block); end def parse_file(filename); end - def parse_io(io, encoding = _); end + def parse_io(io, encoding = T.unsafe(nil)); end def parse_memory(data); end private @@ -1419,16 +1468,18 @@ class Nokogiri::XML::SAX::ParserContext def replace_entities; end def replace_entities=(_); end - def self.file(_); end - def self.io(_, _); end - def self.memory(_); end - def self.new(thing, encoding = _); end + class << self + def file(_); end + def io(_, _); end + def memory(_); end + def new(thing, encoding = T.unsafe(nil)); end + end end class Nokogiri::XML::SAX::PushParser - def initialize(doc = _, file_name = _, encoding = _); end + def initialize(doc = T.unsafe(nil), file_name = T.unsafe(nil), encoding = T.unsafe(nil)); end - def <<(chunk, last_chunk = _); end + def <<(chunk, last_chunk = T.unsafe(nil)); end def document; end def document=(_); end def finish; end @@ -1436,7 +1487,7 @@ class Nokogiri::XML::SAX::PushParser def options=(_); end def replace_entities; end def replace_entities=(_); end - def write(chunk, last_chunk = _); end + def write(chunk, last_chunk = T.unsafe(nil)); end private @@ -1455,9 +1506,11 @@ class Nokogiri::XML::Schema def validate_document(_); end def validate_file(_); end - def self.from_document(_); end - def self.new(string_or_io); end - def self.read_memory(_); end + class << self + def from_document(_); end + def new(string_or_io); end + def read_memory(_); end + end end module Nokogiri::XML::Searchable @@ -1509,7 +1562,9 @@ end class Nokogiri::XML::Text < ::Nokogiri::XML::CharacterData def content=(string); end - def self.new(*_); end + class << self + def new(*_); end + end end Nokogiri::XML::XML_C14N_1_0 = T.let(T.unsafe(nil), Integer) @@ -1533,19 +1588,25 @@ class Nokogiri::XML::XPathContext def register_ns(_, _); end def register_variable(_, _); end - def self.new(_); end + class << self + def new(_); end + end end module Nokogiri::XSLT - def self.parse(string, modules = _); end - def self.quote_params(params); end - def self.register(_, _); end + class << self + def parse(string, modules = T.unsafe(nil)); end + def quote_params(params); end + def register(_, _); end + end end class Nokogiri::XSLT::Stylesheet - def apply_to(document, params = _); end + def apply_to(document, params = T.unsafe(nil)); end def serialize(_); end def transform(*_); end - def self.parse_stylesheet_doc(_); end + class << self + def parse_stylesheet_doc(_); end + end end diff --git a/Library/Homebrew/sorbet/rbi/gems/ntlm-http@0.1.1.rbi b/Library/Homebrew/sorbet/rbi/gems/ntlm-http@0.1.1.rbi index ac12411ec2..8ad5317067 100644 --- a/Library/Homebrew/sorbet/rbi/gems/ntlm-http@0.1.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/ntlm-http@0.1.1.rbi @@ -1,24 +1,27 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ntlm-http` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Net::NTLM - def self.apply_des(plain, keys); end - def self.decode_utf16le(str); end - def self.encode_utf16le(str); end - def self.gen_keys(str); end - def self.lm_hash(password); end - def self.lm_response(arg); end - def self.lmv2_response(arg, opt = _); end - def self.ntlm2_session(arg, opt = _); end - def self.ntlm_hash(password, opt = _); end - def self.ntlm_response(arg); end - def self.ntlmv2_hash(user, password, target, opt = _); end - def self.ntlmv2_response(arg, opt = _); end - def self.pack_int64le(val); end - def self.split7(str); end - def self.swap16(str); end + class << self + def apply_des(plain, keys); end + def decode_utf16le(str); end + def encode_utf16le(str); end + def gen_keys(str); end + def lm_hash(password); end + def lm_response(arg); end + def lmv2_response(arg, opt = T.unsafe(nil)); end + def ntlm2_session(arg, opt = T.unsafe(nil)); end + def ntlm_hash(password, opt = T.unsafe(nil)); end + def ntlm_response(arg); end + def ntlmv2_hash(user, password, target, opt = T.unsafe(nil)); end + def ntlmv2_response(arg, opt = T.unsafe(nil)); end + def pack_int64le(val); end + def split7(str); end + def swap16(str); end + end end class Net::NTLM::Blob < ::Net::NTLM::FieldSet @@ -37,7 +40,9 @@ class Net::NTLM::Blob < ::Net::NTLM::FieldSet def unknown2; end def unknown2=(val); end - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end class Net::NTLM::Field @@ -57,40 +62,47 @@ class Net::NTLM::FieldSet def []=(name, val); end def disable(name); end def enable(name); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end def size; end - def self.define(&block); end - def self.int16LE(name, opts); end - def self.int32LE(name, opts); end - def self.int64LE(name, opts); end - def self.names; end - def self.opts; end - def self.prototypes; end - def self.security_buffer(name, opts); end - def self.string(name, opts); end - def self.types; end + class << self + def define(&block); end + def int16LE(name, opts); end + def int32LE(name, opts); end + def int64LE(name, opts); end + def names; end + def opts; end + def prototypes; end + def security_buffer(name, opts); end + def string(name, opts); end + def types; end + + private + + def add_field(name, type, opts); end + def define_accessor(name); end + end end class Net::NTLM::Int16LE < ::Net::NTLM::Field def initialize(opt); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end end class Net::NTLM::Int32LE < ::Net::NTLM::Field def initialize(opt); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end end class Net::NTLM::Int64LE < ::Net::NTLM::Field def initialize(opt); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end end @@ -111,8 +123,10 @@ class Net::NTLM::Message < ::Net::NTLM::FieldSet def deflag; end def security_buffers; end - def self.decode64(str); end - def self.parse(str); end + class << self + def decode64(str); end + def parse(str); end + end end class Net::NTLM::Message::Type0 < ::Net::NTLM::Message @@ -121,7 +135,9 @@ class Net::NTLM::Message::Type0 < ::Net::NTLM::Message def type; end def type=(val); end - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end class Net::NTLM::Message::Type1 < ::Net::NTLM::Message @@ -139,8 +155,10 @@ class Net::NTLM::Message::Type1 < ::Net::NTLM::Message def workstation; end def workstation=(val); end - def self.inherited(subclass); end - def self.parse(str); end + class << self + def inherited(subclass); end + def parse(str); end + end end class Net::NTLM::Message::Type2 < ::Net::NTLM::Message @@ -153,7 +171,7 @@ class Net::NTLM::Message::Type2 < ::Net::NTLM::Message def padding; end def padding=(val); end def parse(str); end - def response(arg, opt = _); end + def response(arg, opt = T.unsafe(nil)); end def sign; end def sign=(val); end def target_info; end @@ -163,8 +181,10 @@ class Net::NTLM::Message::Type2 < ::Net::NTLM::Message def type; end def type=(val); end - def self.inherited(subclass); end - def self.parse(str); end + class << self + def inherited(subclass); end + def parse(str); end + end end class Net::NTLM::Message::Type3 < ::Net::NTLM::Message @@ -187,9 +207,11 @@ class Net::NTLM::Message::Type3 < ::Net::NTLM::Message def workstation; end def workstation=(val); end - def self.create(arg, opt = _); end - def self.inherited(subclass); end - def self.parse(str); end + class << self + def create(arg, opt = T.unsafe(nil)); end + def inherited(subclass); end + def parse(str); end + end end class Net::NTLM::SecurityBuffer < ::Net::NTLM::FieldSet @@ -204,18 +226,20 @@ class Net::NTLM::SecurityBuffer < ::Net::NTLM::FieldSet def length=(val); end def offset; end def offset=(val); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end def value; end def value=(val); end - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end class Net::NTLM::String < ::Net::NTLM::Field def initialize(opts); end - def parse(str, offset = _); end + def parse(str, offset = T.unsafe(nil)); end def serialize; end def value=(val); end end diff --git a/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi b/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi index 29e0e10469..6478f47ee6 100644 --- a/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/parallel@1.19.2.rbi @@ -1,22 +1,40 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `parallel` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Parallel extend(::Parallel::ProcessorCount) - def self.all?(*args, &block); end - def self.any?(*args, &block); end - def self.each(array, options = _, &block); end - def self.each_with_index(array, options = _, &block); end - def self.flat_map(*args, &block); end - def self.in_processes(options = _, &block); end - def self.in_threads(options = _); end - def self.map(source, options = _, &block); end - def self.map_with_index(array, options = _, &block); end - def self.worker_number; end - def self.worker_number=(worker_num); end + class << self + def all?(*args, &block); end + def any?(*args, &block); end + def each(array, options = T.unsafe(nil), &block); end + def each_with_index(array, options = T.unsafe(nil), &block); end + def flat_map(*args, &block); end + def in_processes(options = T.unsafe(nil), &block); end + def in_threads(options = T.unsafe(nil)); end + def map(source, options = T.unsafe(nil), &block); end + def map_with_index(array, options = T.unsafe(nil), &block); end + def worker_number; end + def worker_number=(worker_num); end + + private + + def add_progress_bar!(job_factory, options); end + def call_with_index(item, index, options, &block); end + def create_workers(job_factory, options, &block); end + def extract_count_from_options(options); end + def handle_exception(exception, results); end + def process_incoming_jobs(read, write, job_factory, options, &block); end + def replace_worker(job_factory, workers, i, options, blk); end + def with_instrumentation(item, index, options); end + def work_direct(job_factory, options, &block); end + def work_in_processes(job_factory, options, &blk); end + def work_in_threads(job_factory, options, &block); end + def worker(job_factory, options, &block); end + end end class Parallel::Break < ::StandardError @@ -62,8 +80,15 @@ class Parallel::UndumpableException < ::StandardError end class Parallel::UserInterruptHandler - def self.kill(thing); end - def self.kill_on_ctrl_c(pids, options); end + class << self + def kill(thing); end + def kill_on_ctrl_c(pids, options); end + + private + + def restore_interrupt(old, signal); end + def trap_interrupt(signal); end + end end Parallel::UserInterruptHandler::INTERRUPT_SIGNAL = T.let(T.unsafe(nil), Symbol) diff --git a/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.1.0.rbi b/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.1.0.rbi index 4a2558461a..b814b40f1d 100644 --- a/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.1.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/parallel_tests@3.1.0.rbi @@ -1,22 +1,25 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `parallel_tests` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module ParallelTests - def self.bundler_enabled?; end - def self.delta; end - def self.determine_number_of_processes(count); end - def self.first_process?; end - def self.last_process?; end - def self.now; end - def self.number_of_running_processes; end - def self.pid_file_path; end - def self.pids; end - def self.stop_all_processes; end - def self.wait_for_other_processes_to_finish; end - def self.with_pid_file; end - def self.with_ruby_binary(command); end + class << self + def bundler_enabled?; end + def delta; end + def determine_number_of_processes(count); end + def first_process?; end + def last_process?; end + def now; end + def number_of_running_processes; end + def pid_file_path; end + def pids; end + def stop_all_processes; end + def wait_for_other_processes_to_finish; end + def with_pid_file; end + def with_ruby_binary(command); end + end end class ParallelTests::CLI @@ -49,9 +52,21 @@ class ParallelTests::CLI end class ParallelTests::Grouper - def self.by_scenarios(tests, num_groups, options = _); end - def self.by_steps(tests, num_groups, options); end - def self.in_even_groups_by_size(items, num_groups, options = _); end + class << self + def by_scenarios(tests, num_groups, options = T.unsafe(nil)); end + def by_steps(tests, num_groups, options); end + def in_even_groups_by_size(items, num_groups, options = T.unsafe(nil)); end + + private + + def add_to_group(group, item, size); end + def group_by_features_with_steps(tests, options); end + def group_by_scenarios(tests, options = T.unsafe(nil)); end + def group_features_by_size(items, groups_to_fill); end + def items_to_group(items); end + def largest_first(files); end + def smallest_group(groups); end + end end class ParallelTests::Pids diff --git a/Library/Homebrew/sorbet/rbi/gems/parlour@4.0.0.rbi b/Library/Homebrew/sorbet/rbi/gems/parlour@4.0.1.rbi similarity index 58% rename from Library/Homebrew/sorbet/rbi/gems/parlour@4.0.0.rbi rename to Library/Homebrew/sorbet/rbi/gems/parlour@4.0.1.rbi index 11091f1f37..2dd51b9823 100644 --- a/Library/Homebrew/sorbet/rbi/gems/parlour@4.0.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/parlour@4.0.1.rbi @@ -1,6 +1,6 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `parlour` gem. -# Please instead update this file by running `tapioca sync --exclude json`. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/parser@2.7.1.4.rbi b/Library/Homebrew/sorbet/rbi/gems/parser@2.7.1.4.rbi index 67b7fecda2..dcec51aa9b 100644 --- a/Library/Homebrew/sorbet/rbi/gems/parser@2.7.1.4.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/parser@2.7.1.4.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `parser` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -133,7 +134,7 @@ class Parser::AST::Processor < ::AST::Processor end class Parser::Base < ::Racc::Parser - def initialize(builder = _); end + def initialize(builder = T.unsafe(nil)); end def builder; end def context; end @@ -147,20 +148,26 @@ class Parser::Base < ::Racc::Parser def reset; end def source_buffer; end def static_env; end - def tokenize(source_buffer, recover = _); end + def tokenize(source_buffer, recover = T.unsafe(nil)); end private def check_kwarg_name(name_t); end - def diagnostic(level, reason, arguments, location_t, highlights_ts = _); end + def diagnostic(level, reason, arguments, location_t, highlights_ts = T.unsafe(nil)); end def next_token; end def on_error(error_token_id, error_value, value_stack); end - def self.default_parser; end - def self.parse(string, file = _, line = _); end - def self.parse_file(filename); end - def self.parse_file_with_comments(filename); end - def self.parse_with_comments(string, file = _, line = _); end + class << self + def default_parser; end + def parse(string, file = T.unsafe(nil), line = T.unsafe(nil)); end + def parse_file(filename); end + def parse_file_with_comments(filename); end + def parse_with_comments(string, file = T.unsafe(nil), line = T.unsafe(nil)); end + + private + + def setup_source_buffer(file, line, string, encoding); end + end end module Parser::Builders @@ -176,7 +183,7 @@ class Parser::Builders::Default def alias(alias_t, to, from); end def arg(name_t); end def arg_expr(expr); end - def args(begin_t, args, end_t, check_args = _); end + def args(begin_t, args, end_t, check_args = T.unsafe(nil)); end def array(begin_t, elements, end_t); end def array_pattern(lbrack_t, elements, rbrack_t); end def assign(lhs, eql_t, rhs); end @@ -185,7 +192,7 @@ class Parser::Builders::Default def attr_asgn(receiver, dot_t, selector_t); end def back_ref(token); end def begin(begin_t, body, end_t); end - def begin_body(compound_stmt, rescue_bodies = _, else_t = _, else_ = _, ensure_t = _, ensure_ = _); end + def begin_body(compound_stmt, rescue_bodies = T.unsafe(nil), else_t = T.unsafe(nil), else_ = T.unsafe(nil), ensure_t = T.unsafe(nil), ensure_ = T.unsafe(nil)); end def begin_keyword(begin_t, body, end_t); end def binary_op(receiver, operator_t, arg); end def block(method_call, begin_t, args, body, end_t); end @@ -193,7 +200,7 @@ class Parser::Builders::Default def blockarg(amper_t, name_t); end def blockarg_expr(amper_t, expr); end def call_lambda(lambda_t); end - def call_method(receiver, dot_t, selector_t, lparen_t = _, args = _, rparen_t = _); end + def call_method(receiver, dot_t, selector_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end def call_type_for_dot(dot_t); end def case(case_t, expr, when_bodies, else_t, else_body, end_t); end def case_match(case_t, expr, in_bodies, else_t, else_body, end_t); end @@ -235,11 +242,11 @@ class Parser::Builders::Default def index_asgn(receiver, lbrack_t, indexes, rbrack_t); end def integer(integer_t); end def ivar(token); end - def keyword_cmd(type, keyword_t, lparen_t = _, args = _, rparen_t = _); end + def keyword_cmd(type, keyword_t, lparen_t = T.unsafe(nil), args = T.unsafe(nil), rparen_t = T.unsafe(nil)); end def kwarg(name_t); end def kwnilarg(dstar_t, nil_t); end def kwoptarg(name_t, value); end - def kwrestarg(dstar_t, name_t = _); end + def kwrestarg(dstar_t, name_t = T.unsafe(nil)); end def kwsplat(dstar_t, arg); end def logical_op(type, lhs, op_t, rhs); end def loop(type, keyword_t, cond, do_t, body, end_t); end @@ -252,18 +259,18 @@ class Parser::Builders::Default def match_nil_pattern(dstar_t, nil_t); end def match_op(receiver, match_t, arg); end def match_pair(label_type, label, value); end - def match_rest(star_t, name_t = _); end + def match_rest(star_t, name_t = T.unsafe(nil)); end def match_var(name_t); end def match_with_trailing_comma(match, comma_t); end def multi_assign(lhs, eql_t, rhs); end def multi_lhs(begin_t, items, end_t); end def multi_rassign(lhs, assoc_t, rhs); end def nil(nil_t); end - def not_op(not_t, begin_t = _, receiver = _, end_t = _); end + def not_op(not_t, begin_t = T.unsafe(nil), receiver = T.unsafe(nil), end_t = T.unsafe(nil)); end def nth_ref(token); end def numargs(max_numparam); end def objc_kwarg(kwname_t, assoc_t, name_t); end - def objc_restarg(star_t, name = _); end + def objc_restarg(star_t, name = T.unsafe(nil)); end def objc_varargs(pair, rest_of_varargs); end def op_assign(lhs, op_t, rhs); end def optarg(name_t, eql_t, value); end @@ -284,11 +291,11 @@ class Parser::Builders::Default def regexp_compose(begin_t, parts, end_t, options); end def regexp_options(regopt_t); end def rescue_body(rescue_t, exc_list, assoc_t, exc_var, then_t, compound_stmt); end - def restarg(star_t, name_t = _); end - def restarg_expr(star_t, expr = _); end + def restarg(star_t, name_t = T.unsafe(nil)); end + def restarg_expr(star_t, expr = T.unsafe(nil)); end def self(token); end def shadowarg(name_t); end - def splat(star_t, arg = _); end + def splat(star_t, arg = T.unsafe(nil)); end def string(string_t); end def string_compose(begin_t, parts, end_t); end def string_internal(string_t); end @@ -310,13 +317,13 @@ class Parser::Builders::Default private def arg_name_collides?(this_name, that_name); end - def arg_prefix_map(op_t, name_t = _); end + def arg_prefix_map(op_t, name_t = T.unsafe(nil)); end def binary_op_map(left_e, op_t, right_e); end def block_map(receiver_l, begin_t, end_t); end def check_assignment_to_numparam(node); end def check_condition(cond); end - def check_duplicate_arg(this_arg, map = _); end - def check_duplicate_args(args, map = _); end + def check_duplicate_arg(this_arg, map = T.unsafe(nil)); end + def check_duplicate_args(args, map = T.unsafe(nil)); end def check_duplicate_pattern_key(name, loc); end def check_duplicate_pattern_variable(name, loc); end def check_lvar_name(name, loc); end @@ -326,7 +333,7 @@ class Parser::Builders::Default def constant_map(scope, colon2_t, name_t); end def definition_map(keyword_t, operator_t, name_t, end_t); end def delimited_string_map(string_t); end - def diagnostic(type, reason, arguments, location, highlights = _); end + def diagnostic(type, reason, arguments, location, highlights = T.unsafe(nil)); end def eh_keyword_map(compstmt_e, keyword_t, body_es, else_t, else_e); end def endless_definition_map(keyword_t, operator_t, name_t, assignment_t, body_e); end def expr_map(loc); end @@ -336,7 +343,7 @@ class Parser::Builders::Default def join_exprs(left_expr, right_expr); end def keyword_map(keyword_t, begin_t, args, end_t); end def keyword_mod_map(pre_e, keyword_t, post_e); end - def kwarg_map(name_t, value_e = _); end + def kwarg_map(name_t, value_e = T.unsafe(nil)); end def loc(token); end def module_definition_map(keyword_t, name_e, operator_t, end_t); end def n(type, children, source_map); end @@ -350,7 +357,7 @@ class Parser::Builders::Default def rescue_body_map(keyword_t, exc_list_e, assoc_t, exc_var_e, then_t, compstmt_e); end def send_binary_op_map(lhs_e, selector_t, rhs_e); end def send_index_map(receiver_e, lbrack_t, rbrack_t); end - def send_map(receiver_e, dot_t, selector_t, begin_t = _, args = _, end_t = _); end + def send_map(receiver_e, dot_t, selector_t, begin_t = T.unsafe(nil), args = T.unsafe(nil), end_t = T.unsafe(nil)); end def send_unary_op_map(selector_t, arg_e); end def static_regexp(parts, options); end def static_regexp_node(node); end @@ -359,26 +366,28 @@ class Parser::Builders::Default def string_value(token); end def ternary_map(begin_e, question_t, mid_e, colon_t, end_e); end def token_map(token); end - def unary_op_map(op_t, arg_e = _); end + def unary_op_map(op_t, arg_e = T.unsafe(nil)); end def unquoted_map(token); end def validate_definee(definee); end def value(token); end def var_send_map(variable_e); end def variable_map(name_t); end - def self.emit_arg_inside_procarg0; end - def self.emit_arg_inside_procarg0=(_); end - def self.emit_encoding; end - def self.emit_encoding=(_); end - def self.emit_forward_arg; end - def self.emit_forward_arg=(_); end - def self.emit_index; end - def self.emit_index=(_); end - def self.emit_lambda; end - def self.emit_lambda=(_); end - def self.emit_procarg0; end - def self.emit_procarg0=(_); end - def self.modernize; end + class << self + def emit_arg_inside_procarg0; end + def emit_arg_inside_procarg0=(_); end + def emit_encoding; end + def emit_encoding=(_); end + def emit_forward_arg; end + def emit_forward_arg=(_); end + def emit_index; end + def emit_index=(_); end + def emit_lambda; end + def emit_lambda=(_); end + def emit_procarg0; end + def emit_procarg0=(_); end + def modernize; end + end end class Parser::ClobberingError < ::RuntimeError @@ -418,7 +427,7 @@ module Parser::Deprecation end class Parser::Diagnostic - def initialize(level, reason, arguments, location, highlights = _); end + def initialize(level, reason, arguments, location, highlights = T.unsafe(nil)); end def arguments; end def highlights; end @@ -432,11 +441,11 @@ class Parser::Diagnostic def first_line_only(range); end def last_line_only(range); end - def render_line(range, ellipsis = _, range_end = _); end + def render_line(range, ellipsis = T.unsafe(nil), range_end = T.unsafe(nil)); end end class Parser::Diagnostic::Engine - def initialize(consumer = _); end + def initialize(consumer = T.unsafe(nil)); end def all_errors_are_fatal; end def all_errors_are_fatal=(_); end @@ -480,7 +489,7 @@ class Parser::Lexer def pop_cond; end def push_cmdarg; end def push_cond; end - def reset(reset_state = _); end + def reset(reset_state = T.unsafe(nil)); end def source_buffer; end def source_buffer=(source_buffer); end def state; end @@ -493,74 +502,97 @@ class Parser::Lexer protected def arg_or_cmdarg(cmd_state); end - def diagnostic(type, reason, arguments = _, location = _, highlights = _); end - def emit(type, value = _, s = _, e = _); end - def emit_comment(s = _, e = _); end - def emit_do(do_block = _); end - def emit_table(table, s = _, e = _); end + def diagnostic(type, reason, arguments = T.unsafe(nil), location = T.unsafe(nil), highlights = T.unsafe(nil)); end + def emit(type, value = T.unsafe(nil), s = T.unsafe(nil), e = T.unsafe(nil)); end + def emit_comment(s = T.unsafe(nil), e = T.unsafe(nil)); end + def emit_do(do_block = T.unsafe(nil)); end + def emit_table(table, s = T.unsafe(nil), e = T.unsafe(nil)); end def encode_escape(ord); end def eof_codepoint?(point); end def literal; end def next_state_for_literal(literal); end def pop_literal; end def push_literal(*args); end - def range(s = _, e = _); end + def range(s = T.unsafe(nil), e = T.unsafe(nil)); end def stack_pop; end - def tok(s = _, e = _); end + def tok(s = T.unsafe(nil), e = T.unsafe(nil)); end def version?(*versions); end - def self.lex_en_expr_arg; end - def self.lex_en_expr_arg=(_); end - def self.lex_en_expr_beg; end - def self.lex_en_expr_beg=(_); end - def self.lex_en_expr_cmdarg; end - def self.lex_en_expr_cmdarg=(_); end - def self.lex_en_expr_dot; end - def self.lex_en_expr_dot=(_); end - def self.lex_en_expr_end; end - def self.lex_en_expr_end=(_); end - def self.lex_en_expr_endarg; end - def self.lex_en_expr_endarg=(_); end - def self.lex_en_expr_endfn; end - def self.lex_en_expr_endfn=(_); end - def self.lex_en_expr_fname; end - def self.lex_en_expr_fname=(_); end - def self.lex_en_expr_labelarg; end - def self.lex_en_expr_labelarg=(_); end - def self.lex_en_expr_mid; end - def self.lex_en_expr_mid=(_); end - def self.lex_en_expr_value; end - def self.lex_en_expr_value=(_); end - def self.lex_en_expr_variable; end - def self.lex_en_expr_variable=(_); end - def self.lex_en_interp_backslash_delimited; end - def self.lex_en_interp_backslash_delimited=(_); end - def self.lex_en_interp_backslash_delimited_words; end - def self.lex_en_interp_backslash_delimited_words=(_); end - def self.lex_en_interp_string; end - def self.lex_en_interp_string=(_); end - def self.lex_en_interp_words; end - def self.lex_en_interp_words=(_); end - def self.lex_en_leading_dot; end - def self.lex_en_leading_dot=(_); end - def self.lex_en_line_begin; end - def self.lex_en_line_begin=(_); end - def self.lex_en_line_comment; end - def self.lex_en_line_comment=(_); end - def self.lex_en_plain_backslash_delimited; end - def self.lex_en_plain_backslash_delimited=(_); end - def self.lex_en_plain_backslash_delimited_words; end - def self.lex_en_plain_backslash_delimited_words=(_); end - def self.lex_en_plain_string; end - def self.lex_en_plain_string=(_); end - def self.lex_en_plain_words; end - def self.lex_en_plain_words=(_); end - def self.lex_en_regexp_modifiers; end - def self.lex_en_regexp_modifiers=(_); end - def self.lex_error; end - def self.lex_error=(_); end - def self.lex_start; end - def self.lex_start=(_); end + class << self + def lex_en_expr_arg; end + def lex_en_expr_arg=(_); end + def lex_en_expr_beg; end + def lex_en_expr_beg=(_); end + def lex_en_expr_cmdarg; end + def lex_en_expr_cmdarg=(_); end + def lex_en_expr_dot; end + def lex_en_expr_dot=(_); end + def lex_en_expr_end; end + def lex_en_expr_end=(_); end + def lex_en_expr_endarg; end + def lex_en_expr_endarg=(_); end + def lex_en_expr_endfn; end + def lex_en_expr_endfn=(_); end + def lex_en_expr_fname; end + def lex_en_expr_fname=(_); end + def lex_en_expr_labelarg; end + def lex_en_expr_labelarg=(_); end + def lex_en_expr_mid; end + def lex_en_expr_mid=(_); end + def lex_en_expr_value; end + def lex_en_expr_value=(_); end + def lex_en_expr_variable; end + def lex_en_expr_variable=(_); end + def lex_en_interp_backslash_delimited; end + def lex_en_interp_backslash_delimited=(_); end + def lex_en_interp_backslash_delimited_words; end + def lex_en_interp_backslash_delimited_words=(_); end + def lex_en_interp_string; end + def lex_en_interp_string=(_); end + def lex_en_interp_words; end + def lex_en_interp_words=(_); end + def lex_en_leading_dot; end + def lex_en_leading_dot=(_); end + def lex_en_line_begin; end + def lex_en_line_begin=(_); end + def lex_en_line_comment; end + def lex_en_line_comment=(_); end + def lex_en_plain_backslash_delimited; end + def lex_en_plain_backslash_delimited=(_); end + def lex_en_plain_backslash_delimited_words; end + def lex_en_plain_backslash_delimited_words=(_); end + def lex_en_plain_string; end + def lex_en_plain_string=(_); end + def lex_en_plain_words; end + def lex_en_plain_words=(_); end + def lex_en_regexp_modifiers; end + def lex_en_regexp_modifiers=(_); end + def lex_error; end + def lex_error=(_); end + def lex_start; end + def lex_start=(_); end + + private + + def _lex_eof_trans; end + def _lex_eof_trans=(_); end + def _lex_from_state_actions; end + def _lex_from_state_actions=(_); end + def _lex_index_offsets; end + def _lex_index_offsets=(_); end + def _lex_indicies; end + def _lex_indicies=(_); end + def _lex_key_spans; end + def _lex_key_spans=(_); end + def _lex_to_state_actions; end + def _lex_to_state_actions=(_); end + def _lex_trans_actions; end + def _lex_trans_actions=(_); end + def _lex_trans_keys; end + def _lex_trans_keys=(_); end + def _lex_trans_targs; end + def _lex_trans_targs=(_); end + end end class Parser::Lexer::Dedenter @@ -581,7 +613,7 @@ Parser::Lexer::KEYWORDS_BEGIN = T.let(T.unsafe(nil), Hash) Parser::Lexer::LEX_STATES = T.let(T.unsafe(nil), Hash) class Parser::Lexer::Literal - def initialize(lexer, str_type, delimiter, str_s, heredoc_e = _, indent = _, dedent_body = _, label_allowed = _); end + def initialize(lexer, str_type, delimiter, str_s, heredoc_e = T.unsafe(nil), indent = T.unsafe(nil), dedent_body = T.unsafe(nil), label_allowed = T.unsafe(nil)); end def backslash_delimited?; end def dedent_level; end @@ -595,7 +627,7 @@ class Parser::Lexer::Literal def infer_indent_level(line); end def interpolate?; end def munge_escape?(character); end - def nest_and_try_closing(delimiter, ts, te, lookahead = _); end + def nest_and_try_closing(delimiter, ts, te, lookahead = T.unsafe(nil)); end def plain_heredoc?; end def regexp?; end def saved_herebody_s; end @@ -659,7 +691,9 @@ class Parser::MaxNumparamStack end module Parser::Messages - def self.compile(reason, arguments); end + class << self + def compile(reason, arguments); end + end end module Parser::Meta @@ -687,7 +721,7 @@ module Parser::Source end class Parser::Source::Buffer - def initialize(name, first_line = _, source: _); end + def initialize(name, first_line = T.unsafe(nil), source: T.unsafe(nil)); end def column_for_position(position); end def decompose_position(position); end @@ -710,8 +744,10 @@ class Parser::Source::Buffer def line_begins; end def line_for(position); end - def self.recognize_encoding(string); end - def self.reencode_string(input); end + class << self + def recognize_encoding(string); end + def reencode_string(input); end + end end Parser::Source::Buffer::ENCODING_RE = T.let(T.unsafe(nil), Regexp) @@ -728,8 +764,10 @@ class Parser::Source::Comment def text; end def type; end - def self.associate(ast, comments); end - def self.associate_locations(ast, comments); end + class << self + def associate(ast, comments); end + def associate_locations(ast, comments); end + end end class Parser::Source::Comment::Associator @@ -913,7 +951,7 @@ class Parser::Source::Map::Ternary < ::Parser::Source::Map end class Parser::Source::Map::Variable < ::Parser::Source::Map - def initialize(name_l, expression_l = _); end + def initialize(name_l, expression_l = T.unsafe(nil)); end def name; end def operator; end @@ -926,11 +964,12 @@ end class Parser::Source::Range include(::Comparable) + include(::RuboCop::AST::Ext::Range) def initialize(source_buffer, begin_pos, end_pos); end def <=>(other); end - def adjust(begin_pos: _, end_pos: _); end + def adjust(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end def begin; end def begin_pos; end def column; end @@ -962,7 +1001,7 @@ class Parser::Source::Range def to_a; end def to_range; end def to_s; end - def with(begin_pos: _, end_pos: _); end + def with(begin_pos: T.unsafe(nil), end_pos: T.unsafe(nil)); end end class Parser::Source::Rewriter @@ -1012,7 +1051,7 @@ end class Parser::Source::Rewriter::Action include(::Comparable) - def initialize(range, replacement = _, allow_multiple_insertions = _, order = _); end + def initialize(range, replacement = T.unsafe(nil), allow_multiple_insertions = T.unsafe(nil), order = T.unsafe(nil)); end def <=>(other); end def allow_multiple_insertions; end @@ -1028,13 +1067,13 @@ Parser::Source::Rewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) class Parser::Source::TreeRewriter extend(::Parser::Deprecation) - def initialize(source_buffer, crossing_deletions: _, different_replacements: _, swallowed_insertions: _); end + def initialize(source_buffer, crossing_deletions: T.unsafe(nil), different_replacements: T.unsafe(nil), swallowed_insertions: T.unsafe(nil)); end def as_nested_actions; end def as_replacements; end def diagnostics; end def empty?; end - def import!(foreign_rewriter, offset: _); end + def import!(foreign_rewriter, offset: T.unsafe(nil)); end def in_transaction?; end def insert_after(range, content); end def insert_after_multi(range, text); end @@ -1059,13 +1098,13 @@ class Parser::Source::TreeRewriter def check_range_validity(range); end def combine(range, attributes); end def enforce_policy(event); end - def trigger_policy(event, range: _, conflict: _, **arguments); end + def trigger_policy(event, range: T.unsafe(nil), conflict: T.unsafe(nil), **arguments); end end Parser::Source::TreeRewriter::ACTIONS = T.let(T.unsafe(nil), Array) class Parser::Source::TreeRewriter::Action - def initialize(range, enforcer, insert_before: _, replacement: _, insert_after: _, children: _); end + def initialize(range, enforcer, insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil), children: T.unsafe(nil)); end def combine(action); end def contract; end @@ -1082,7 +1121,7 @@ class Parser::Source::TreeRewriter::Action protected def analyse_hierarchy(action); end - def bsearch_child_index(from = _); end + def bsearch_child_index(from = T.unsafe(nil)); end def call_enforcer_for_merge(action); end def check_fusible(action, *fusible); end def children; end @@ -1092,7 +1131,7 @@ class Parser::Source::TreeRewriter::Action def merge(action); end def place_in_hierarchy(action); end def swallow(children); end - def with(range: _, enforcer: _, children: _, insert_before: _, replacement: _, insert_after: _); end + def with(range: T.unsafe(nil), enforcer: T.unsafe(nil), children: T.unsafe(nil), insert_before: T.unsafe(nil), replacement: T.unsafe(nil), insert_after: T.unsafe(nil)); end end Parser::Source::TreeRewriter::DEPRECATION_WARNING = T.let(T.unsafe(nil), String) diff --git a/Library/Homebrew/sorbet/rbi/gems/patchelf@1.2.0.rbi b/Library/Homebrew/sorbet/rbi/gems/patchelf@1.2.0.rbi index 1ca16ebbef..693c30d018 100644 --- a/Library/Homebrew/sorbet/rbi/gems/patchelf@1.2.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/patchelf@1.2.0.rbi @@ -1,6 +1,6 @@ # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `patchelf` gem. -# Please instead update this file by running `tapioca sync --exclude json`. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/plist@3.5.0.rbi b/Library/Homebrew/sorbet/rbi/gems/plist@3.5.0.rbi index c71ad6f371..b0e4e03527 100644 --- a/Library/Homebrew/sorbet/rbi/gems/plist@3.5.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/plist@3.5.0.rbi @@ -1,29 +1,34 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `plist` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Plist - def self.parse_xml(filename_or_xml); end + class << self + def parse_xml(filename_or_xml); end + end end module Plist::Emit - def save_plist(filename, options = _); end - def to_plist(envelope = _, options = _); end + def save_plist(filename, options = T.unsafe(nil)); end + def to_plist(envelope = T.unsafe(nil), options = T.unsafe(nil)); end - def self.comment(content); end - def self.dump(obj, envelope = _, options = _); end - def self.element_type(item); end - def self.plist_node(element, options = _); end - def self.save_plist(obj, filename, options = _); end - def self.tag(type, contents = _, options = _, &block); end - def self.wrap(contents); end + class << self + def comment(content); end + def dump(obj, envelope = T.unsafe(nil), options = T.unsafe(nil)); end + def element_type(item); end + def plist_node(element, options = T.unsafe(nil)); end + def save_plist(obj, filename, options = T.unsafe(nil)); end + def tag(type, contents = T.unsafe(nil), options = T.unsafe(nil), &block); end + def wrap(contents); end + end end Plist::Emit::DEFAULT_INDENT = T.let(T.unsafe(nil), String) class Plist::Emit::IndentedString - def initialize(str = _); end + def initialize(str = T.unsafe(nil)); end def <<(val); end def indent_string; end @@ -94,8 +99,10 @@ class Plist::PTag def text=(_); end def to_ruby; end - def self.inherited(sub_class); end - def self.mappings; end + class << self + def inherited(sub_class); end + def mappings; end + end end class Plist::PTrue < ::Plist::PTag diff --git a/Library/Homebrew/sorbet/rbi/gems/pry@0.13.1.rbi b/Library/Homebrew/sorbet/rbi/gems/pry@0.13.1.rbi index 27b1fb4bc6..666a7ad3ef 100644 --- a/Library/Homebrew/sorbet/rbi/gems/pry@0.13.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/pry@0.13.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `pry` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/rainbow@3.0.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rainbow@3.0.0.rbi index 3a5115bbf6..68324353c2 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rainbow@3.0.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rainbow@3.0.0.rbi @@ -1,21 +1,26 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rainbow` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Rainbow - def self.enabled; end - def self.enabled=(value); end - def self.global; end - def self.new; end - def self.uncolor(string); end + class << self + def enabled; end + def enabled=(value); end + def global; end + def new; end + def uncolor(string); end + end end class Rainbow::Color def ground; end - def self.build(ground, values); end - def self.parse_hex_color(hex); end + class << self + def build(ground, values); end + def parse_hex_color(hex); end + end end class Rainbow::Color::Indexed < ::Rainbow::Color @@ -28,8 +33,10 @@ end class Rainbow::Color::Named < ::Rainbow::Color::Indexed def initialize(ground, name); end - def self.color_names; end - def self.valid_names; end + class << self + def color_names; end + def valid_names; end + end end Rainbow::Color::Named::NAMES = T.let(T.unsafe(nil), Hash) @@ -46,7 +53,9 @@ class Rainbow::Color::RGB < ::Rainbow::Color::Indexed def code_from_rgb; end - def self.to_ansi_domain(value); end + class << self + def to_ansi_domain(value); end + end end class Rainbow::Color::X11Named < ::Rainbow::Color::RGB @@ -54,8 +63,10 @@ class Rainbow::Color::X11Named < ::Rainbow::Color::RGB def initialize(ground, name); end - def self.color_names; end - def self.valid_names; end + class << self + def color_names; end + def valid_names; end + end end class Rainbow::NullPresenter < ::String @@ -124,12 +135,14 @@ end Rainbow::Presenter::TERM_EFFECTS = T.let(T.unsafe(nil), Hash) class Rainbow::StringUtils - def self.uncolor(string); end - def self.wrap_with_sgr(string, codes); end + class << self + def uncolor(string); end + def wrap_with_sgr(string, codes); end + end end class Rainbow::Wrapper - def initialize(enabled = _); end + def initialize(enabled = T.unsafe(nil)); end def enabled; end def enabled=(_); end diff --git a/Library/Homebrew/sorbet/rbi/gems/rdiscount@2.2.0.1.rbi b/Library/Homebrew/sorbet/rbi/gems/rdiscount@2.2.0.1.rbi index 27b1fb4bc6..a305c3b76a 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rdiscount@2.2.0.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rdiscount@2.2.0.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rdiscount` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/regexp_parser@1.7.1.rbi b/Library/Homebrew/sorbet/rbi/gems/regexp_parser@1.7.1.rbi index c3f1a92010..18bff78b04 100644 --- a/Library/Homebrew/sorbet/rbi/gems/regexp_parser@1.7.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/regexp_parser@1.7.1.rbi @@ -1,10 +1,13 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `regexp_parser` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module Regexp::Expression - def self.parsed(exp); end + class << self + def parsed(exp); end + end end class Regexp::Expression::Alternation < ::Regexp::Expression::SequenceOperation @@ -87,7 +90,7 @@ class Regexp::Expression::Backreference::Base < ::Regexp::Expression::Base end class Regexp::Expression::Backreference::Name < ::Regexp::Expression::Backreference::Base - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def name; end def reference; end @@ -97,13 +100,13 @@ class Regexp::Expression::Backreference::NameCall < ::Regexp::Expression::Backre end class Regexp::Expression::Backreference::NameRecursionLevel < ::Regexp::Expression::Backreference::Name - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def recursion_level; end end class Regexp::Expression::Backreference::Number < ::Regexp::Expression::Backreference::Base - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def number; end def reference; end @@ -116,7 +119,7 @@ class Regexp::Expression::Backreference::NumberCallRelative < ::Regexp::Expressi end class Regexp::Expression::Backreference::NumberRecursionLevel < ::Regexp::Expression::Backreference::Number - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def recursion_level; end end @@ -128,9 +131,9 @@ class Regexp::Expression::Backreference::NumberRelative < ::Regexp::Expression:: end class Regexp::Expression::Base - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end - def =~(string, offset = _); end + def =~(string, offset = T.unsafe(nil)); end def a?; end def ascii_classes?; end def attributes; end @@ -146,19 +149,19 @@ class Regexp::Expression::Base def greedy?; end def i?; end def ignore_case?; end - def is?(test_token, test_type = _); end + def is?(test_token, test_type = T.unsafe(nil)); end def lazy?; end def level; end def level=(_); end def m?; end - def match(string, offset = _); end + def match(string, offset = T.unsafe(nil)); end def match?(string); end def matches?(string); end def multiline?; end def nesting_level; end def nesting_level=(_); end def offset; end - def one_of?(scope, top = _); end + def one_of?(scope, top = T.unsafe(nil)); end def options; end def options=(_); end def possessive?; end @@ -166,21 +169,21 @@ class Regexp::Expression::Base def quantifier; end def quantifier=(_); end def quantifier_affix(expression_format); end - def quantify(token, text, min = _, max = _, mode = _); end + def quantify(token, text, min = T.unsafe(nil), max = T.unsafe(nil), mode = T.unsafe(nil)); end def quantity; end def reluctant?; end def repetitions; end def set_level; end def set_level=(_); end def starts_at; end - def strfre(format = _, indent_offset = _, index = _); end - def strfregexp(format = _, indent_offset = _, index = _); end + def strfre(format = T.unsafe(nil), indent_offset = T.unsafe(nil), index = T.unsafe(nil)); end + def strfregexp(format = T.unsafe(nil), indent_offset = T.unsafe(nil), index = T.unsafe(nil)); end def terminal?; end def text; end def text=(_); end def to_h; end - def to_re(format = _); end - def to_s(format = _); end + def to_re(format = T.unsafe(nil)); end + def to_s(format = T.unsafe(nil)); end def token; end def token=(_); end def ts; end @@ -199,7 +202,7 @@ class Regexp::Expression::Base end class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def close; end def closed; end @@ -211,7 +214,7 @@ class Regexp::Expression::CharacterSet < ::Regexp::Expression::Subexpression def negative; end def negative=(_); end def negative?; end - def to_s(format = _); end + def to_s(format = T.unsafe(nil)); end end class Regexp::Expression::CharacterSet::IntersectedSequence < ::Regexp::Expression::Sequence @@ -229,7 +232,7 @@ class Regexp::Expression::CharacterSet::Range < ::Regexp::Expression::Subexpress def complete?; end def match_length; end def starts_at; end - def to_s(_format = _); end + def to_s(_format = T.unsafe(nil)); end def ts; end end @@ -291,8 +294,8 @@ end class Regexp::Expression::Conditional::Expression < ::Regexp::Expression::Subexpression def <<(exp); end - def add_sequence(active_opts = _); end - def branch(active_opts = _); end + def add_sequence(active_opts = T.unsafe(nil)); end + def branch(active_opts = T.unsafe(nil)); end def branches; end def condition; end def condition=(exp); end @@ -300,7 +303,7 @@ class Regexp::Expression::Conditional::Expression < ::Regexp::Expression::Subexp def reference; end def referenced_expression; end def referenced_expression=(_); end - def to_s(format = _); end + def to_s(format = T.unsafe(nil)); end end class Regexp::Expression::Conditional::TooManyBranches < ::StandardError @@ -385,7 +388,7 @@ end class Regexp::Expression::FreeSpace < ::Regexp::Expression::Base def match_length; end - def quantify(token, text, min = _, max = _, mode = _); end + def quantify(token, text, min = T.unsafe(nil), max = T.unsafe(nil), mode = T.unsafe(nil)); end end module Regexp::Expression::Group @@ -401,7 +404,7 @@ end class Regexp::Expression::Group::Base < ::Regexp::Expression::Subexpression def capturing?; end def comment?; end - def to_s(format = _); end + def to_s(format = T.unsafe(nil)); end end class Regexp::Expression::Group::Capture < ::Regexp::Expression::Group::Base @@ -415,11 +418,11 @@ end class Regexp::Expression::Group::Comment < ::Regexp::Expression::Group::Base def comment?; end - def to_s(_format = _); end + def to_s(_format = T.unsafe(nil)); end end class Regexp::Expression::Group::Named < ::Regexp::Expression::Group::Capture - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def identifier; end def name; end @@ -482,62 +485,66 @@ Regexp::Expression::Quantifier::MODES = T.let(T.unsafe(nil), Array) class Regexp::Expression::Root < ::Regexp::Expression::Subexpression def initialize(*args); end - def self.build(options = _); end - def self.build_token; end + class << self + def build(options = T.unsafe(nil)); end + def build_token; end + end end class Regexp::Expression::Sequence < ::Regexp::Expression::Subexpression def initialize(*args); end - def quantify(token, text, min = _, max = _, mode = _); end + def quantify(token, text, min = T.unsafe(nil), max = T.unsafe(nil), mode = T.unsafe(nil)); end def starts_at; end def ts; end - def self.add_to(subexpression, params = _, active_opts = _); end - def self.at_levels(level, set_level, conditional_level); end + class << self + def add_to(subexpression, params = T.unsafe(nil), active_opts = T.unsafe(nil)); end + def at_levels(level, set_level, conditional_level); end + end end class Regexp::Expression::SequenceOperation < ::Regexp::Expression::Subexpression def <<(exp); end - def add_sequence(active_opts = _); end + def add_sequence(active_opts = T.unsafe(nil)); end def operands; end def operator; end def sequences; end def starts_at; end - def to_s(format = _); end + def to_s(format = T.unsafe(nil)); end def ts; end end class Regexp::Expression::Subexpression < ::Regexp::Expression::Base include(::Enumerable) - def initialize(token, options = _); end + def initialize(token, options = T.unsafe(nil)); end def <<(exp); end def [](*args, &block); end def at(*args, &block); end def dig(*indices); end def each(*args, &block); end - def each_expression(include_self = _, &block); end + def each_expression(include_self = T.unsafe(nil), &block); end def empty?(*args, &block); end def expressions; end def expressions=(_); end def fetch(*args, &block); end - def flat_map(include_self = _, &block); end + def flat_map(include_self = T.unsafe(nil), &block); end def index(*args, &block); end def inner_match_length; end def join(*args, &block); end def last(*args, &block); end def length(*args, &block); end def match_length; end - def strfre_tree(format = _, include_self = _, separator = _); end - def strfregexp_tree(format = _, include_self = _, separator = _); end + def strfre_tree(format = T.unsafe(nil), include_self = T.unsafe(nil), separator = T.unsafe(nil)); end + def strfregexp_tree(format = T.unsafe(nil), include_self = T.unsafe(nil), separator = T.unsafe(nil)); end def te; end def to_h; end - def to_s(format = _); end - def traverse(include_self = _, &block); end + def to_s(format = T.unsafe(nil)); end + def traverse(include_self = T.unsafe(nil), &block); end def values_at(*args, &block); end - def walk(include_self = _, &block); end + def walk(include_self = T.unsafe(nil), &block); end private @@ -787,7 +794,7 @@ class Regexp::Expression::WhiteSpace < ::Regexp::Expression::FreeSpace end class Regexp::Lexer - def lex(input, syntax = _, &block); end + def lex(input, syntax = T.unsafe(nil), &block); end private @@ -807,8 +814,10 @@ class Regexp::Lexer def tokens; end def tokens=(_); end - def self.lex(input, syntax = _, &block); end - def self.scan(input, syntax = _, &block); end + class << self + def lex(input, syntax = T.unsafe(nil), &block); end + def scan(input, syntax = T.unsafe(nil), &block); end + end end Regexp::Lexer::CLOSING_TOKENS = T.let(T.unsafe(nil), Array) @@ -818,9 +827,9 @@ Regexp::Lexer::OPENING_TOKENS = T.let(T.unsafe(nil), Array) class Regexp::MatchLength include(::Enumerable) - def initialize(exp, opts = _); end + def initialize(exp, opts = T.unsafe(nil)); end - def each(opts = _); end + def each(opts = T.unsafe(nil)); end def endless_each(&block); end def fixed?; end def include?(length); end @@ -846,7 +855,9 @@ class Regexp::MatchLength def reify=(_); end def test_regexp; end - def self.of(obj); end + class << self + def of(obj); end + end end class Regexp::Parser @@ -854,7 +865,7 @@ class Regexp::Parser include(::Regexp::Syntax) include(::Regexp::Expression::UnicodeProperty) - def parse(input, syntax = _, &block); end + def parse(input, syntax = T.unsafe(nil), &block); end private @@ -909,7 +920,9 @@ class Regexp::Parser def type(token); end def update_transplanted_subtree(exp, new_parent); end - def self.parse(input, syntax = _, &block); end + class << self + def parse(input, syntax = T.unsafe(nil), &block); end + end end Regexp::Parser::ENC_FLAGS = T.let(T.unsafe(nil), Array) @@ -956,14 +969,16 @@ class Regexp::Scanner def set_depth=(_); end def spacing_stack; end def spacing_stack=(_); end - def text(data, ts, te, soff = _); end + def text(data, ts, te, soff = T.unsafe(nil)); end def tokens; end def tokens=(_); end def validation_error(type, what, reason); end - def self.long_prop_map; end - def self.scan(input_object, &block); end - def self.short_prop_map; end + class << self + def long_prop_map; end + def scan(input_object, &block); end + def short_prop_map; end + end end class Regexp::Scanner::InvalidBackrefError < ::Regexp::Scanner::ValidationError @@ -979,13 +994,13 @@ class Regexp::Scanner::InvalidGroupOption < ::Regexp::Scanner::ValidationError end class Regexp::Scanner::InvalidSequenceError < ::Regexp::Scanner::ValidationError - def initialize(what = _, where = _); end + def initialize(what = T.unsafe(nil), where = T.unsafe(nil)); end end Regexp::Scanner::PROP_MAPS_DIR = T.let(T.unsafe(nil), String) class Regexp::Scanner::PrematureEndError < ::Regexp::Scanner::ScannerError - def initialize(where = _); end + def initialize(where = T.unsafe(nil)); end end class Regexp::Scanner::ScannerError < ::StandardError @@ -1014,16 +1029,18 @@ module Regexp::Syntax def version_const_name(version_string); end def warn_if_future_version(const_name); end - def self.comparable_version(name); end - def self.const_missing(const_name); end - def self.fallback_version_class(version); end - def self.inherit_from_version(parent_version, new_version); end - def self.new(name); end - def self.specified_versions; end - def self.supported?(name); end - def self.version_class(version); end - def self.version_const_name(version_string); end - def self.warn_if_future_version(const_name); end + class << self + def comparable_version(name); end + def const_missing(const_name); end + def fallback_version_class(version); end + def inherit_from_version(parent_version, new_version); end + def new(name); end + def specified_versions; end + def supported?(name); end + def version_class(version); end + def version_const_name(version_string); end + def warn_if_future_version(const_name); end + end end class Regexp::Syntax::Any < ::Regexp::Syntax::Base @@ -1050,7 +1067,9 @@ class Regexp::Syntax::Base def normalize_backref(type, token); end def normalize_group(type, token); end - def self.inspect; end + class << self + def inspect; end + end end class Regexp::Syntax::InvalidVersionNameError < ::SyntaxError @@ -1500,8 +1519,10 @@ class Regexp::Token < ::Struct def type; end def type=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end diff --git a/Library/Homebrew/sorbet/rbi/gems/rexml@3.2.4.rbi b/Library/Homebrew/sorbet/rbi/gems/rexml@3.2.4.rbi index d01c2cbc39..fc9ca6fbbb 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rexml@3.2.4.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rexml@3.2.4.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rexml` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -43,7 +44,7 @@ class REXML::AttlistDecl < ::REXML::Child def element_name; end def include?(key); end def node_type; end - def write(out, indent = _); end + def write(out, indent = T.unsafe(nil)); end end class REXML::Attribute @@ -51,7 +52,7 @@ class REXML::Attribute include(::REXML::XMLTokens) include(::REXML::Namespace) - def initialize(first, second = _, parent = _); end + def initialize(first, second = T.unsafe(nil), parent = T.unsafe(nil)); end def ==(other); end def clone; end @@ -60,7 +61,7 @@ class REXML::Attribute def element=(element); end def hash; end def inspect; end - def namespace(arg = _); end + def namespace(arg = T.unsafe(nil)); end def node_type; end def normalized=(_); end def prefix; end @@ -68,7 +69,7 @@ class REXML::Attribute def to_s; end def to_string; end def value; end - def write(output, indent = _); end + def write(output, indent = T.unsafe(nil)); end def xpath; end end @@ -93,18 +94,18 @@ class REXML::Attributes < ::Hash end class REXML::CData < ::REXML::Text - def initialize(first, whitespace = _, parent = _); end + def initialize(first, whitespace = T.unsafe(nil), parent = T.unsafe(nil)); end def clone; end def to_s; end def value; end - def write(output = _, indent = _, transitive = _, ie_hack = _); end + def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end end class REXML::Child include(::REXML::Node) - def initialize(parent = _); end + def initialize(parent = T.unsafe(nil)); end def bytes; end def document; end @@ -121,7 +122,7 @@ end class REXML::Comment < ::REXML::Child include(::Comparable) - def initialize(first, second = _); end + def initialize(first, second = T.unsafe(nil)); end def <=>(other); end def ==(other); end @@ -130,7 +131,7 @@ class REXML::Comment < ::REXML::Child def string; end def string=(_); end def to_s; end - def write(output, indent = _, transitive = _, ie_hack = _); end + def write(output, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end end class REXML::Declaration < ::REXML::Child @@ -143,7 +144,7 @@ end class REXML::DocType < ::REXML::Parent include(::REXML::XMLTokens) - def initialize(first, parent = _); end + def initialize(first, parent = T.unsafe(nil)); end def add(child); end def attribute_of(element, attribute); end @@ -160,7 +161,7 @@ class REXML::DocType < ::REXML::Parent def notations; end def public; end def system; end - def write(output, indent = _, transitive = _, ie_hack = _); end + def write(output, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end private @@ -168,11 +169,11 @@ class REXML::DocType < ::REXML::Parent end class REXML::Document < ::REXML::Element - def initialize(source = _, context = _); end + def initialize(source = T.unsafe(nil), context = T.unsafe(nil)); end def <<(child); end def add(child); end - def add_element(arg = _, arg2 = _); end + def add_element(arg = T.unsafe(nil), arg2 = T.unsafe(nil)); end def clone; end def doctype; end def document; end @@ -192,26 +193,28 @@ class REXML::Document < ::REXML::Element def build(source); end - def self.entity_expansion_limit; end - def self.entity_expansion_limit=(val); end - def self.entity_expansion_text_limit; end - def self.entity_expansion_text_limit=(val); end - def self.parse_stream(source, listener); end + class << self + def entity_expansion_limit; end + def entity_expansion_limit=(val); end + def entity_expansion_text_limit; end + def entity_expansion_text_limit=(val); end + def parse_stream(source, listener); end + end end class REXML::Element < ::REXML::Parent include(::REXML::XMLTokens) include(::REXML::Namespace) - def initialize(arg = _, parent = _, context = _); end + def initialize(arg = T.unsafe(nil), parent = T.unsafe(nil), context = T.unsafe(nil)); end def [](name_or_index); end - def add_attribute(key, value = _); end + def add_attribute(key, value = T.unsafe(nil)); end def add_attributes(hash); end - def add_element(element, attrs = _); end - def add_namespace(prefix, uri = _); end + def add_element(element, attrs = T.unsafe(nil)); end + def add_namespace(prefix, uri = T.unsafe(nil)); end def add_text(text); end - def attribute(name, namespace = _); end + def attribute(name, namespace = T.unsafe(nil)); end def attributes; end def cdatas; end def clone; end @@ -220,21 +223,21 @@ class REXML::Element < ::REXML::Parent def context=(_); end def delete_attribute(key); end def delete_element(element); end - def delete_namespace(namespace = _); end + def delete_namespace(namespace = T.unsafe(nil)); end def document; end - def each_element(xpath = _, &block); end - def each_element_with_attribute(key, value = _, max = _, name = _, &block); end - def each_element_with_text(text = _, max = _, name = _, &block); end + def each_element(xpath = T.unsafe(nil), &block); end + def each_element_with_attribute(key, value = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end + def each_element_with_text(text = T.unsafe(nil), max = T.unsafe(nil), name = T.unsafe(nil), &block); end def elements; end def get_elements(xpath); end - def get_text(path = _); end + def get_text(path = T.unsafe(nil)); end def has_attributes?; end def has_elements?; end def has_text?; end def ignore_whitespace_nodes; end def inspect; end def instructions; end - def namespace(prefix = _); end + def namespace(prefix = T.unsafe(nil)); end def namespaces; end def next_element; end def node_type; end @@ -243,17 +246,17 @@ class REXML::Element < ::REXML::Parent def raw; end def root; end def root_node; end - def text(path = _); end + def text(path = T.unsafe(nil)); end def text=(text); end def texts; end def whitespace; end - def write(output = _, indent = _, transitive = _, ie_hack = _); end + def write(output = T.unsafe(nil), indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end def xpath; end private def __to_xpath_helper(node); end - def each_with_something(test, max = _, name = _); end + def each_with_something(test, max = T.unsafe(nil), name = T.unsafe(nil)); end end class REXML::Elements @@ -261,19 +264,19 @@ class REXML::Elements def initialize(parent); end - def <<(element = _); end - def [](index, name = _); end + def <<(element = T.unsafe(nil)); end + def [](index, name = T.unsafe(nil)); end def []=(index, element); end - def add(element = _); end - def collect(xpath = _); end + def add(element = T.unsafe(nil)); end + def collect(xpath = T.unsafe(nil)); end def delete(element); end def delete_all(xpath); end - def each(xpath = _); end + def each(xpath = T.unsafe(nil)); end def empty?; end def index(element); end - def inject(xpath = _, initial = _); end + def inject(xpath = T.unsafe(nil), initial = T.unsafe(nil)); end def size; end - def to_a(xpath = _); end + def to_a(xpath = T.unsafe(nil)); end private @@ -294,7 +297,7 @@ end class REXML::Entity < ::REXML::Child include(::REXML::XMLTokens) - def initialize(stream, value = _, parent = _, reference = _); end + def initialize(stream, value = T.unsafe(nil), parent = T.unsafe(nil), reference = T.unsafe(nil)); end def external; end def name; end @@ -305,9 +308,11 @@ class REXML::Entity < ::REXML::Child def to_s; end def unnormalized; end def value; end - def write(out, indent = _); end + def write(out, indent = T.unsafe(nil)); end - def self.matches?(string); end + class << self + def matches?(string); end + end end class REXML::ExternalEntity < ::REXML::Child @@ -318,7 +323,7 @@ class REXML::ExternalEntity < ::REXML::Child end class REXML::Formatters::Default - def initialize(ie_hack = _); end + def initialize(ie_hack = T.unsafe(nil)); end def write(node, output); end @@ -333,7 +338,7 @@ class REXML::Formatters::Default end class REXML::Formatters::Pretty < ::REXML::Formatters::Default - def initialize(indentation = _, ie_hack = _); end + def initialize(indentation = T.unsafe(nil), ie_hack = T.unsafe(nil)); end def compact; end def compact=(_); end @@ -350,20 +355,20 @@ class REXML::Formatters::Pretty < ::REXML::Formatters::Default private - def indent_text(string, level = _, style = _, indentfirstline = _); end + def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end def wrap(string, width); end end class REXML::IOSource < ::REXML::Source - def initialize(arg, block_size = _, encoding = _); end + def initialize(arg, block_size = T.unsafe(nil), encoding = T.unsafe(nil)); end def consume(pattern); end def current_line; end def empty?; end - def match(pattern, cons = _); end + def match(pattern, cons = T.unsafe(nil)); end def position; end def read; end - def scan(pattern, cons = _); end + def scan(pattern, cons = T.unsafe(nil)); end private @@ -372,7 +377,7 @@ class REXML::IOSource < ::REXML::Source end class REXML::Instruction < ::REXML::Child - def initialize(target, content = _); end + def initialize(target, content = T.unsafe(nil)); end def ==(other); end def clone; end @@ -382,7 +387,7 @@ class REXML::Instruction < ::REXML::Child def node_type; end def target; end def target=(_); end - def write(writer, indent = _, transitive = _, ie_hack = _); end + def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end end class REXML::NotationDecl < ::REXML::Child @@ -394,13 +399,13 @@ class REXML::NotationDecl < ::REXML::Child def system; end def system=(_); end def to_s; end - def write(output, indent = _); end + def write(output, indent = T.unsafe(nil)); end end class REXML::Output include(::REXML::Encoding) - def initialize(real_IO, encd = _); end + def initialize(real_IO, encd = T.unsafe(nil)); end def <<(content); end def encoding; end @@ -410,7 +415,7 @@ end class REXML::Parent < ::REXML::Child include(::Enumerable) - def initialize(parent = _); end + def initialize(parent = T.unsafe(nil)); end def <<(object); end def [](index); end @@ -437,7 +442,7 @@ class REXML::Parent < ::REXML::Child end class REXML::ParseException < ::RuntimeError - def initialize(message, source = _, parser = _, exception = _); end + def initialize(message, source = T.unsafe(nil), parser = T.unsafe(nil), exception = T.unsafe(nil)); end def context; end def continued_exception; end @@ -458,13 +463,13 @@ class REXML::Parsers::BaseParser def empty?; end def entity(reference, entities); end def has_next?; end - def normalize(input, entities = _, entity_filter = _); end - def peek(depth = _); end + def normalize(input, entities = T.unsafe(nil), entity_filter = T.unsafe(nil)); end + def peek(depth = T.unsafe(nil)); end def position; end def pull; end def source; end def stream=(source); end - def unnormalize(string, entities = _, filter = _); end + def unnormalize(string, entities = T.unsafe(nil), filter = T.unsafe(nil)); end def unshift(token); end private @@ -487,7 +492,7 @@ class REXML::Parsers::StreamParser end class REXML::Parsers::TreeParser - def initialize(source, build_context = _); end + def initialize(source, build_context = T.unsafe(nil)); end def add_listener(listener); end def parse; end @@ -532,7 +537,7 @@ REXML::Parsers::XPathParser::PREFIX_WILDCARD = T.let(T.unsafe(nil), Regexp) class REXML::Source include(::REXML::Encoding) - def initialize(arg, encoding = _); end + def initialize(arg, encoding = T.unsafe(nil)); end def buffer; end def consume(pattern); end @@ -541,12 +546,12 @@ class REXML::Source def encoding; end def encoding=(enc); end def line; end - def match(pattern, cons = _); end + def match(pattern, cons = T.unsafe(nil)); end def match_to(char, pattern); end def match_to_consume(char, pattern); end def position; end def read; end - def scan(pattern, cons = _); end + def scan(pattern, cons = T.unsafe(nil)); end private @@ -557,14 +562,14 @@ end class REXML::Text < ::REXML::Child include(::Comparable) - def initialize(arg, respect_whitespace = _, parent = _, raw = _, entity_filter = _, illegal = _); end + def initialize(arg, respect_whitespace = T.unsafe(nil), parent = T.unsafe(nil), raw = T.unsafe(nil), entity_filter = T.unsafe(nil), illegal = T.unsafe(nil)); end def <<(to_append); end def <=>(other); end def clone; end def doctype; end def empty?; end - def indent_text(string, level = _, style = _, indentfirstline = _); end + def indent_text(string, level = T.unsafe(nil), style = T.unsafe(nil), indentfirstline = T.unsafe(nil)); end def inspect; end def node_type; end def parent=(parent); end @@ -573,8 +578,8 @@ class REXML::Text < ::REXML::Child def to_s; end def value; end def value=(val); end - def wrap(string, width, addnewline = _); end - def write(writer, indent = _, transitive = _, ie_hack = _); end + def wrap(string, width, addnewline = T.unsafe(nil)); end + def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end def write_with_substitution(out, input); end def xpath; end @@ -582,17 +587,19 @@ class REXML::Text < ::REXML::Child def clear_cache; end - def self.check(string, pattern, doctype); end - def self.expand(ref, doctype, filter); end - def self.normalize(input, doctype = _, entity_filter = _); end - def self.read_with_substitution(input, illegal = _); end - def self.unnormalize(string, doctype = _, filter = _, illegal = _); end + class << self + def check(string, pattern, doctype); end + def expand(ref, doctype, filter); end + def normalize(input, doctype = T.unsafe(nil), entity_filter = T.unsafe(nil)); end + def read_with_substitution(input, illegal = T.unsafe(nil)); end + def unnormalize(string, doctype = T.unsafe(nil), filter = T.unsafe(nil), illegal = T.unsafe(nil)); end + end end class REXML::XMLDecl < ::REXML::Child include(::REXML::Encoding) - def initialize(version = _, encoding = _, standalone = _); end + def initialize(version = T.unsafe(nil), encoding = T.unsafe(nil), standalone = T.unsafe(nil)); end def ==(other); end def clone; end @@ -607,7 +614,7 @@ class REXML::XMLDecl < ::REXML::Child def standalone=(_); end def version; end def version=(_); end - def write(writer, indent = _, transitive = _, ie_hack = _); end + def write(writer, indent = T.unsafe(nil), transitive = T.unsafe(nil), ie_hack = T.unsafe(nil)); end def writeencoding; end def writethis; end def xmldecl(version, encoding, standalone); end @@ -616,11 +623,13 @@ class REXML::XMLDecl < ::REXML::Child def content(enc); end - def self.default; end + class << self + def default; end + end end class REXML::XPathNode - def initialize(node, context = _); end + def initialize(node, context = T.unsafe(nil)); end def context; end def position; end @@ -630,16 +639,16 @@ end class REXML::XPathParser include(::REXML::XMLTokens) - def initialize(strict: _); end + def initialize(strict: T.unsafe(nil)); end def []=(variable_name, value); end def first(path_stack, node); end def get_first(path, nodeset); end def match(path_stack, nodeset); end - def namespaces=(namespaces = _); end + def namespaces=(namespaces = T.unsafe(nil)); end def parse(path, nodeset); end def predicate(path, nodeset); end - def variables=(vars = _); end + def variables=(vars = T.unsafe(nil)); end private @@ -651,20 +660,20 @@ class REXML::XPathParser def enter(tag, *args); end def equality_relational_compare(set1, op, set2); end def evaluate_predicate(expression, nodesets); end - def expr(path_stack, nodeset, context = _); end + def expr(path_stack, nodeset, context = T.unsafe(nil)); end def filter_nodeset(nodeset); end def following(node); end def following_node_of(node); end def get_namespace(node, prefix); end def leave(tag, *args); end def next_sibling_node(node); end - def node_test(path_stack, nodesets, any_type: _); end + def node_test(path_stack, nodesets, any_type: T.unsafe(nil)); end def norm(b); end def normalize_compare_values(a, operator, b); end def preceding(node); end def preceding_node_of(node); end def sort(array_of_nodes, order); end - def step(path_stack, any_type: _, order: _); end + def step(path_stack, any_type: T.unsafe(nil), order: T.unsafe(nil)); end def strict?; end def trace(*args); end def unnode(nodeset); end diff --git a/Library/Homebrew/sorbet/rbi/gems/ronn@0.7.3.rbi b/Library/Homebrew/sorbet/rbi/gems/ronn@0.7.3.rbi index 27b1fb4bc6..cac8c5328c 100644 --- a/Library/Homebrew/sorbet/rbi/gems/ronn@0.7.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/ronn@0.7.3.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ronn` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-core@3.9.2.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-core@3.9.2.rbi index a511fdb79d..6252469a9c 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-core@3.9.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-core@3.9.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-core` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -7,34 +8,40 @@ module RSpec extend(::RSpec::Support::Warnings) extend(::RSpec::Core::Warnings) - def self.clear_examples; end - def self.configuration; end - def self.configuration=(_); end - def self.configure; end - def self.const_missing(name); end - def self.context(*args, &example_group_block); end - def self.current_example; end - def self.current_example=(example); end - def self.describe(*args, &example_group_block); end - def self.example_group(*args, &example_group_block); end - def self.fcontext(*args, &example_group_block); end - def self.fdescribe(*args, &example_group_block); end - def self.reset; end - def self.shared_context(name, *args, &block); end - def self.shared_examples(name, *args, &block); end - def self.shared_examples_for(name, *args, &block); end - def self.world; end - def self.world=(_); end - def self.xcontext(*args, &example_group_block); end - def self.xdescribe(*args, &example_group_block); end + class << self + def clear_examples; end + def configuration; end + def configuration=(_); end + def configure; end + def const_missing(name); end + def context(*args, &example_group_block); end + def current_example; end + def current_example=(example); end + def describe(*args, &example_group_block); end + def example_group(*args, &example_group_block); end + def fcontext(*args, &example_group_block); end + def fdescribe(*args, &example_group_block); end + def reset; end + def shared_context(name, *args, &block); end + def shared_examples(name, *args, &block); end + def shared_examples_for(name, *args, &block); end + def world; end + def world=(_); end + def xcontext(*args, &example_group_block); end + def xdescribe(*args, &example_group_block); end + end end module RSpec::Core - def self.path_to_executable; end + class << self + def path_to_executable; end + end end class RSpec::Core::AnonymousExampleGroup < ::RSpec::Core::ExampleGroup - def self.metadata; end + class << self + def metadata; end + end end class RSpec::Core::BacktraceFormatter @@ -45,7 +52,7 @@ class RSpec::Core::BacktraceFormatter def exclusion_patterns; end def exclusion_patterns=(_); end def filter_gem(gem_name); end - def format_backtrace(backtrace, options = _); end + def format_backtrace(backtrace, options = T.unsafe(nil)); end def full_backtrace=(_); end def full_backtrace?; end def inclusion_patterns; end @@ -62,29 +69,29 @@ class RSpec::Core::Configuration def initialize; end - def add_formatter(formatter, output = _); end - def add_setting(name, opts = _); end - def after(scope = _, *meta, &block); end + def add_formatter(formatter, output = T.unsafe(nil)); end + def add_setting(name, opts = T.unsafe(nil)); end + def after(scope = T.unsafe(nil), *meta, &block); end def alias_example_group_to(new_name, *args); end def alias_example_to(name, *args); end - def alias_it_behaves_like_to(new_name, report_label = _); end - def alias_it_should_behave_like_to(new_name, report_label = _); end - def append_after(scope = _, *meta, &block); end - def append_before(scope = _, *meta, &block); end + def alias_it_behaves_like_to(new_name, report_label = T.unsafe(nil)); end + def alias_it_should_behave_like_to(new_name, report_label = T.unsafe(nil)); end + def append_after(scope = T.unsafe(nil), *meta, &block); end + def append_before(scope = T.unsafe(nil), *meta, &block); end def apply_derived_metadata_to(metadata); end - def around(scope = _, *meta, &block); end + def around(scope = T.unsafe(nil), *meta, &block); end def backtrace_exclusion_patterns; end def backtrace_exclusion_patterns=(patterns); end def backtrace_formatter; end def backtrace_inclusion_patterns; end def backtrace_inclusion_patterns=(patterns); end - def before(scope = _, *meta, &block); end + def before(scope = T.unsafe(nil), *meta, &block); end def bisect_runner; end def bisect_runner=(value); end def bisect_runner_class; end def color; end def color=(_); end - def color_enabled?(output = _); end + def color_enabled?(output = T.unsafe(nil)); end def color_mode; end def color_mode=(_); end def configure_example(example, example_hooks); end @@ -162,7 +169,7 @@ class RSpec::Core::Configuration def force(hash); end def format_docstrings(&block); end def format_docstrings_block; end - def formatter=(formatter, output = _); end + def formatter=(formatter, output = T.unsafe(nil)); end def formatter_loader; end def formatters; end def full_backtrace=(true_or_false); end @@ -202,8 +209,8 @@ class RSpec::Core::Configuration def pending_color=(_); end def pending_color?; end def prepend(mod, *filters); end - def prepend_after(scope = _, *meta, &block); end - def prepend_before(scope = _, *meta, &block); end + def prepend_after(scope = T.unsafe(nil), *meta, &block); end + def prepend_before(scope = T.unsafe(nil), *meta, &block); end def profile_examples; end def profile_examples=(_); end def profile_examples?; end @@ -274,7 +281,7 @@ class RSpec::Core::Configuration def load_file_handling_errors(method, file); end def metadata_applies_to_group?(meta, group); end def on_existing_matching_groups(meta); end - def output_to_tty?(output = _); end + def output_to_tty?(output = T.unsafe(nil)); end def output_wrapper; end def paths_to_check(paths); end def pattern_might_load_specs_from_vendored_dirs?; end @@ -287,12 +294,14 @@ class RSpec::Core::Configuration def update_pattern_attr(name, value); end def value_for(key); end - def self.add_read_only_setting(name, opts = _); end - def self.add_setting(name, opts = _); end - def self.define_aliases(name, alias_name); end - def self.define_predicate_for(*names); end - def self.define_reader(name); end - def self.delegate_to_ordering_manager(*methods); end + class << self + def add_read_only_setting(name, opts = T.unsafe(nil)); end + def add_setting(name, opts = T.unsafe(nil)); end + def define_aliases(name, alias_name); end + def define_predicate_for(*names); end + def define_reader(name); end + def delegate_to_ordering_manager(*methods); end + end end RSpec::Core::Configuration::DEFAULT_FORMATTER = T.let(T.unsafe(nil), Proc) @@ -401,15 +410,17 @@ RSpec::Core::ConfigurationOptions::UNFORCED_OPTIONS = T.let(T.unsafe(nil), RSpec RSpec::Core::ConfigurationOptions::UNPROCESSABLE_OPTIONS = T.let(T.unsafe(nil), RSpec::Core::Set) module RSpec::Core::DSL - def self.change_global_dsl(&changes); end - def self.example_group_aliases; end - def self.expose_example_group_alias(name); end - def self.expose_example_group_alias_globally(method_name); end - def self.expose_globally!; end - def self.exposed_globally?; end - def self.remove_globally!; end - def self.top_level; end - def self.top_level=(_); end + class << self + def change_global_dsl(&changes); end + def example_group_aliases; end + def expose_example_group_alias(name); end + def expose_example_group_alias_globally(method_name); end + def expose_globally!; end + def exposed_globally?; end + def remove_globally!; end + def top_level; end + def top_level=(_); end + end end class RSpec::Core::DeprecationError < ::StandardError @@ -429,14 +440,14 @@ class RSpec::Core::DidYouMean end class RSpec::Core::Example - def initialize(example_group_class, description, user_metadata, example_block = _); end + def initialize(example_group_class, description, user_metadata, example_block = T.unsafe(nil)); end def clock; end def clock=(_); end def description; end def display_exception; end def display_exception=(ex); end - def duplicate_with(metadata_overrides = _); end + def duplicate_with(metadata_overrides = T.unsafe(nil)); end def example_group; end def example_group_instance; end def exception; end @@ -480,8 +491,10 @@ class RSpec::Core::Example def with_around_and_singleton_context_hooks; end def with_around_example_hooks; end - def self.delegate_to_metadata(key); end - def self.parse_id(id); end + class << self + def delegate_to_metadata(key); end + def parse_id(id); end + end end RSpec::Core::Example::AllExceptionsExcludingDangerousOnesOnRubiesThatAllowIt = RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue @@ -575,7 +588,7 @@ class RSpec::Core::ExampleGroup extend(::RSpec::Core::MemoizedHelpers::ClassMethods) extend(::RSpec::Core::SharedExampleGroup) - def initialize(inspect_output = _); end + def initialize(inspect_output = T.unsafe(nil)); end def described_class; end def inspect; end @@ -584,73 +597,79 @@ class RSpec::Core::ExampleGroup def method_missing(name, *args); end - def self.add_example(example); end - def self.before_context_ivars; end - def self.children; end - def self.context(*args, &example_group_block); end - def self.currently_executing_a_context_hook?; end - def self.declaration_locations; end - def self.define_example_group_method(name, metadata = _); end - def self.define_example_method(name, extra_options = _); end - def self.define_nested_shared_group_method(new_name, report_label = _); end - def self.delegate_to_metadata(*names); end - def self.descendant_filtered_examples; end - def self.descendants; end - def self.describe(*args, &example_group_block); end - def self.described_class; end - def self.description; end - def self.each_instance_variable_for_example(group); end - def self.ensure_example_groups_are_configured; end - def self.example(*all_args, &block); end - def self.example_group(*args, &example_group_block); end - def self.examples; end - def self.fcontext(*args, &example_group_block); end - def self.fdescribe(*args, &example_group_block); end - def self.fexample(*all_args, &block); end - def self.file_path; end - def self.filtered_examples; end - def self.find_and_eval_shared(label, name, inclusion_location, *args, &customization_block); end - def self.fit(*all_args, &block); end - def self.focus(*all_args, &block); end - def self.for_filtered_examples(reporter, &block); end - def self.fspecify(*all_args, &block); end - def self.id; end - def self.idempotently_define_singleton_method(name, &definition); end - def self.include_context(name, *args, &block); end - def self.include_examples(name, *args, &block); end - def self.it(*all_args, &block); end - def self.it_behaves_like(name, *args, &customization_block); end - def self.it_should_behave_like(name, *args, &customization_block); end - def self.location; end - def self.metadata; end - def self.next_runnable_index_for(file); end - def self.ordering_strategy; end - def self.parent_groups; end - def self.pending(*all_args, &block); end - def self.remove_example(example); end - def self.reset_memoized; end - def self.run(reporter = _); end - def self.run_after_context_hooks(example_group_instance); end - def self.run_before_context_hooks(example_group_instance); end - def self.run_examples(reporter); end - def self.set_it_up(description, args, registration_collection, &example_group_block); end - def self.set_ivars(instance, ivars); end - def self.skip(*all_args, &block); end - def self.specify(*all_args, &block); end - def self.store_before_context_ivars(example_group_instance); end - def self.subclass(parent, description, args, registration_collection, &example_group_block); end - def self.superclass_before_context_ivars; end - def self.superclass_metadata; end - def self.top_level?; end - def self.top_level_description; end - def self.traverse_tree_until(&block); end - def self.update_inherited_metadata(updates); end - def self.with_replaced_metadata(meta); end - def self.xcontext(*args, &example_group_block); end - def self.xdescribe(*args, &example_group_block); end - def self.xexample(*all_args, &block); end - def self.xit(*all_args, &block); end - def self.xspecify(*all_args, &block); end + class << self + def add_example(example); end + def before_context_ivars; end + def children; end + def context(*args, &example_group_block); end + def currently_executing_a_context_hook?; end + def declaration_locations; end + def define_example_group_method(name, metadata = T.unsafe(nil)); end + def define_example_method(name, extra_options = T.unsafe(nil)); end + def define_nested_shared_group_method(new_name, report_label = T.unsafe(nil)); end + def delegate_to_metadata(*names); end + def descendant_filtered_examples; end + def descendants; end + def describe(*args, &example_group_block); end + def described_class; end + def description; end + def each_instance_variable_for_example(group); end + def ensure_example_groups_are_configured; end + def example(*all_args, &block); end + def example_group(*args, &example_group_block); end + def examples; end + def fcontext(*args, &example_group_block); end + def fdescribe(*args, &example_group_block); end + def fexample(*all_args, &block); end + def file_path; end + def filtered_examples; end + def find_and_eval_shared(label, name, inclusion_location, *args, &customization_block); end + def fit(*all_args, &block); end + def focus(*all_args, &block); end + def for_filtered_examples(reporter, &block); end + def fspecify(*all_args, &block); end + def id; end + def idempotently_define_singleton_method(name, &definition); end + def include_context(name, *args, &block); end + def include_examples(name, *args, &block); end + def it(*all_args, &block); end + def it_behaves_like(name, *args, &customization_block); end + def it_should_behave_like(name, *args, &customization_block); end + def location; end + def metadata; end + def next_runnable_index_for(file); end + def ordering_strategy; end + def parent_groups; end + def pending(*all_args, &block); end + def remove_example(example); end + def reset_memoized; end + def run(reporter = T.unsafe(nil)); end + def run_after_context_hooks(example_group_instance); end + def run_before_context_hooks(example_group_instance); end + def run_examples(reporter); end + def set_it_up(description, args, registration_collection, &example_group_block); end + def set_ivars(instance, ivars); end + def skip(*all_args, &block); end + def specify(*all_args, &block); end + def store_before_context_ivars(example_group_instance); end + def subclass(parent, description, args, registration_collection, &example_group_block); end + def superclass_before_context_ivars; end + def superclass_metadata; end + def top_level?; end + def top_level_description; end + def traverse_tree_until(&block); end + def update_inherited_metadata(updates); end + def with_replaced_metadata(meta); end + def xcontext(*args, &example_group_block); end + def xdescribe(*args, &example_group_block); end + def xexample(*all_args, &block); end + def xit(*all_args, &block); end + def xspecify(*all_args, &block); end + + private + + def method_missing(name, *args); end + end end RSpec::Core::ExampleGroup::INSTANCE_VARIABLE_TO_IGNORE = T.let(T.unsafe(nil), Symbol) @@ -668,8 +687,10 @@ class RSpec::Core::ExampleStatusPersister def dump_statuses(unparsed_previous_runs); end def statuses_from_this_run; end - def self.load_from(file_name); end - def self.persist(examples, file_name); end + class << self + def load_from(file_name); end + def persist(examples, file_name); end + end end RSpec::Core::ExclusionRules = RSpec::Core::FilterRules @@ -698,7 +719,7 @@ class RSpec::Core::FilterManager end class RSpec::Core::FilterRules - def initialize(rules = _); end + def initialize(rules = T.unsafe(nil)); end def [](key); end def add(updated); end @@ -715,7 +736,9 @@ class RSpec::Core::FilterRules def rules; end def use_only(updated); end - def self.build; end + class << self + def build; end + end end RSpec::Core::FilterRules::PROC_HEX_NUMBER = T.let(T.unsafe(nil), Regexp) @@ -758,11 +781,15 @@ module RSpec::Core::FlatMap def flat_map(array, &block); end - def self.flat_map(array, &block); end + class << self + def flat_map(array, &block); end + end end module RSpec::Core::Formatters - def self.register(formatter_class, *notifications); end + class << self + def register(formatter_class, *notifications); end + end end class RSpec::Core::Formatters::BisectDRbFormatter < ::RSpec::Core::Formatters::BaseBisectFormatter @@ -779,9 +806,11 @@ module RSpec::Core::Formatters::ConsoleCodes def console_code_for(code_or_symbol); end def wrap(text, code_or_symbol); end - def self.config_colors_to_methods; end - def self.console_code_for(code_or_symbol); end - def self.wrap(text, code_or_symbol); end + class << self + def config_colors_to_methods; end + def console_code_for(code_or_symbol); end + def wrap(text, code_or_symbol); end + end end RSpec::Core::Formatters::ConsoleCodes::VT100_CODES = T.let(T.unsafe(nil), Hash) @@ -832,10 +861,12 @@ class RSpec::Core::Formatters::DeprecationFormatter::GeneratedDeprecationMessage def type; end def type=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Formatters::DeprecationFormatter::ImmediatePrinter @@ -868,10 +899,12 @@ class RSpec::Core::Formatters::DeprecationFormatter::SpecifiedDeprecationMessage def deprecation_type_for(data); end def output_formatted(str); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end RSpec::Core::Formatters::DeprecationFormatter::TOO_MANY_WARNINGS_NOTICE = T.let(T.unsafe(nil), String) @@ -889,7 +922,7 @@ class RSpec::Core::Formatters::DocumentationFormatter < ::RSpec::Core::Formatter private - def current_indentation(offset = _); end + def current_indentation(offset = T.unsafe(nil)); end def failure_output(example); end def flush_messages; end def next_failure_index; end @@ -898,16 +931,16 @@ class RSpec::Core::Formatters::DocumentationFormatter < ::RSpec::Core::Formatter end class RSpec::Core::Formatters::ExceptionPresenter - def initialize(exception, example, options = _); end + def initialize(exception, example, options = T.unsafe(nil)); end - def colorized_formatted_backtrace(colorizer = _); end - def colorized_message_lines(colorizer = _); end + def colorized_formatted_backtrace(colorizer = T.unsafe(nil)); end + def colorized_message_lines(colorizer = T.unsafe(nil)); end def description; end def example; end def exception; end - def formatted_backtrace(exception = _); end + def formatted_backtrace(exception = T.unsafe(nil)); end def formatted_cause(exception); end - def fully_formatted(failure_number, colorizer = _); end + def fully_formatted(failure_number, colorizer = T.unsafe(nil)); end def fully_formatted_lines(failure_number, colorizer); end def message_lines; end @@ -920,13 +953,13 @@ class RSpec::Core::Formatters::ExceptionPresenter def encoded_string(string); end def encoding_of(string); end def exception_backtrace; end - def exception_class_name(exception = _); end + def exception_class_name(exception = T.unsafe(nil)); end def exception_lines; end def extra_detail_formatter; end def extra_failure_lines; end def failure_lines; end def failure_slash_error_lines; end - def final_exception(exception, previous = _); end + def final_exception(exception, previous = T.unsafe(nil)); end def find_failed_line; end def formatted_message_and_backtrace(colorizer); end def indent_lines(lines, failure_number); end @@ -956,7 +989,9 @@ class RSpec::Core::Formatters::ExceptionPresenter::Factory::CommonBacktraceTrunc end module RSpec::Core::Formatters::ExceptionPresenter::Factory::EmptyBacktraceFormatter - def self.format_backtrace(*_); end + class << self + def format_backtrace(*_); end + end end RSpec::Core::Formatters::ExceptionPresenter::PENDING_DETAIL_FORMATTER = T.let(T.unsafe(nil), Proc) @@ -975,10 +1010,16 @@ class RSpec::Core::Formatters::FallbackMessageFormatter end module RSpec::Core::Formatters::Helpers - def self.format_duration(duration); end - def self.format_seconds(float, precision = _); end - def self.organize_ids(ids); end - def self.pluralize(count, string); end + class << self + def format_duration(duration); end + def format_seconds(float, precision = T.unsafe(nil)); end + def organize_ids(ids); end + def pluralize(count, string); end + + private + + def strip_trailing_zeroes(string); end + end end RSpec::Core::Formatters::Helpers::DEFAULT_PRECISION = T.let(T.unsafe(nil), Integer) @@ -1049,7 +1090,9 @@ class RSpec::Core::Formatters::Loader def underscore(camel_cased_word); end def underscore_with_fix_for_non_standard_rspec_naming(string); end - def self.formatters; end + class << self + def formatters; end + end end class RSpec::Core::Formatters::ProfileFormatter @@ -1074,7 +1117,7 @@ class RSpec::Core::Formatters::ProgressFormatter < ::RSpec::Core::Formatters::Ba end class RSpec::Core::Formatters::SnippetExtractor - def initialize(source, beginning_line_number, max_line_count = _); end + def initialize(source, beginning_line_number, max_line_count = T.unsafe(nil)); end def beginning_line_number; end def expression_lines; end @@ -1090,10 +1133,12 @@ class RSpec::Core::Formatters::SnippetExtractor def location_nodes_at_beginning_line; end def unclosed_tokens_in_line_range(line_range); end - def self.extract_expression_lines_at(file_path, beginning_line_number, max_line_count = _); end - def self.extract_line_at(file_path, line_number); end - def self.least_indentation_from(lines); end - def self.source_from_file(path); end + class << self + def extract_expression_lines_at(file_path, beginning_line_number, max_line_count = T.unsafe(nil)); end + def extract_line_at(file_path, line_number); end + def least_indentation_from(lines); end + def source_from_file(path); end + end end class RSpec::Core::Formatters::SnippetExtractor::NoExpressionAtLineError < ::StandardError @@ -1115,17 +1160,23 @@ class RSpec::Core::Formatters::SyntaxHighlighter def color_enabled_implementation; end def implementation; end - def self.attempt_to_add_rspec_terms_to_coderay_keywords; end + class << self + def attempt_to_add_rspec_terms_to_coderay_keywords; end + end end module RSpec::Core::Formatters::SyntaxHighlighter::CodeRayImplementation - def self.highlight_syntax(lines); end + class << self + def highlight_syntax(lines); end + end end RSpec::Core::Formatters::SyntaxHighlighter::CodeRayImplementation::RESET_CODE = T.let(T.unsafe(nil), String) module RSpec::Core::Formatters::SyntaxHighlighter::NoSyntaxHighlightingImplementation - def self.highlight_syntax(lines); end + class << self + def highlight_syntax(lines); end + end end RSpec::Core::Formatters::SyntaxHighlighter::WindowsImplementation = RSpec::Core::Formatters::SyntaxHighlighter::NoSyntaxHighlightingImplementation @@ -1259,7 +1310,9 @@ module RSpec::Core::HashImitatable def issue_deprecation(_method_name, *_args); end def set_value(name, value); end - def self.included(klass); end + class << self + def included(klass); end + end end module RSpec::Core::HashImitatable::ClassMethods @@ -1301,10 +1354,12 @@ class RSpec::Core::Hooks::Hook < ::Struct def options; end def options=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Hooks::HookCollections @@ -1384,10 +1439,12 @@ class RSpec::Core::Invocations::PrintHelp < ::Struct def parser; end def parser=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Invocations::PrintVersion @@ -1413,8 +1470,8 @@ module RSpec::Core::MemoizedHelpers def initialize(*_); end def is_expected; end - def should(matcher = _, message = _); end - def should_not(matcher = _, message = _); end + def should(matcher = T.unsafe(nil), message = T.unsafe(nil)); end + def should_not(matcher = T.unsafe(nil), message = T.unsafe(nil)); end def subject; end private @@ -1422,33 +1479,41 @@ module RSpec::Core::MemoizedHelpers def __init_memoized; end def __memoized; end - def self.define_helpers_on(example_group); end - def self.get_constant_or_yield(example_group, name); end - def self.module_for(example_group); end + class << self + def define_helpers_on(example_group); end + def get_constant_or_yield(example_group, name); end + def module_for(example_group); end + end end module RSpec::Core::MemoizedHelpers::ClassMethods def let(name, &block); end def let!(name, &block); end - def subject(name = _, &block); end - def subject!(name = _, &block); end + def subject(name = T.unsafe(nil), &block); end + def subject!(name = T.unsafe(nil), &block); end end class RSpec::Core::MemoizedHelpers::ContextHookMemoized - def self.fetch_or_store(key, &_block); end - def self.isolate_for_context_hook(example_group_instance); end + class << self + def fetch_or_store(key, &_block); end + def isolate_for_context_hook(example_group_instance); end + end end class RSpec::Core::MemoizedHelpers::ContextHookMemoized::After < ::RSpec::Core::MemoizedHelpers::ContextHookMemoized - def self.article; end - def self.hook_expression; end - def self.hook_intention; end + class << self + def article; end + def hook_expression; end + def hook_intention; end + end end class RSpec::Core::MemoizedHelpers::ContextHookMemoized::Before < ::RSpec::Core::MemoizedHelpers::ContextHookMemoized - def self.article; end - def self.hook_expression; end - def self.hook_intention; end + class << self + def article; end + def hook_expression; end + def hook_intention; end + end end class RSpec::Core::MemoizedHelpers::NonThreadSafeMemoized @@ -1464,14 +1529,16 @@ class RSpec::Core::MemoizedHelpers::ThreadsafeMemoized end module RSpec::Core::Metadata - def self.ascend(metadata); end - def self.ascending(metadata); end - def self.build_hash_from(args, warn_about_example_group_filtering = _); end - def self.deep_hash_dup(object); end - def self.id_from(metadata); end - def self.location_tuple_from(metadata); end - def self.relative_path(line); end - def self.relative_path_regex; end + class << self + def ascend(metadata); end + def ascending(metadata); end + def build_hash_from(args, warn_about_example_group_filtering = T.unsafe(nil)); end + def deep_hash_dup(object); end + def id_from(metadata); end + def location_tuple_from(metadata); end + def relative_path(line); end + def relative_path_regex; end + end end class RSpec::Core::Metadata::ExampleGroupHash < ::RSpec::Core::Metadata::HashPopulator @@ -1481,9 +1548,11 @@ class RSpec::Core::Metadata::ExampleGroupHash < ::RSpec::Core::Metadata::HashPop def described_class; end def full_description; end - def self.backwards_compatibility_default_proc(&example_group_selector); end - def self.create(parent_group_metadata, user_metadata, example_group_index, *args, &block); end - def self.hash_with_backwards_compatibility_default_proc; end + class << self + def backwards_compatibility_default_proc(&example_group_selector); end + def create(parent_group_metadata, user_metadata, example_group_index, *args, &block); end + def hash_with_backwards_compatibility_default_proc; end + end end class RSpec::Core::Metadata::ExampleHash < ::RSpec::Core::Metadata::HashPopulator @@ -1493,7 +1562,9 @@ class RSpec::Core::Metadata::ExampleHash < ::RSpec::Core::Metadata::HashPopulato def described_class; end def full_description; end - def self.create(group_metadata, user_metadata, index_provider, description, block); end + class << self + def create(group_metadata, user_metadata, index_provider, description, block); end + end end class RSpec::Core::Metadata::HashPopulator @@ -1507,7 +1578,7 @@ class RSpec::Core::Metadata::HashPopulator private - def build_description_from(parent_description = _, my_description = _); end + def build_description_from(parent_description = T.unsafe(nil), my_description = T.unsafe(nil)); end def build_scoped_id_for(file_path); end def description_separator(parent_part, child_part); end def ensure_valid_user_keys; end @@ -1518,9 +1589,19 @@ end RSpec::Core::Metadata::RESERVED_KEYS = T.let(T.unsafe(nil), Array) module RSpec::Core::MetadataFilter - def self.apply?(predicate, filters, metadata); end - def self.filter_applies?(key, filter_value, metadata); end - def self.silence_metadata_example_group_deprecations; end + class << self + def apply?(predicate, filters, metadata); end + def filter_applies?(key, filter_value, metadata); end + def silence_metadata_example_group_deprecations; end + + private + + def filter_applies_to_any_value?(key, value, metadata); end + def filters_apply?(key, value, metadata); end + def id_filter_applies?(rerun_paths_to_scoped_ids, metadata); end + def location_filter_applies?(locations, metadata); end + def proc_filter_applies?(key, proc, metadata); end + end end class RSpec::Core::MultipleExceptionError < ::StandardError @@ -1541,14 +1622,18 @@ end module RSpec::Core::MultipleExceptionError::InterfaceTag def add(exception); end - def self.for(ex); end + class << self + def for(ex); end + end end module RSpec::Core::Notifications end class RSpec::Core::Notifications::CustomNotification < ::Struct - def self.for(options = _); end + class << self + def for(options = T.unsafe(nil)); end + end end class RSpec::Core::Notifications::DeprecationNotification < ::Struct @@ -1561,20 +1646,32 @@ class RSpec::Core::Notifications::DeprecationNotification < ::Struct def replacement; end def replacement=(_); end - def self.[](*_); end - def self.from_hash(data); end - def self.inspect; end - def self.members; end + class << self + def [](*_); end + def from_hash(data); end + def inspect; end + def members; end + + private + + def new(*_); end + end end class RSpec::Core::Notifications::ExampleNotification < ::Struct def example; end def example=(_); end - def self.[](*_); end - def self.for(example); end - def self.inspect; end - def self.members; end + class << self + def [](*_); end + def for(example); end + def inspect; end + def members; end + + private + + def new(*_); end + end end class RSpec::Core::Notifications::ExamplesNotification @@ -1583,8 +1680,8 @@ class RSpec::Core::Notifications::ExamplesNotification def examples; end def failed_examples; end def failure_notifications; end - def fully_formatted_failed_examples(colorizer = _); end - def fully_formatted_pending_examples(colorizer = _); end + def fully_formatted_failed_examples(colorizer = T.unsafe(nil)); end + def fully_formatted_pending_examples(colorizer = T.unsafe(nil)); end def notifications; end def pending_examples; end def pending_notifications; end @@ -1595,15 +1692,15 @@ class RSpec::Core::Notifications::ExamplesNotification end class RSpec::Core::Notifications::FailedExampleNotification < ::RSpec::Core::Notifications::ExampleNotification - def initialize(example, exception_presenter = _); end + def initialize(example, exception_presenter = T.unsafe(nil)); end - def colorized_formatted_backtrace(colorizer = _); end - def colorized_message_lines(colorizer = _); end + def colorized_formatted_backtrace(colorizer = T.unsafe(nil)); end + def colorized_message_lines(colorizer = T.unsafe(nil)); end def description; end def exception; end def formatted_backtrace; end - def fully_formatted(failure_number, colorizer = _); end - def fully_formatted_lines(failure_number, colorizer = _); end + def fully_formatted(failure_number, colorizer = T.unsafe(nil)); end + def fully_formatted_lines(failure_number, colorizer = T.unsafe(nil)); end def message_lines; end end @@ -1611,20 +1708,24 @@ class RSpec::Core::Notifications::GroupNotification < ::Struct def group; end def group=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Notifications::MessageNotification < ::Struct def message; end def message=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RSpec::Core::Notifications::NullColorizer @@ -1633,7 +1734,9 @@ module RSpec::Core::Notifications::NullColorizer def wrap(line, _code_or_symbol); end - def self.wrap(line, _code_or_symbol); end + class << self + def wrap(line, _code_or_symbol); end + end end class RSpec::Core::Notifications::NullNotification @@ -1672,14 +1775,16 @@ class RSpec::Core::Notifications::SeedNotification < ::Struct def used; end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Notifications::SkippedExampleNotification < ::RSpec::Core::Notifications::ExampleNotification - def fully_formatted(pending_number, colorizer = _); end + def fully_formatted(pending_number, colorizer = T.unsafe(nil)); end end class RSpec::Core::Notifications::StartNotification < ::Struct @@ -1688,17 +1793,19 @@ class RSpec::Core::Notifications::StartNotification < ::Struct def load_time; end def load_time=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Notifications::SummaryNotification < ::Struct include(::RSpec::Core::ShellEscape) - def colorized_rerun_commands(colorizer = _); end - def colorized_totals_line(colorizer = _); end + def colorized_rerun_commands(colorizer = T.unsafe(nil)); end + def colorized_totals_line(colorizer = T.unsafe(nil)); end def duration; end def duration=(_); end def errors_outside_of_examples_count; end @@ -1711,7 +1818,7 @@ class RSpec::Core::Notifications::SummaryNotification < ::Struct def failure_count; end def formatted_duration; end def formatted_load_time; end - def fully_formatted(colorizer = _); end + def fully_formatted(colorizer = T.unsafe(nil)); end def load_time; end def load_time=(_); end def pending_count; end @@ -1724,13 +1831,21 @@ class RSpec::Core::Notifications::SummaryNotification < ::Struct def duplicate_rerun_locations; end def rerun_argument_for(example); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::NullReporter + class << self + + private + + def method_missing(*_); end + end end module RSpec::Core::Ordering @@ -1742,7 +1857,7 @@ class RSpec::Core::Ordering::ConfigurationManager def force(hash); end def order=(type); end def ordering_registry; end - def register_ordering(name, strategy = _); end + def register_ordering(name, strategy = T.unsafe(nil)); end def seed; end def seed=(seed); end def seed_used?; end @@ -1841,7 +1956,7 @@ class RSpec::Core::OutputWrapper def readlines(*args, &block); end def readpartial(*args, &block); end def reopen(*args, &block); end - def respond_to?(name, priv = _); end + def respond_to?(name, priv = T.unsafe(nil)); end def rewind(*args, &block); end def seek(*args, &block); end def set_encoding(*args, &block); end @@ -1865,25 +1980,29 @@ class RSpec::Core::Parser def initialize(original_args); end def original_args; end - def parse(source = _); end + def parse(source = T.unsafe(nil)); end private - def add_tag_filter(options, filter_type, tag_name, value = _); end + def add_tag_filter(options, filter_type, tag_name, value = T.unsafe(nil)); end def configure_only_failures(options); end def parser(options); end def set_fail_fast(options, value); end - def self.parse(args, source = _); end + class << self + def parse(args, source = T.unsafe(nil)); end + end end module RSpec::Core::Pending - def pending(message = _); end - def skip(message = _); end + def pending(message = T.unsafe(nil)); end + def skip(message = T.unsafe(nil)); end - def self.mark_fixed!(example); end - def self.mark_pending!(example, message_or_bool); end - def self.mark_skipped!(example, message_or_bool); end + class << self + def mark_fixed!(example); end + def mark_pending!(example, message_or_bool); end + def mark_skipped!(example, message_or_bool); end + end end RSpec::Core::Pending::NOT_YET_IMPLEMENTED = T.let(T.unsafe(nil), String) @@ -1933,11 +2052,11 @@ class RSpec::Core::Reporter def notify_non_example_exception(exception, context_description); end def pending_examples; end def prepare_default(loader, output_stream, deprecation_stream); end - def publish(event, options = _); end + def publish(event, options = T.unsafe(nil)); end def register_listener(listener, *notifications); end def registered_listeners(notification); end def report(expected_example_count); end - def start(expected_example_count, time = _); end + def start(expected_example_count, time = T.unsafe(nil)); end def stop; end private @@ -1961,16 +2080,18 @@ module RSpec::Core::RubyProject def find_first_parent_containing(dir); end def root; end - def self.add_dir_to_load_path(dir); end - def self.add_to_load_path(*dirs); end - def self.ascend_until; end - def self.determine_root; end - def self.find_first_parent_containing(dir); end - def self.root; end + class << self + def add_dir_to_load_path(dir); end + def add_to_load_path(*dirs); end + def ascend_until; end + def determine_root; end + def find_first_parent_containing(dir); end + def root; end + end end class RSpec::Core::Runner - def initialize(options, configuration = _, world = _); end + def initialize(options, configuration = T.unsafe(nil), world = T.unsafe(nil)); end def configuration; end def configure(err, out); end @@ -1984,22 +2105,24 @@ class RSpec::Core::Runner def persist_example_statuses; end - def self.autorun; end - def self.autorun_disabled?; end - def self.disable_autorun!; end - def self.handle_interrupt; end - def self.installed_at_exit?; end - def self.invoke; end - def self.perform_at_exit; end - def self.run(args, err = _, out = _); end - def self.running_in_drb?; end - def self.trap_interrupt; end + class << self + def autorun; end + def autorun_disabled?; end + def disable_autorun!; end + def handle_interrupt; end + def installed_at_exit?; end + def invoke; end + def perform_at_exit; end + def run(args, err = T.unsafe(nil), out = T.unsafe(nil)); end + def running_in_drb?; end + def trap_interrupt; end + end end class RSpec::Core::Set include(::Enumerable) - def initialize(array = _); end + def initialize(array = T.unsafe(nil)); end def <<(key); end def clear; end @@ -2010,42 +2133,6 @@ class RSpec::Core::Set def merge(values); end end -module RSpec::Core::SharedContext - def __shared_context_recordings; end - def after(*args, &block); end - def append_after(*args, &block); end - def append_before(*args, &block); end - def around(*args, &block); end - def before(*args, &block); end - def context(*args, &block); end - def describe(*args, &block); end - def hooks(*args, &block); end - def included(group); end - def let(*args, &block); end - def let!(*args, &block); end - def prepend_after(*args, &block); end - def prepend_before(*args, &block); end - def subject(*args, &block); end - def subject!(*args, &block); end - - def self.record(methods); end -end - -class RSpec::Core::SharedContext::Recording < ::Struct - def args; end - def args=(_); end - def block; end - def block=(_); end - def method_name; end - def method_name=(_); end - def playback_onto(group); end - - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end -end - module RSpec::Core::SharedExampleGroup def shared_context(name, *args, &block); end def shared_examples(name, *args, &block); end @@ -2067,10 +2154,12 @@ class RSpec::Core::SharedExampleGroup::Registry end module RSpec::Core::SharedExampleGroup::TopLevelDSL - def self.definitions; end - def self.expose_globally!; end - def self.exposed_globally?; end - def self.remove_globally!; end + class << self + def definitions; end + def expose_globally!; end + def exposed_globally?; end + def remove_globally!; end + end end class RSpec::Core::SharedExampleGroupInclusionStackFrame @@ -2081,9 +2170,11 @@ class RSpec::Core::SharedExampleGroupInclusionStackFrame def inclusion_location; end def shared_group_name; end - def self.current_backtrace; end - def self.shared_example_group_inclusions; end - def self.with_frame(name, location); end + class << self + def current_backtrace; end + def shared_example_group_inclusions; end + def with_frame(name, location); end + end end class RSpec::Core::SharedExampleGroupModule < ::Module @@ -2105,10 +2196,12 @@ module RSpec::Core::ShellEscape def quote(argument); end def shell_allows_unquoted_ids?; end - def self.conditionally_quote(id); end - def self.escape(shell_command); end - def self.quote(argument); end - def self.shell_allows_unquoted_ids?; end + class << self + def conditionally_quote(id); end + def escape(shell_command); end + def quote(argument); end + def shell_allows_unquoted_ids?; end + end end RSpec::Core::ShellEscape::SHELLS_ALLOWING_UNQUOTED_IDS = T.let(T.unsafe(nil), Array) @@ -2120,7 +2213,9 @@ class RSpec::Core::SuiteHookContext < ::RSpec::Core::Example end class RSpec::Core::Time - def self.now; end + class << self + def now; end + end end module RSpec::Core::Version @@ -2129,13 +2224,13 @@ end RSpec::Core::Version::STRING = T.let(T.unsafe(nil), String) module RSpec::Core::Warnings - def deprecate(deprecated, data = _); end - def warn_deprecation(message, opts = _); end - def warn_with(message, options = _); end + def deprecate(deprecated, data = T.unsafe(nil)); end + def warn_deprecation(message, opts = T.unsafe(nil)); end + def warn_with(message, options = T.unsafe(nil)); end end class RSpec::Core::World - def initialize(configuration = _); end + def initialize(configuration = T.unsafe(nil)); end def all_example_groups; end def all_examples; end @@ -2143,7 +2238,7 @@ class RSpec::Core::World def announce_filters; end def announce_inclusion_filter(announcements); end def everything_filtered_message; end - def example_count(groups = _); end + def example_count(groups = T.unsafe(nil)); end def example_group_counts_by_spec_file; end def example_groups; end def exclusion_filter; end @@ -2175,22 +2270,26 @@ class RSpec::Core::World end module RSpec::Core::World::Null - def self.all_example_groups; end - def self.example_groups; end - def self.non_example_failure; end - def self.non_example_failure=(_); end - def self.registered_example_group_files; end - def self.traverse_example_group_trees_until; end + class << self + def all_example_groups; end + def example_groups; end + def non_example_failure; end + def non_example_failure=(_); end + def registered_example_group_files; end + def traverse_example_group_trees_until; end + end end module RSpec::ExampleGroups extend(::RSpec::Support::RecursiveConstMethods) - def self.assign_const(group); end - def self.base_name_for(group); end - def self.constant_scope_for(group); end - def self.disambiguate(name, const_scope); end - def self.remove_all_constants; end + class << self + def assign_const(group); end + def base_name_for(group); end + def constant_scope_for(group); end + def disambiguate(name, const_scope); end + def remove_all_constants; end + end end RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) @@ -2201,7 +2300,9 @@ module RSpec::Core::Bisect end class RSpec::Core::Bisect::BisectFailedError < ::StandardError - def self.for_failed_spec_run(spec_output); end + class << self + def for_failed_spec_run(spec_output); end + end end class RSpec::Core::Bisect::Channel @@ -2218,10 +2319,12 @@ class RSpec::Core::Bisect::ExampleSetDescriptor < ::Struct def failed_example_ids; end def failed_example_ids=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Core::Bisect::Notifier @@ -2244,7 +2347,9 @@ class RSpec::Core::ExampleStatusDumper def headers; end def rows; end - def self.dump(examples); end + class << self + def dump(examples); end + end end class RSpec::Core::ExampleStatusMerger @@ -2261,7 +2366,9 @@ class RSpec::Core::ExampleStatusMerger def sort_value_from(example); end def spec_file_from(ex_id); end - def self.merge(this_run, from_previous_runs); end + class << self + def merge(this_run, from_previous_runs); end + end end class RSpec::Core::ExampleStatusParser @@ -2275,7 +2382,9 @@ class RSpec::Core::ExampleStatusParser def parse_row(line); end def split_line(line); end - def self.parse(string); end + class << self + def parse(string); end + end end class RSpec::Core::Formatters::BaseBisectFormatter @@ -2285,7 +2394,9 @@ class RSpec::Core::Formatters::BaseBisectFormatter def example_finished(notification); end def start_dump(_notification); end - def self.inherited(formatter); end + class << self + def inherited(formatter); end + end end class RSpec::Core::Formatters::BaseFormatter @@ -2345,3 +2456,43 @@ RSpec::Core::Formatters::HtmlPrinter::GLOBAL_STYLES = T.let(T.unsafe(nil), Strin RSpec::Core::Formatters::HtmlPrinter::HTML_HEADER = T.let(T.unsafe(nil), String) RSpec::Core::Formatters::HtmlPrinter::REPORT_HEADER = T.let(T.unsafe(nil), String) + +module RSpec::Core::SharedContext + def __shared_context_recordings; end + def after(*args, &block); end + def append_after(*args, &block); end + def append_before(*args, &block); end + def around(*args, &block); end + def before(*args, &block); end + def context(*args, &block); end + def describe(*args, &block); end + def hooks(*args, &block); end + def included(group); end + def let(*args, &block); end + def let!(*args, &block); end + def prepend_after(*args, &block); end + def prepend_before(*args, &block); end + def subject(*args, &block); end + def subject!(*args, &block); end + + class << self + def record(methods); end + end +end + +class RSpec::Core::SharedContext::Recording < ::Struct + def args; end + def args=(_); end + def block; end + def block=(_); end + def method_name; end + def method_name=(_); end + def playback_onto(group); end + + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end +end diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-expectations@3.9.2.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-expectations@3.9.2.rbi index b1aed5dc1c..cec4824ec0 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-expectations@3.9.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-expectations@3.9.2.rbi @@ -1,18 +1,21 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-expectations` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module RSpec::Expectations - def self.configuration; end - def self.differ; end - def self.fail_with(message, expected = _, actual = _); end + class << self + def configuration; end + def differ; end + def fail_with(message, expected = T.unsafe(nil), actual = T.unsafe(nil)); end + end end class RSpec::Expectations::BlockExpectationTarget < ::RSpec::Expectations::ExpectationTarget - def not_to(matcher, message = _, &block); end - def to(matcher, message = _, &block); end - def to_not(matcher, message = _, &block); end + def not_to(matcher, message = T.unsafe(nil), &block); end + def to(matcher, message = T.unsafe(nil), &block); end + def to_not(matcher, message = T.unsafe(nil), &block); end private @@ -37,7 +40,9 @@ class RSpec::Expectations::BlockSnippetExtractor def source; end def source_location; end - def self.try_extracting_single_line_body_of(proc, method_name); end + class << self + def try_extracting_single_line_body_of(proc, method_name); end + end end class RSpec::Expectations::BlockSnippetExtractor::AmbiguousTargetError < ::RSpec::Expectations::BlockSnippetExtractor::Error @@ -62,10 +67,12 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockLocator < ::Struct def method_ident_node; end def method_ident_node?(node); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct @@ -101,10 +108,12 @@ class RSpec::Expectations::BlockSnippetExtractor::BlockTokenExtractor < ::Struct def pending_tokens; end def pipe_token?(token); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Expectations::BlockSnippetExtractor::Error < ::StandardError @@ -136,14 +145,18 @@ end RSpec::Expectations::Configuration::FALSE_POSITIVE_BEHAVIOURS = T.let(T.unsafe(nil), Hash) module RSpec::Expectations::Configuration::NullBacktraceFormatter - def self.format_backtrace(backtrace); end + class << self + def format_backtrace(backtrace); end + end end module RSpec::Expectations::ExpectationHelper - def self.check_message(msg); end - def self.handle_failure(matcher, message, failure_message_method); end - def self.modern_matcher_from(matcher); end - def self.with_matcher(handler, matcher, message); end + class << self + def check_message(msg); end + def handle_failure(matcher, message, failure_message_method); end + def modern_matcher_from(matcher); end + def with_matcher(handler, matcher, message); end + end end class RSpec::Expectations::ExpectationNotMetError < ::Exception @@ -156,13 +169,15 @@ class RSpec::Expectations::ExpectationTarget def target; end - def self.for(value, block); end + class << self + def for(value, block); end + end end module RSpec::Expectations::ExpectationTarget::InstanceMethods - def not_to(matcher = _, message = _, &block); end - def to(matcher = _, message = _, &block); end - def to_not(matcher = _, message = _, &block); end + def not_to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end + def to(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end + def to_not(matcher = T.unsafe(nil), message = T.unsafe(nil), &block); end private @@ -193,21 +208,27 @@ RSpec::Expectations::LegacyMacherAdapter = RSpec::Expectations::LegacyMatcherAda class RSpec::Expectations::LegacyMatcherAdapter < ::RSpec::Matchers::MatcherDelegator def initialize(matcher); end - def self.wrap(matcher); end + class << self + def wrap(matcher); end + end end class RSpec::Expectations::LegacyMatcherAdapter::RSpec1 < ::RSpec::Expectations::LegacyMatcherAdapter def failure_message; end def failure_message_when_negated; end - def self.interface_matches?(matcher); end + class << self + def interface_matches?(matcher); end + end end class RSpec::Expectations::LegacyMatcherAdapter::RSpec2 < ::RSpec::Expectations::LegacyMatcherAdapter def failure_message; end def failure_message_when_negated; end - def self.interface_matches?(matcher); end + class << self + def interface_matches?(matcher); end + end end class RSpec::Expectations::MultipleExpectationsNotMetError < ::RSpec::Expectations::ExpectationNotMetError @@ -237,18 +258,22 @@ class RSpec::Expectations::MultipleExpectationsNotMetError < ::RSpec::Expectatio end class RSpec::Expectations::NegativeExpectationHandler - def self.does_not_match?(matcher, actual, &block); end - def self.handle_matcher(actual, initial_matcher, message = _, &block); end - def self.opposite_should_method; end - def self.should_method; end - def self.verb; end + class << self + def does_not_match?(matcher, actual, &block); end + def handle_matcher(actual, initial_matcher, message = T.unsafe(nil), &block); end + def opposite_should_method; end + def should_method; end + def verb; end + end end class RSpec::Expectations::PositiveExpectationHandler - def self.handle_matcher(actual, initial_matcher, message = _, &block); end - def self.opposite_should_method; end - def self.should_method; end - def self.verb; end + class << self + def handle_matcher(actual, initial_matcher, message = T.unsafe(nil), &block); end + def opposite_should_method; end + def should_method; end + def verb; end + end end module RSpec::Expectations::Syntax @@ -256,24 +281,26 @@ module RSpec::Expectations::Syntax private def default_should_host; end - def disable_expect(syntax_host = _); end - def disable_should(syntax_host = _); end - def enable_expect(syntax_host = _); end - def enable_should(syntax_host = _); end - def expect_enabled?(syntax_host = _); end - def should_enabled?(syntax_host = _); end + def disable_expect(syntax_host = T.unsafe(nil)); end + def disable_should(syntax_host = T.unsafe(nil)); end + def enable_expect(syntax_host = T.unsafe(nil)); end + def enable_should(syntax_host = T.unsafe(nil)); end + def expect_enabled?(syntax_host = T.unsafe(nil)); end + def should_enabled?(syntax_host = T.unsafe(nil)); end def warn_about_should!; end def warn_about_should_unless_configured(method_name); end - def self.default_should_host; end - def self.disable_expect(syntax_host = _); end - def self.disable_should(syntax_host = _); end - def self.enable_expect(syntax_host = _); end - def self.enable_should(syntax_host = _); end - def self.expect_enabled?(syntax_host = _); end - def self.should_enabled?(syntax_host = _); end - def self.warn_about_should!; end - def self.warn_about_should_unless_configured(method_name); end + class << self + def default_should_host; end + def disable_expect(syntax_host = T.unsafe(nil)); end + def disable_should(syntax_host = T.unsafe(nil)); end + def enable_expect(syntax_host = T.unsafe(nil)); end + def enable_should(syntax_host = T.unsafe(nil)); end + def expect_enabled?(syntax_host = T.unsafe(nil)); end + def should_enabled?(syntax_host = T.unsafe(nil)); end + def warn_about_should!; end + def warn_about_should_unless_configured(method_name); end + end end module RSpec::Expectations::Version @@ -310,7 +337,7 @@ module RSpec::Matchers def a_value(*args, &block); end def a_value_between(*args, &block); end def a_value_within(*args, &block); end - def aggregate_failures(label = _, metadata = _, &block); end + def aggregate_failures(label = T.unsafe(nil), metadata = T.unsafe(nil), &block); end def all(expected); end def an_instance_of(*args, &block); end def an_object_eq_to(*args, &block); end @@ -334,7 +361,7 @@ module RSpec::Matchers def be_nil; end def be_truthy; end def be_within(delta); end - def change(receiver = _, message = _, &block); end + def change(receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end def changing(*args, &block); end def contain_exactly(*items); end def containing_exactly(*args, &block); end @@ -350,7 +377,7 @@ module RSpec::Matchers def equal_to(*args, &block); end def exist(*args); end def existing(*args, &block); end - def expect(value = _, &block); end + def expect(value = T.unsafe(nil), &block); end def have_attributes(expected); end def having_attributes(*args, &block); end def include(*expected); end @@ -359,17 +386,17 @@ module RSpec::Matchers def match_array(items); end def match_regex(*args, &block); end def matching(*args, &block); end - def output(expected = _); end - def raise_error(error = _, message = _, &block); end - def raise_exception(error = _, message = _, &block); end + def output(expected = T.unsafe(nil)); end + def raise_error(error = T.unsafe(nil), message = T.unsafe(nil), &block); end + def raise_exception(error = T.unsafe(nil), message = T.unsafe(nil), &block); end def raising(*args, &block); end def respond_to(*names); end def responding_to(*args, &block); end - def satisfy(description = _, &block); end + def satisfy(description = T.unsafe(nil), &block); end def satisfying(*args, &block); end def start_with(*expected); end def starting_with(*args, &block); end - def throw_symbol(expected_symbol = _, expected_arg = _); end + def throw_symbol(expected_symbol = T.unsafe(nil), expected_arg = T.unsafe(nil)); end def throwing(*args, &block); end def within(*args, &block); end def yield_control; end @@ -386,17 +413,19 @@ module RSpec::Matchers def method_missing(method, *args, &block); end def respond_to_missing?(method, *_); end - def self.alias_matcher(*args, &block); end - def self.clear_generated_description; end - def self.configuration; end - def self.generated_description; end - def self.is_a_describable_matcher?(obj); end - def self.is_a_matcher?(obj); end - def self.last_description; end - def self.last_expectation_handler; end - def self.last_expectation_handler=(_); end - def self.last_matcher; end - def self.last_matcher=(_); end + class << self + def alias_matcher(*args, &block); end + def clear_generated_description; end + def configuration; end + def generated_description; end + def is_a_describable_matcher?(obj); end + def is_a_matcher?(obj); end + def last_description; end + def last_expectation_handler; end + def last_expectation_handler=(_); end + def last_matcher; end + def last_matcher=(_); end + end end class RSpec::Matchers::AliasedMatcher < ::RSpec::Matchers::MatcherDelegator @@ -454,7 +483,7 @@ class RSpec::Matchers::BuiltIn::BaseMatcher include(::RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting) include(::RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages) - def initialize(expected = _); end + def initialize(expected = T.unsafe(nil)); end def actual; end def actual_formatted; end @@ -475,14 +504,22 @@ class RSpec::Matchers::BuiltIn::BaseMatcher def assert_ivars(*expected_ivars); end - def self.matcher_name; end + class << self + def matcher_name; end + + private + + def underscore(camel_cased_word); end + end end module RSpec::Matchers::BuiltIn::BaseMatcher::DefaultFailureMessages def failure_message; end def failure_message_when_negated; end - def self.has_default_failure_messages?(matcher); end + class << self + def has_default_failure_messages?(matcher); end + end end module RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting @@ -491,7 +528,9 @@ module RSpec::Matchers::BuiltIn::BaseMatcher::HashFormatting def improve_hash_formatting(inspect_string); end - def self.improve_hash_formatting(inspect_string); end + class << self + def improve_hash_formatting(inspect_string); end + end end RSpec::Matchers::BuiltIn::BaseMatcher::UNDEFINED = T.let(T.unsafe(nil), Object) @@ -628,7 +667,7 @@ class RSpec::Matchers::BuiltIn::BeWithin < ::RSpec::Matchers::BuiltIn::BaseMatch end class RSpec::Matchers::BuiltIn::Change < ::RSpec::Matchers::BuiltIn::BaseMatcher - def initialize(receiver = _, message = _, &block); end + def initialize(receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end def by(expected_delta); end def by_at_least(minimum); end @@ -700,7 +739,9 @@ class RSpec::Matchers::BuiltIn::Compound::NestedEvaluator def inner_matcher_block(outer_args); end def order_block_matchers; end - def self.matcher_expects_call_stack_jump?(matcher); end + class << self + def matcher_expects_call_stack_jump?(matcher); end + end end class RSpec::Matchers::BuiltIn::Compound::Or < ::RSpec::Matchers::BuiltIn::Compound @@ -728,14 +769,14 @@ class RSpec::Matchers::BuiltIn::ContainExactly < ::RSpec::Matchers::BuiltIn::Bas def actual_collection_line; end def best_solution; end def convert_actual_to_an_array; end - def describe_collection(collection, surface_descriptions = _); end + def describe_collection(collection, surface_descriptions = T.unsafe(nil)); end def expected_collection_line; end def extra_elements_line; end def extra_items; end def generate_failure_message; end def match(_expected, _actual); end def match_when_sorted?; end - def message_line(prefix, collection, surface_descriptions = _); end + def message_line(prefix, collection, surface_descriptions = T.unsafe(nil)); end def missing_elements_line; end def missing_items; end def pairings_maximizer; end @@ -760,7 +801,9 @@ class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer end class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::NullSolution - def self.worse_than?(_other); end + class << self + def worse_than?(_other); end + end end class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::Solution < ::Struct @@ -778,10 +821,12 @@ class RSpec::Matchers::BuiltIn::ContainExactly::PairingsMaximizer::Solution < :: def unmatched_item_count; end def worse_than?(other); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Matchers::BuiltIn::Cover < ::RSpec::Matchers::BuiltIn::BaseMatcher @@ -969,11 +1014,13 @@ class RSpec::Matchers::BuiltIn::OperatorMatcher def eval_match(actual, operator, expected); end def has_non_generic_implementation_of?(op); end - def self.get(klass, operator); end - def self.register(klass, operator, matcher); end - def self.registry; end - def self.unregister(klass, operator); end - def self.use_custom_matcher_or_delegate(operator); end + class << self + def get(klass, operator); end + def register(klass, operator, matcher); end + def registry; end + def unregister(klass, operator); end + def use_custom_matcher_or_delegate(operator); end + end end class RSpec::Matchers::BuiltIn::Output < ::RSpec::Matchers::BuiltIn::BaseMatcher @@ -1006,14 +1053,14 @@ end class RSpec::Matchers::BuiltIn::RaiseError include(::RSpec::Matchers::Composable) - def initialize(expected_error_or_message = _, expected_message = _, &block); end + def initialize(expected_error_or_message = T.unsafe(nil), expected_message = T.unsafe(nil), &block); end def description; end def does_not_match?(given_proc); end def expects_call_stack_jump?; end def failure_message; end def failure_message_when_negated; end - def matches?(given_proc, negative_expectation = _, &block); end + def matches?(given_proc, negative_expectation = T.unsafe(nil), &block); end def supports_block_expectations?; end def with_message(expected_message); end @@ -1070,7 +1117,7 @@ class RSpec::Matchers::BuiltIn::RespondTo < ::RSpec::Matchers::BuiltIn::BaseMatc end class RSpec::Matchers::BuiltIn::Satisfy < ::RSpec::Matchers::BuiltIn::BaseMatcher - def initialize(description = _, &block); end + def initialize(description = T.unsafe(nil), &block); end def description; end def failure_message; end @@ -1094,7 +1141,7 @@ end class RSpec::Matchers::BuiltIn::ThrowSymbol include(::RSpec::Matchers::Composable) - def initialize(expected_symbol = _, expected_arg = _); end + def initialize(expected_symbol = T.unsafe(nil), expected_arg = T.unsafe(nil)); end def description; end def does_not_match?(given_proc); end @@ -1108,7 +1155,7 @@ class RSpec::Matchers::BuiltIn::ThrowSymbol def actual_result; end def caught; end - def expected(symbol_desc = _); end + def expected(symbol_desc = T.unsafe(nil)); end def throw_description(symbol, arg); end end @@ -1202,9 +1249,11 @@ module RSpec::Matchers::Composable def values_match?(expected, actual); end def with_matchers_cloned(object); end - def self.should_enumerate?(item); end - def self.surface_descriptions_in(item); end - def self.unreadable_io?(object); end + class << self + def should_enumerate?(item); end + def surface_descriptions_in(item); end + def unreadable_io?(object); end + end end class RSpec::Matchers::Composable::DescribableItem < ::Struct @@ -1213,14 +1262,16 @@ class RSpec::Matchers::Composable::DescribableItem < ::Struct def item=(_); end def pretty_print(pp); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RSpec::Matchers::DSL - def alias_matcher(new_name, old_name, options = _, &description_override); end + def alias_matcher(new_name, old_name, options = T.unsafe(nil), &description_override); end def define(name, &declarations); end def define_negated_matcher(negated_name, base_name, &description_override); end def matcher(name, &declarations); end @@ -1249,9 +1300,9 @@ module RSpec::Matchers::DSL::Macros def diffable; end def failure_message(&definition); end def failure_message_when_negated(&definition); end - def match(options = _, &match_block); end - def match_unless_raises(expected_exception = _, &match_block); end - def match_when_negated(options = _, &match_block); end + def match(options = T.unsafe(nil), &match_block); end + def match_unless_raises(expected_exception = T.unsafe(nil), &match_block); end + def match_when_negated(options = T.unsafe(nil), &match_block); end def supports_block_expectations; end private @@ -1291,14 +1342,16 @@ class RSpec::Matchers::DSL::Matcher def actual_arg_for(block); end def method_missing(method, *args, &block); end - def respond_to_missing?(method, include_private = _); end + def respond_to_missing?(method, include_private = T.unsafe(nil)); end end RSpec::Matchers::DYNAMIC_MATCHER_REGEX = T.let(T.unsafe(nil), Regexp) module RSpec::Matchers::EnglishPhrasing - def self.list(obj); end - def self.split_words(sym); end + class << self + def list(obj); end + def split_words(sym); end + end end class RSpec::Matchers::ExpectedsForMultipleDiffs @@ -1310,8 +1363,15 @@ class RSpec::Matchers::ExpectedsForMultipleDiffs def diffs(differ, actual); end - def self.for_many_matchers(matchers); end - def self.from(expected); end + class << self + def for_many_matchers(matchers); end + def from(expected); end + + private + + def diff_label_for(matcher); end + def truncated(description); end + end end RSpec::Matchers::ExpectedsForMultipleDiffs::DEFAULT_DIFF_LABEL = T.let(T.unsafe(nil), String) @@ -1331,7 +1391,7 @@ class RSpec::Matchers::MatcherDelegator private def initialize_copy(other); end - def respond_to_missing?(name, include_all = _); end + def respond_to_missing?(name, include_all = T.unsafe(nil)); end end module RSpec::Matchers::BuiltIn::BeHelpers @@ -1346,13 +1406,17 @@ module RSpec::Matchers::BuiltIn::BeHelpers end module RSpec::Matchers::BuiltIn::CaptureStderr - def self.capture(block); end - def self.name; end + class << self + def capture(block); end + def name; end + end end module RSpec::Matchers::BuiltIn::CaptureStdout - def self.capture(block); end - def self.name; end + class << self + def capture(block); end + def name; end + end end class RSpec::Matchers::BuiltIn::CaptureStreamToTempfile < ::Struct @@ -1360,7 +1424,7 @@ class RSpec::Matchers::BuiltIn::CaptureStreamToTempfile < ::Struct end class RSpec::Matchers::BuiltIn::ChangeDetails - def initialize(matcher_name, receiver = _, message = _, &block); end + def initialize(matcher_name, receiver = T.unsafe(nil), message = T.unsafe(nil), &block); end def actual_after; end def actual_delta; end @@ -1413,8 +1477,10 @@ class RSpec::Matchers::BuiltIn::ChangeToValue < ::RSpec::Matchers::BuiltIn::Spec end module RSpec::Matchers::BuiltIn::NullCapture - def self.capture(_block); end - def self.name; end + class << self + def capture(_block); end + def name; end + end end class RSpec::Matchers::BuiltIn::ReliableMatchData @@ -1478,5 +1544,7 @@ class RSpec::Matchers::BuiltIn::YieldProbe def yielded_args=(_); end def yielded_once?(matcher_name); end - def self.probe(block, &callback); end + class << self + def probe(block, &callback); end + end end diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-its@1.3.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-its@1.3.0.rbi index 27b1fb4bc6..a0e7530772 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-its@1.3.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-its@1.3.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-its` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi index c043a8530b..91fe84d503 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-mocks@3.9.1.rbi @@ -1,18 +1,21 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-mocks` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true module RSpec::Mocks - def self.allow_message(subject, message, opts = _, &block); end - def self.configuration; end - def self.error_generator; end - def self.expect_message(subject, message, opts = _, &block); end - def self.setup; end - def self.space; end - def self.teardown; end - def self.verify; end - def self.with_temporary_scope; end + class << self + def allow_message(subject, message, opts = T.unsafe(nil), &block); end + def configuration; end + def error_generator; end + def expect_message(subject, message, opts = T.unsafe(nil), &block); end + def setup; end + def space; end + def teardown; end + def verify; end + def with_temporary_scope; end + end end class RSpec::Mocks::AllowanceTarget < ::RSpec::Mocks::TargetBase @@ -53,7 +56,9 @@ class RSpec::Mocks::AndYieldImplementation end module RSpec::Mocks::AnyInstance - def self.error_generator; end + class << self + def error_generator; end + end end class RSpec::Mocks::AnyInstance::Chain @@ -94,7 +99,9 @@ module RSpec::Mocks::AnyInstance::Chain::Customizations def twice(*args, &block); end def with(*args, &block); end - def self.record(method_name); end + class << self + def record(method_name); end + end end class RSpec::Mocks::AnyInstance::ErrorGenerator < ::RSpec::Mocks::ErrorGenerator @@ -133,7 +140,7 @@ class RSpec::Mocks::AnyInstance::FluentInterfaceProxy private - def respond_to_missing?(method_name, include_private = _); end + def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end end class RSpec::Mocks::AnyInstance::MessageChains @@ -289,7 +296,9 @@ module RSpec::Mocks::ArgumentMatchers def kind_of(klass); end def no_args; end - def self.anythingize_lonely_keys(*args); end + class << self + def anythingize_lonely_keys(*args); end + end end class RSpec::Mocks::ArgumentMatchers::AnyArgMatcher < ::RSpec::Mocks::ArgumentMatchers::SingletonMatcher @@ -372,7 +381,9 @@ end RSpec::Mocks::ArgumentMatchers::NoArgsMatcher::INSTANCE = T.let(T.unsafe(nil), RSpec::Mocks::ArgumentMatchers::NoArgsMatcher) class RSpec::Mocks::ArgumentMatchers::SingletonMatcher - def self.inherited(subklass); end + class << self + def inherited(subklass); end + end end class RSpec::Mocks::CallbackInvocationStrategy @@ -385,7 +396,9 @@ end class RSpec::Mocks::ClassNewMethodReference < ::RSpec::Mocks::ObjectMethodReference def with_signature; end - def self.applies_to?(method_name); end + class << self + def applies_to?(method_name); end + end end class RSpec::Mocks::ClassVerifyingDouble < ::Module @@ -440,17 +453,21 @@ class RSpec::Mocks::Constant def valid_name=(_); end def valid_name?; end - def self.original(name); end - def self.unmutated(name); end + class << self + def original(name); end + def unmutated(name); end + end end class RSpec::Mocks::ConstantMutator extend(::RSpec::Support::RecursiveConstMethods) - def self.hide(constant_name); end - def self.mutate(mutator); end - def self.raise_on_invalid_const; end - def self.stub(constant_name, value, options = _); end + class << self + def hide(constant_name); end + def mutate(mutator); end + def raise_on_invalid_const; end + def stub(constant_name, value, options = T.unsafe(nil)); end + end end class RSpec::Mocks::ConstantMutator::BaseMutator @@ -508,19 +525,19 @@ class RSpec::Mocks::Double end class RSpec::Mocks::ErrorGenerator - def initialize(target = _); end + def initialize(target = T.unsafe(nil)); end def default_error_message(expectation, expected_args, actual_args); end def describe_expectation(verb, message, expected_received_count, _actual_received_count, args); end def expectation_on_nil_message(method_name); end - def intro(unwrapped = _); end - def method_call_args_description(args, generic_prefix = _, matcher_prefix = _); end + def intro(unwrapped = T.unsafe(nil)); end + def method_call_args_description(args, generic_prefix = T.unsafe(nil), matcher_prefix = T.unsafe(nil)); end def opts; end def opts=(_); end def raise_already_invoked_error(message, calling_customization); end def raise_cant_constrain_count_for_negated_have_received_error(count_constraint); end def raise_double_negation_error(wrapped_expression); end - def raise_expectation_error(message, expected_received_count, argument_list_matcher, actual_received_count, expectation_count_type, args, backtrace_line = _, source_id = _); end + def raise_expectation_error(message, expected_received_count, argument_list_matcher, actual_received_count, expectation_count_type, args, backtrace_line = T.unsafe(nil), source_id = T.unsafe(nil)); end def raise_expectation_on_mocked_method(method); end def raise_expectation_on_nil_error(method_name); end def raise_expectation_on_unstubbed_method(method); end @@ -533,8 +550,8 @@ class RSpec::Mocks::ErrorGenerator def raise_non_public_error(method_name, visibility); end def raise_only_valid_on_a_partial_double(method); end def raise_out_of_order_error(message); end - def raise_similar_message_args_error(expectation, args_for_multiple_calls, backtrace_line = _); end - def raise_unexpected_message_args_error(expectation, args_for_multiple_calls, source_id = _); end + def raise_similar_message_args_error(expectation, args_for_multiple_calls, backtrace_line = T.unsafe(nil)); end + def raise_unexpected_message_args_error(expectation, args_for_multiple_calls, source_id = T.unsafe(nil)); end def raise_unexpected_message_error(message, args); end def raise_unimplemented_error(doubled_module, method_name, object); end def raise_verifying_double_not_defined_error(ref); end @@ -542,9 +559,9 @@ class RSpec::Mocks::ErrorGenerator private - def __raise(message, backtrace_line = _, source_id = _); end + def __raise(message, backtrace_line = T.unsafe(nil), source_id = T.unsafe(nil)); end def arg_list(args); end - def count_message(count, expectation_count_type = _); end + def count_message(count, expectation_count_type = T.unsafe(nil)); end def diff_message(expected_args, actual_args); end def differ; end def error_message(expectation, args_for_multiple_calls); end @@ -584,13 +601,15 @@ module RSpec::Mocks::ExampleMethods def receive_message_chain(*messages, &block); end def receive_messages(message_return_value_hash); end def spy(*args); end - def stub_const(constant_name, value, options = _); end + def stub_const(constant_name, value, options = T.unsafe(nil)); end def without_partial_double_verification; end - def self.declare_double(type, *args); end - def self.declare_verifying_double(type, ref, *args); end - def self.extended(object); end - def self.included(klass); end + class << self + def declare_double(type, *args); end + def declare_verifying_double(type, ref, *args); end + def extended(object); end + def included(klass); end + end end module RSpec::Mocks::ExampleMethods::ExpectHost @@ -603,7 +622,9 @@ class RSpec::Mocks::ExpectChain < ::RSpec::Mocks::MessageChain def expectation(object, message, &return_block); end - def self.expect_chain_on(object, *chain, &blk); end + class << self + def expect_chain_on(object, *chain, &blk); end + end end class RSpec::Mocks::ExpectationTarget < ::RSpec::Mocks::TargetBase @@ -662,7 +683,7 @@ class RSpec::Mocks::InstanceMethodStasher private def method_defined_directly_on_klass?; end - def method_defined_on_klass?(klass = _); end + def method_defined_on_klass?(klass = T.unsafe(nil)); end def method_owned_by_klass?; end end @@ -674,8 +695,10 @@ class RSpec::Mocks::InstanceVerifyingDouble end class RSpec::Mocks::MarshalExtension - def self.patch!; end - def self.unpatch!; end + class << self + def patch!; end + def unpatch!; end + end end module RSpec::Mocks::Matchers @@ -714,7 +737,7 @@ class RSpec::Mocks::Matchers::HaveReceived def apply_constraints_to(expectation); end def capture_failure_message; end def count_constraint; end - def disallow(type, reason = _); end + def disallow(type, reason = T.unsafe(nil)); end def ensure_count_unconstrained; end def expect; end def expected_messages_received_in_order?; end @@ -855,7 +878,7 @@ class RSpec::Mocks::MessageExpectation end module RSpec::Mocks::MessageExpectation::ImplementationDetails - def initialize(error_generator, expectation_ordering, expected_from, method_double, type = _, opts = _, &implementation_block); end + def initialize(error_generator, expectation_ordering, expected_from, method_double, type = T.unsafe(nil), opts = T.unsafe(nil), &implementation_block); end def actual_received_count_matters?; end def additional_expected_calls; end @@ -922,7 +945,7 @@ class RSpec::Mocks::MethodDouble def add_expectation(error_generator, expectation_ordering, expected_from, opts, &implementation); end def add_simple_expectation(method_name, response, error_generator, backtrace_line); end def add_simple_stub(method_name, response); end - def add_stub(error_generator, expectation_ordering, expected_from, opts = _, &implementation); end + def add_stub(error_generator, expectation_ordering, expected_from, opts = T.unsafe(nil), &implementation); end def build_expectation(error_generator, expectation_ordering); end def clear; end def configure_method; end @@ -943,7 +966,7 @@ class RSpec::Mocks::MethodDouble def restore_original_method; end def restore_original_visibility; end def save_original_implementation_callable!; end - def setup_simple_method_double(method_name, response, collection, error_generator = _, backtrace_line = _); end + def setup_simple_method_double(method_name, response, collection, error_generator = T.unsafe(nil), backtrace_line = T.unsafe(nil)); end def show_frozen_warning; end def stubs; end def verify; end @@ -973,10 +996,12 @@ class RSpec::Mocks::MethodReference def original_method; end - def self.for(object_reference, method_name); end - def self.instance_method_visibility_for(klass, method_name); end - def self.method_defined_at_any_visibility?(klass, method_name); end - def self.method_visibility_for(object, method_name); end + class << self + def for(object_reference, method_name); end + def instance_method_visibility_for(klass, method_name); end + def method_defined_at_any_visibility?(klass, method_name); end + def method_visibility_for(object, method_name); end + end end class RSpec::Mocks::MockExpectationAlreadyInvokedError < ::Exception @@ -1028,11 +1053,20 @@ class RSpec::Mocks::ObjectMethodReference < ::RSpec::Mocks::MethodReference def method_implemented?(object); end def visibility_from(object); end - def self.for(object_reference, method_name); end + class << self + def for(object_reference, method_name); end + end end class RSpec::Mocks::ObjectReference - def self.for(object_module_or_name, allow_direct_object_refs = _); end + class << self + def for(object_module_or_name, allow_direct_object_refs = T.unsafe(nil)); end + + private + + def anonymous_module?(mod); end + def name_of(mod); end + end end RSpec::Mocks::ObjectReference::MODULE_NAME_METHOD = T.let(T.unsafe(nil), UnboundMethod) @@ -1047,7 +1081,7 @@ module RSpec::Mocks::ObjectVerifyingDoubleMethods include(::RSpec::Mocks::TestDouble) include(::RSpec::Mocks::VerifyingDouble) - def as_stubbed_const(options = _); end + def as_stubbed_const(options = T.unsafe(nil)); end private @@ -1108,12 +1142,12 @@ class RSpec::Mocks::PartialDoubleProxy < ::RSpec::Mocks::Proxy end class RSpec::Mocks::Proxy - def initialize(object, order_group, options = _); end + def initialize(object, order_group, options = T.unsafe(nil)); end - def add_message_expectation(method_name, opts = _, &block); end + def add_message_expectation(method_name, opts = T.unsafe(nil), &block); end def add_simple_expectation(method_name, response, location); end def add_simple_stub(method_name, response); end - def add_stub(method_name, opts = _, &implementation); end + def add_stub(method_name, opts = T.unsafe(nil), &implementation); end def as_null_object; end def build_expectation(method_name); end def check_for_unexpected_arguments(expectation); end @@ -1146,7 +1180,9 @@ class RSpec::Mocks::Proxy def find_matching_method_stub(method_name, *args); end def method_double_for(message); end - def self.prepended_modules_of(klass); end + class << self + def prepended_modules_of(klass); end + end end RSpec::Mocks::Proxy::DEFAULT_MESSAGE_EXPECTATION_OPTS = T.let(T.unsafe(nil), Hash) @@ -1160,17 +1196,19 @@ class RSpec::Mocks::Proxy::SpecificMessage < ::Struct def object; end def object=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Mocks::ProxyForNil < ::RSpec::Mocks::PartialDoubleProxy def initialize(order_group); end - def add_message_expectation(method_name, opts = _, &block); end - def add_stub(method_name, opts = _, &implementation); end + def add_message_expectation(method_name, opts = T.unsafe(nil), &block); end + def add_stub(method_name, opts = T.unsafe(nil), &implementation); end def disallow_expectations; end def disallow_expectations=(_); end def warn_about_expectations; end @@ -1202,7 +1240,7 @@ class RSpec::Mocks::RootSpace end class RSpec::Mocks::SimpleMessageExpectation - def initialize(message, response, error_generator, backtrace_line = _); end + def initialize(message, response, error_generator, backtrace_line = T.unsafe(nil)); end def called_max_times?; end def invoke(*_); end @@ -1216,7 +1254,7 @@ class RSpec::Mocks::Space def any_instance_mutex; end def any_instance_proxy_for(klass); end - def any_instance_recorder_for(klass, only_return_existing = _); end + def any_instance_recorder_for(klass, only_return_existing = T.unsafe(nil)); end def any_instance_recorders; end def any_instance_recorders_from_ancestry_of(object); end def constant_mutator_for(name); end @@ -1248,19 +1286,23 @@ class RSpec::Mocks::StubChain < ::RSpec::Mocks::MessageChain def expectation(object, message, &return_block); end - def self.stub_chain_on(object, *chain, &blk); end + class << self + def stub_chain_on(object, *chain, &blk); end + end end module RSpec::Mocks::Syntax - def self.default_should_syntax_host; end - def self.disable_expect(syntax_host = _); end - def self.disable_should(syntax_host = _); end - def self.enable_expect(syntax_host = _); end - def self.enable_should(syntax_host = _); end - def self.expect_enabled?(syntax_host = _); end - def self.should_enabled?(syntax_host = _); end - def self.warn_about_should!; end - def self.warn_unless_should_configured(method_name, replacement = _); end + class << self + def default_should_syntax_host; end + def disable_expect(syntax_host = T.unsafe(nil)); end + def disable_should(syntax_host = T.unsafe(nil)); end + def enable_expect(syntax_host = T.unsafe(nil)); end + def enable_should(syntax_host = T.unsafe(nil)); end + def expect_enabled?(syntax_host = T.unsafe(nil)); end + def should_enabled?(syntax_host = T.unsafe(nil)); end + def warn_about_should!; end + def warn_unless_should_configured(method_name, replacement = T.unsafe(nil)); end + end end class RSpec::Mocks::TargetBase @@ -1271,7 +1313,7 @@ class RSpec::Mocks::TargetBase end module RSpec::Mocks::TargetDelegationClassMethods - def delegate_not_to(matcher_method, options = _); end + def delegate_not_to(matcher_method, options = T.unsafe(nil)); end def delegate_to(matcher_method); end def disallow_negation(method_name); end end @@ -1288,7 +1330,7 @@ module RSpec::Mocks::TargetDelegationInstanceMethods end module RSpec::Mocks::TestDouble - def initialize(name = _, stubs = _); end + def initialize(name = T.unsafe(nil), stubs = T.unsafe(nil)); end def ==(other); end def __build_mock_proxy_unless_expired(order_group); end @@ -1297,7 +1339,7 @@ module RSpec::Mocks::TestDouble def freeze; end def inspect; end def null_object?; end - def respond_to?(message, incl_private = _); end + def respond_to?(message, incl_private = T.unsafe(nil)); end def to_s; end private @@ -1311,7 +1353,15 @@ module RSpec::Mocks::TestDouble end module RSpec::Mocks::TestDoubleFormatter - def self.format(dbl, unwrap = _); end + class << self + def format(dbl, unwrap = T.unsafe(nil)); end + + private + + def name_desc(dbl); end + def type_desc(dbl); end + def verified_module_desc(dbl); end + end end class RSpec::Mocks::TestDoubleProxy < ::RSpec::Mocks::Proxy @@ -1326,13 +1376,15 @@ module RSpec::Mocks::VerifyingDouble def __send__(name, *args, &block); end def method_missing(message, *args, &block); end - def respond_to?(message, include_private = _); end + def respond_to?(message, include_private = T.unsafe(nil)); end def send(name, *args, &block); end end module RSpec::Mocks::VerifyingDouble::SilentIO - def self.method_missing(*_); end - def self.respond_to?(*_); end + class << self + def method_missing(*_); end + def respond_to?(*_); end + end end class RSpec::Mocks::VerifyingDoubleNotDefinedError < ::StandardError @@ -1348,7 +1400,9 @@ class RSpec::Mocks::VerifyingExistingMethodDouble < ::RSpec::Mocks::VerifyingMet def unimplemented?; end def with_signature; end - def self.for(object, method_name, proxy); end + class << self + def for(object, method_name, proxy); end + end end class RSpec::Mocks::VerifyingMessageExpectation < ::RSpec::Mocks::MessageExpectation @@ -1380,7 +1434,7 @@ end class RSpec::Mocks::VerifyingPartialDoubleProxy < ::RSpec::Mocks::PartialDoubleProxy include(::RSpec::Mocks::VerifyingProxyMethods) - def initialize(object, expectation_ordering, optional_callback_invocation_strategy = _); end + def initialize(object, expectation_ordering, optional_callback_invocation_strategy = T.unsafe(nil)); end def ensure_implemented(_method_name); end def method_reference; end @@ -1397,9 +1451,9 @@ class RSpec::Mocks::VerifyingProxy < ::RSpec::Mocks::TestDoubleProxy end module RSpec::Mocks::VerifyingProxyMethods - def add_message_expectation(method_name, opts = _, &block); end + def add_message_expectation(method_name, opts = T.unsafe(nil), &block); end def add_simple_stub(method_name, *args); end - def add_stub(method_name, opts = _, &implementation); end + def add_stub(method_name, opts = T.unsafe(nil), &implementation); end def ensure_implemented(method_name); end def ensure_publicly_implemented(method_name, _object); end end diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-retry@0.6.2.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-retry@0.6.2.rbi index 27b1fb4bc6..328046941f 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-retry@0.6.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-retry@0.6.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-retry` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-support@3.9.3.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-support@3.9.3.rbi index 74efb9a0b7..95850f657b 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-support@3.9.3.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-support@3.9.3.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-support` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -7,30 +8,34 @@ module RSpec extend(::RSpec::Support::Warnings) extend(::RSpec::Core::Warnings) - def self.clear_examples; end - def self.configuration; end - def self.configuration=(_); end - def self.configure; end - def self.const_missing(name); end - def self.context(*args, &example_group_block); end - def self.current_example; end - def self.current_example=(example); end - def self.describe(*args, &example_group_block); end - def self.example_group(*args, &example_group_block); end - def self.fcontext(*args, &example_group_block); end - def self.fdescribe(*args, &example_group_block); end - def self.reset; end - def self.shared_context(name, *args, &block); end - def self.shared_examples(name, *args, &block); end - def self.shared_examples_for(name, *args, &block); end - def self.world; end - def self.world=(_); end - def self.xcontext(*args, &example_group_block); end - def self.xdescribe(*args, &example_group_block); end + class << self + def clear_examples; end + def configuration; end + def configuration=(_); end + def configure; end + def const_missing(name); end + def context(*args, &example_group_block); end + def current_example; end + def current_example=(example); end + def describe(*args, &example_group_block); end + def example_group(*args, &example_group_block); end + def fcontext(*args, &example_group_block); end + def fdescribe(*args, &example_group_block); end + def reset; end + def shared_context(name, *args, &block); end + def shared_examples(name, *args, &block); end + def shared_examples_for(name, *args, &block); end + def world; end + def world=(_); end + def xcontext(*args, &example_group_block); end + def xdescribe(*args, &example_group_block); end + end end class RSpec::CallerFilter - def self.first_non_rspec_line(skip_frames = _, increment = _); end + class << self + def first_non_rspec_line(skip_frames = T.unsafe(nil), increment = T.unsafe(nil)); end + end end RSpec::CallerFilter::ADDITIONAL_TOP_LEVEL_FILES = T.let(T.unsafe(nil), Array) @@ -46,30 +51,34 @@ RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) RSpec::SharedContext = RSpec::Core::SharedContext module RSpec::Support - def self.class_of(object); end - def self.define_optimized_require_for_rspec(lib, &require_relative); end - def self.deregister_matcher_definition(&block); end - def self.failure_notifier; end - def self.failure_notifier=(callable); end - def self.is_a_matcher?(object); end - def self.matcher_definitions; end - def self.method_handle_for(object, method_name); end - def self.notify_failure(failure, options = _); end - def self.register_matcher_definition(&block); end - def self.require_rspec_core(f); end - def self.require_rspec_expectations(f); end - def self.require_rspec_matchers(f); end - def self.require_rspec_mocks(f); end - def self.require_rspec_support(f); end - def self.rspec_description_for_object(object); end - def self.thread_local_data; end - def self.warning_notifier; end - def self.warning_notifier=(_); end - def self.with_failure_notifier(callable); end + class << self + def class_of(object); end + def define_optimized_require_for_rspec(lib, &require_relative); end + def deregister_matcher_definition(&block); end + def failure_notifier; end + def failure_notifier=(callable); end + def is_a_matcher?(object); end + def matcher_definitions; end + def method_handle_for(object, method_name); end + def notify_failure(failure, options = T.unsafe(nil)); end + def register_matcher_definition(&block); end + def require_rspec_core(f); end + def require_rspec_expectations(f); end + def require_rspec_matchers(f); end + def require_rspec_mocks(f); end + def require_rspec_support(f); end + def rspec_description_for_object(object); end + def thread_local_data; end + def warning_notifier; end + def warning_notifier=(_); end + def with_failure_notifier(callable); end + end end module RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue - def self.===(exception); end + class << self + def ===(exception); end + end end RSpec::Support::AllExceptionsExceptOnesWeMustNotRescue::AVOID_RESCUING = T.let(T.unsafe(nil), Array) @@ -93,7 +102,7 @@ RSpec::Support::DEFAULT_FAILURE_NOTIFIER = T.let(T.unsafe(nil), Proc) RSpec::Support::DEFAULT_WARNING_NOTIFIER = T.let(T.unsafe(nil), Proc) class RSpec::Support::Differ - def initialize(opts = _); end + def initialize(opts = T.unsafe(nil)); end def color?; end def diff(actual, expected); end @@ -127,11 +136,19 @@ class RSpec::Support::Differ end class RSpec::Support::DirectoryMaker - def self.mkdir_p(path); end + class << self + def mkdir_p(path); end + + private + + def directory_exists?(dirname); end + def generate_path(stack, part); end + def generate_stack(path); end + end end class RSpec::Support::EncodedString - def initialize(string, encoding = _); end + def initialize(string, encoding = T.unsafe(nil)); end def <<(string); end def ==(*args, &block); end @@ -150,7 +167,9 @@ class RSpec::Support::EncodedString def matching_encoding(string); end def remove_invalid_bytes(string); end - def self.pick_encoding(source_a, source_b); end + class << self + def pick_encoding(source_a, source_b); end + end end RSpec::Support::EncodedString::REPLACE = T.let(T.unsafe(nil), String) @@ -160,7 +179,14 @@ RSpec::Support::EncodedString::US_ASCII = T.let(T.unsafe(nil), String) RSpec::Support::EncodedString::UTF_8 = T.let(T.unsafe(nil), String) module RSpec::Support::FuzzyMatcher - def self.values_match?(expected, actual); end + class << self + def values_match?(expected, actual); end + + private + + def arrays_match?(expected_list, actual_list); end + def hashes_match?(expected_hash, actual_hash); end + end end RSpec::Support::KERNEL_METHOD_METHOD = T.let(T.unsafe(nil), UnboundMethod) @@ -186,7 +212,7 @@ class RSpec::Support::MethodSignature def initialize(method); end def arbitrary_kw_args?; end - def classify_arity(arity = _); end + def classify_arity(arity = T.unsafe(nil)); end def classify_parameters; end def could_contain_kw_args?(args); end def description; end @@ -199,7 +225,7 @@ class RSpec::Support::MethodSignature def optional_kw_args; end def required_kw_args; end def unlimited_args?; end - def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = _); end + def valid_non_kw_args?(positional_arg_count, optional_max_arg_count = T.unsafe(nil)); end end RSpec::Support::MethodSignature::INFINITY = T.let(T.unsafe(nil), Float) @@ -221,7 +247,7 @@ class RSpec::Support::MethodSignatureExpectation end class RSpec::Support::MethodSignatureVerifier - def initialize(signature, args = _); end + def initialize(signature, args = T.unsafe(nil)); end def error_message; end def kw_args; end @@ -242,7 +268,9 @@ class RSpec::Support::MethodSignatureVerifier end class RSpec::Support::Mutex < ::Thread::Mutex - def self.new; end + class << self + def new; end + end end RSpec::Support::Mutex::NEW_MUTEX_METHOD = T.let(T.unsafe(nil), Method) @@ -254,12 +282,14 @@ module RSpec::Support::OS def windows?; end def windows_file_path?; end - def self.windows?; end - def self.windows_file_path?; end + class << self + def windows?; end + def windows_file_path?; end + end end class RSpec::Support::ObjectFormatter - def initialize(max_formatted_output_length = _); end + def initialize(max_formatted_output_length = T.unsafe(nil)); end def format(object); end def max_formatted_output_length; end @@ -276,9 +306,11 @@ class RSpec::Support::ObjectFormatter def truncate_string(str, start_index, end_index); end - def self.default_instance; end - def self.format(object); end - def self.prepare_for_inspection(object); end + class << self + def default_instance; end + def format(object); end + def prepare_for_inspection(object); end + end end class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct @@ -289,23 +321,29 @@ class RSpec::Support::ObjectFormatter::BaseInspector < ::Struct def object=(_); end def pretty_print(pp); end - def self.[](*_); end - def self.can_inspect?(_object); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def can_inspect?(_object); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Support::ObjectFormatter::BigDecimalInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end class RSpec::Support::ObjectFormatter::DateTimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end RSpec::Support::ObjectFormatter::DateTimeInspector::FORMAT = T.let(T.unsafe(nil), String) @@ -313,13 +351,17 @@ RSpec::Support::ObjectFormatter::DateTimeInspector::FORMAT = T.let(T.unsafe(nil) class RSpec::Support::ObjectFormatter::DelegatorInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end class RSpec::Support::ObjectFormatter::DescribableMatcherInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end RSpec::Support::ObjectFormatter::ELLIPSIS = T.let(T.unsafe(nil), String) @@ -332,22 +374,28 @@ class RSpec::Support::ObjectFormatter::InspectableItem < ::Struct def text; end def text=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RSpec::Support::ObjectFormatter::InspectableObjectInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end class RSpec::Support::ObjectFormatter::TimeInspector < ::RSpec::Support::ObjectFormatter::BaseInspector def inspect; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end RSpec::Support::ObjectFormatter::TimeInspector::FORMAT = T.let(T.unsafe(nil), String) @@ -357,7 +405,9 @@ class RSpec::Support::ObjectFormatter::UninspectableObjectInspector < ::RSpec::S def klass; end def native_object_id; end - def self.can_inspect?(object); end + class << self + def can_inspect?(object); end + end end RSpec::Support::ObjectFormatter::UninspectableObjectInspector::OBJECT_ID_FORMAT = T.let(T.unsafe(nil), String) @@ -394,13 +444,15 @@ module RSpec::Support::Ruby def rbx?; end def truffleruby?; end - def self.jruby?; end - def self.jruby_9000?; end - def self.jruby_version; end - def self.mri?; end - def self.non_mri?; end - def self.rbx?; end - def self.truffleruby?; end + class << self + def jruby?; end + def jruby_9000?; end + def jruby_version; end + def mri?; end + def non_mri?; end + def rbx?; end + def truffleruby?; end + end end module RSpec::Support::RubyFeatures @@ -419,17 +471,19 @@ module RSpec::Support::RubyFeatures def supports_rebinding_module_methods?; end def supports_taint?; end - def self.caller_locations_supported?; end - def self.fork_supported?; end - def self.kw_args_supported?; end - def self.module_prepends_supported?; end - def self.module_refinement_supported?; end - def self.optional_and_splat_args_supported?; end - def self.required_kw_args_supported?; end - def self.ripper_supported?; end - def self.supports_exception_cause?; end - def self.supports_rebinding_module_methods?; end - def self.supports_taint?; end + class << self + def caller_locations_supported?; end + def fork_supported?; end + def kw_args_supported?; end + def module_prepends_supported?; end + def module_refinement_supported?; end + def optional_and_splat_args_supported?; end + def required_kw_args_supported?; end + def ripper_supported?; end + def supports_exception_cause?; end + def supports_rebinding_module_methods?; end + def supports_taint?; end + end end RSpec::Support::StrictSignatureVerifier = RSpec::Support::MethodSignatureVerifier @@ -440,10 +494,10 @@ end RSpec::Support::Version::STRING = T.let(T.unsafe(nil), String) module RSpec::Support::Warnings - def deprecate(deprecated, options = _); end - def warn_deprecation(message, options = _); end - def warn_with(message, options = _); end - def warning(text, options = _); end + def deprecate(deprecated, options = T.unsafe(nil)); end + def warn_deprecation(message, options = T.unsafe(nil)); end + def warn_with(message, options = T.unsafe(nil)); end + def warning(text, options = T.unsafe(nil)); end end module RSpec::Support::WithKeywordsWhenNeeded @@ -452,7 +506,9 @@ module RSpec::Support::WithKeywordsWhenNeeded def class_exec(klass, *args, &block); end - def self.class_exec(klass, *args, &block); end + class << self + def class_exec(klass, *args, &block); end + end end class RSpec::Support::HunkGenerator diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-wait@0.0.9.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-wait@0.0.9.rbi index 27b1fb4bc6..f94543a332 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec-wait@0.0.9.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-wait@0.0.9.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-wait` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec@3.9.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec@3.9.0.rbi index 45d159360b..4506114441 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rspec@3.9.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rspec@3.9.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -7,26 +8,28 @@ module RSpec extend(::RSpec::Support::Warnings) extend(::RSpec::Core::Warnings) - def self.clear_examples; end - def self.configuration; end - def self.configuration=(_); end - def self.configure; end - def self.const_missing(name); end - def self.context(*args, &example_group_block); end - def self.current_example; end - def self.current_example=(example); end - def self.describe(*args, &example_group_block); end - def self.example_group(*args, &example_group_block); end - def self.fcontext(*args, &example_group_block); end - def self.fdescribe(*args, &example_group_block); end - def self.reset; end - def self.shared_context(name, *args, &block); end - def self.shared_examples(name, *args, &block); end - def self.shared_examples_for(name, *args, &block); end - def self.world; end - def self.world=(_); end - def self.xcontext(*args, &example_group_block); end - def self.xdescribe(*args, &example_group_block); end + class << self + def clear_examples; end + def configuration; end + def configuration=(_); end + def configure; end + def const_missing(name); end + def context(*args, &example_group_block); end + def current_example; end + def current_example=(example); end + def describe(*args, &example_group_block); end + def example_group(*args, &example_group_block); end + def fcontext(*args, &example_group_block); end + def fdescribe(*args, &example_group_block); end + def reset; end + def shared_context(name, *args, &block); end + def shared_examples(name, *args, &block); end + def shared_examples_for(name, *args, &block); end + def world; end + def world=(_); end + def xcontext(*args, &example_group_block); end + def xdescribe(*args, &example_group_block); end + end end RSpec::MODULES_TO_AUTOLOAD = T.let(T.unsafe(nil), Hash) diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.2.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.3.0.rbi similarity index 90% rename from Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.2.0.rbi rename to Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.3.0.rbi index 42c899a54c..abc34c1093 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.2.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rubocop-ast@0.3.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop-ast` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -31,7 +32,7 @@ end class RuboCop::AST::ArrayNode < ::RuboCop::AST::Node def bracketed?; end def each_value(&block); end - def percent_literal?(type = _); end + def percent_literal?(type = T.unsafe(nil)); end def square_brackets?; end def values; end end @@ -70,11 +71,8 @@ end RuboCop::AST::BlockNode::VOID_CONTEXT_METHODS = T.let(T.unsafe(nil), Array) class RuboCop::AST::BreakNode < ::RuboCop::AST::Node - include(::RuboCop::AST::MethodIdentifierPredicates) - include(::RuboCop::AST::MethodDispatchNode) include(::RuboCop::AST::ParameterizedNode) - - def arguments; end + include(::RuboCop::AST::ParameterizedNode::WrappedArguments) end class RuboCop::AST::Builder < ::Parser::Builders::Default @@ -91,7 +89,7 @@ RuboCop::AST::Builder::NODE_MAP = T.let(T.unsafe(nil), Hash) class RuboCop::AST::CaseMatchNode < ::RuboCop::AST::Node include(::RuboCop::AST::ConditionalNode) - def each_in_pattern; end + def each_in_pattern(&block); end def else?; end def else_branch; end def in_pattern_branches; end @@ -101,7 +99,8 @@ end class RuboCop::AST::CaseNode < ::RuboCop::AST::Node include(::RuboCop::AST::ConditionalNode) - def each_when; end + def branches; end + def each_when(&block); end def else?; end def else_branch; end def keyword; end @@ -274,6 +273,7 @@ class RuboCop::AST::DefinedNode < ::RuboCop::AST::Node include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) + def arguments; end def node_parts; end end @@ -281,7 +281,15 @@ class RuboCop::AST::EnsureNode < ::RuboCop::AST::Node def body; end end +module RuboCop::AST::Ext +end + +module RuboCop::AST::Ext::Range + def line_span(exclude_end: T.unsafe(nil)); end +end + class RuboCop::AST::FloatNode < ::RuboCop::AST::Node + include(::RuboCop::AST::BasicLiteralNode) include(::RuboCop::AST::NumericNode) end @@ -303,7 +311,7 @@ end module RuboCop::AST::HashElementNode def delimiter_delta(other); end def key; end - def key_delta(other, alignment = _); end + def key_delta(other, alignment = T.unsafe(nil)); end def same_line?(other); end def value; end def value_delta(other); end @@ -311,9 +319,9 @@ end class RuboCop::AST::HashNode < ::RuboCop::AST::Node def braces?; end - def each_key; end + def each_key(&block); end def each_pair; end - def each_value; end + def each_value(&block); end def empty?; end def keys; end def mixed_delimiters?; end @@ -327,7 +335,7 @@ class RuboCop::AST::IfNode < ::RuboCop::AST::Node include(::RuboCop::AST::ModifierNode) def branches; end - def each_branch; end + def each_branch(&block); end def else?; end def else_branch; end def elsif?; end @@ -345,27 +353,36 @@ end class RuboCop::AST::IndexNode < ::RuboCop::AST::Node include(::RuboCop::AST::ParameterizedNode) + include(::RuboCop::AST::ParameterizedNode::RestArguments) include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) - def arguments; end def assignment_method?; end def attribute_accessor?; end def method_name; end + + private + + def first_argument_index; end end class RuboCop::AST::IndexasgnNode < ::RuboCop::AST::Node include(::RuboCop::AST::ParameterizedNode) + include(::RuboCop::AST::ParameterizedNode::RestArguments) include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) - def arguments; end def assignment_method?; end def attribute_accessor?; end def method_name; end + + private + + def first_argument_index; end end class RuboCop::AST::IntNode < ::RuboCop::AST::Node + include(::RuboCop::AST::BasicLiteralNode) include(::RuboCop::AST::NumericNode) end @@ -382,15 +399,20 @@ RuboCop::AST::KeywordSplatNode::DOUBLE_SPLAT = T.let(T.unsafe(nil), String) class RuboCop::AST::LambdaNode < ::RuboCop::AST::Node include(::RuboCop::AST::ParameterizedNode) + include(::RuboCop::AST::ParameterizedNode::RestArguments) include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) - def arguments; end def assignment_method?; end def attribute_accessor?; end def lambda?; end def lambda_literal?; end def method_name; end + def receiver; end + + private + + def first_argument_index; end end module RuboCop::AST::MethodDispatchNode @@ -398,12 +420,11 @@ module RuboCop::AST::MethodDispatchNode extend(::RuboCop::AST::NodePattern::Macros) def access_modifier?; end - def adjacent_def_modifier?(node = _); end - def arguments; end + def adjacent_def_modifier?(node = T.unsafe(nil)); end def arithmetic_operation?; end def assignment?; end def bare_access_modifier?; end - def bare_access_modifier_declaration?(node = _); end + def bare_access_modifier_declaration?(node = T.unsafe(nil)); end def binary_operation?; end def block_literal?; end def block_node; end @@ -416,10 +437,10 @@ module RuboCop::AST::MethodDispatchNode def lambda?; end def lambda_literal?; end def macro?; end - def macro_scope?(node = _); end + def macro_scope?(node = T.unsafe(nil)); end def method_name; end def non_bare_access_modifier?; end - def non_bare_access_modifier_declaration?(node = _); end + def non_bare_access_modifier_declaration?(node = T.unsafe(nil)); end def receiver; end def safe_navigation?; end def self_receiver?; end @@ -487,12 +508,17 @@ class RuboCop::AST::ModuleNode < ::RuboCop::AST::Node def identifier; end end +class RuboCop::AST::NextNode < ::RuboCop::AST::Node + include(::RuboCop::AST::ParameterizedNode) + include(::RuboCop::AST::ParameterizedNode::WrappedArguments) +end + class RuboCop::AST::Node < ::Parser::AST::Node include(::RuboCop::AST::Sexp) include(::RuboCop::RSpec::Node) extend(::RuboCop::AST::NodePattern::Macros) - def initialize(type, children = _, properties = _); end + def initialize(type, children = T.unsafe(nil), properties = T.unsafe(nil)); end def __ENCODING___type?; end def __FILE___type?; end @@ -510,7 +536,7 @@ class RuboCop::AST::Node < ::Parser::AST::Node def array_pattern_with_tail_type?; end def array_type?; end def assignment?; end - def assignment_or_similar?(node = _); end + def assignment_or_similar?(node = T.unsafe(nil)); end def back_ref_type?; end def basic_conditional?; end def basic_literal?; end @@ -528,8 +554,8 @@ class RuboCop::AST::Node < ::Parser::AST::Node def cbase_type?; end def chained?; end def child_nodes; end - def class_constructor?(node = _); end - def class_definition?(node = _); end + def class_constructor?(node = T.unsafe(nil)); end + def class_definition?(node = T.unsafe(nil)); end def class_type?; end def complete!; end def complete?; end @@ -570,7 +596,7 @@ class RuboCop::AST::Node < ::Parser::AST::Node def forward_arg_type?; end def forward_args_type?; end def forwarded_args_type?; end - def global_const?(node = _, param1); end + def global_const?(node = T.unsafe(nil), param1); end def guard_clause?; end def gvar_type?; end def gvasgn_type?; end @@ -596,8 +622,8 @@ class RuboCop::AST::Node < ::Parser::AST::Node def kwoptarg_type?; end def kwrestarg_type?; end def kwsplat_type?; end - def lambda?(node = _); end - def lambda_or_proc?(node = _); end + def lambda?(node = T.unsafe(nil)); end + def lambda_or_proc?(node = T.unsafe(nil)); end def lambda_type?; end def last_line; end def line_count; end @@ -609,19 +635,19 @@ class RuboCop::AST::Node < ::Parser::AST::Node def match_alt_type?; end def match_as_type?; end def match_current_line_type?; end - def match_guard_clause?(node = _); end + def match_guard_clause?(node = T.unsafe(nil)); end def match_nil_pattern_type?; end def match_rest_type?; end def match_var_type?; end def match_with_lvasgn_type?; end def match_with_trailing_comma_type?; end def mlhs_type?; end - def module_definition?(node = _); end + def module_definition?(node = T.unsafe(nil)); end def module_type?; end def mrasgn_type?; end def multiline?; end def mutable_literal?; end - def new_class_or_module_block?(node = _); end + def new_class_or_module_block?(node = T.unsafe(nil)); end def next_type?; end def nil_type?; end def node_parts; end @@ -647,13 +673,13 @@ class RuboCop::AST::Node < ::Parser::AST::Node def post_condition_loop?; end def postexe_type?; end def preexe_type?; end - def proc?(node = _); end + def proc?(node = T.unsafe(nil)); end def procarg0_type?; end def pure?; end def range_type?; end def rasgn_type?; end def rational_type?; end - def receiver(node = _); end + def receiver(node = T.unsafe(nil)); end def recursive_basic_literal?; end def recursive_literal?; end def redo_type?; end @@ -679,9 +705,9 @@ class RuboCop::AST::Node < ::Parser::AST::Node def source_range; end def special_keyword?; end def splat_type?; end - def str_content(node = _); end + def str_content(node = T.unsafe(nil)); end def str_type?; end - def struct_constructor?(node = _); end + def struct_constructor?(node = T.unsafe(nil)); end def super_type?; end def sym_type?; end def true_type?; end @@ -690,7 +716,7 @@ class RuboCop::AST::Node < ::Parser::AST::Node def unless_guard_type?; end def until_post_type?; end def until_type?; end - def updated(type = _, children = _, properties = _); end + def updated(type = T.unsafe(nil), children = T.unsafe(nil), properties = T.unsafe(nil)); end def value_used?; end def variable?; end def when_type?; end @@ -709,7 +735,7 @@ class RuboCop::AST::Node < ::Parser::AST::Node def begin_value_used?; end def case_if_value_used?; end - def defined_module0(node = _); end + def defined_module0(node = T.unsafe(nil)); end def for_value_used?; end def parent_module_name_for_block(ancestor); end def parent_module_name_for_sclass(sclass_node); end @@ -771,7 +797,9 @@ class RuboCop::AST::NodePattern def pattern; end def to_s; end - def self.descend(element, &block); end + class << self + def descend(element, &block); end + end end class RuboCop::AST::NodePattern::Invalid < ::StandardError @@ -806,9 +834,9 @@ class RuboCop::AST::PairNode < ::RuboCop::AST::Node include(::RuboCop::AST::HashElementNode) def colon?; end - def delimiter(with_spacing = _); end + def delimiter(*deprecated, with_spacing: T.unsafe(nil)); end def hash_rocket?; end - def inverse_delimiter(with_spacing = _); end + def inverse_delimiter(*deprecated, with_spacing: T.unsafe(nil)); end def value_on_new_line?; end end @@ -830,6 +858,21 @@ module RuboCop::AST::ParameterizedNode def splat_argument?; end end +module RuboCop::AST::ParameterizedNode::RestArguments + include(::RuboCop::AST::ParameterizedNode) + + def arguments; end + def arguments?; end + def first_argument; end + def last_argument; end +end + +module RuboCop::AST::ParameterizedNode::WrappedArguments + include(::RuboCop::AST::ParameterizedNode) + + def arguments; end +end + module RuboCop::AST::PredicateOperatorNode def logical_operator?; end def operator; end @@ -847,7 +890,7 @@ RuboCop::AST::PredicateOperatorNode::SEMANTIC_OR = T.let(T.unsafe(nil), String) class RuboCop::AST::ProcessedSource include(::RuboCop::Ext::ProcessedSource) - def initialize(source, ruby_version, path = _); end + def initialize(source, ruby_version, path = T.unsafe(nil)); end def [](*args); end def ast; end @@ -855,17 +898,19 @@ class RuboCop::AST::ProcessedSource def blank?; end def buffer; end def checksum; end + def comment_at_line(line); end def commented?(source_range); end def comments; end def comments_before_line(line); end def contains_comment?(source_range); end def current_line(token); end def diagnostics; end - def each_comment; end - def each_token; end + def each_comment(&block); end + def each_comment_in_lines(line_range); end + def each_token(&block); end def file_path; end - def find_comment; end - def find_token; end + def find_comment(&block); end + def find_token(&block); end def following_line(token); end def line_indentation(line_number); end def line_with_comment?(line); end @@ -881,13 +926,15 @@ class RuboCop::AST::ProcessedSource private - def comment_lines; end + def comment_index; end def create_parser(ruby_version); end def parse(source, ruby_version); end def parser_class(ruby_version); end def tokenize(parser); end - def self.from_file(path, ruby_version); end + class << self + def from_file(path, ruby_version); end + end end RuboCop::AST::ProcessedSource::STRING_SOURCE_NAME = T.let(T.unsafe(nil), String) @@ -924,20 +971,9 @@ class RuboCop::AST::ResbodyNode < ::RuboCop::AST::Node def exception_variable; end end -class RuboCop::AST::RetryNode < ::RuboCop::AST::Node - include(::RuboCop::AST::MethodIdentifierPredicates) - include(::RuboCop::AST::MethodDispatchNode) - include(::RuboCop::AST::ParameterizedNode) - - def arguments; end -end - class RuboCop::AST::ReturnNode < ::RuboCop::AST::Node - include(::RuboCop::AST::MethodIdentifierPredicates) - include(::RuboCop::AST::MethodDispatchNode) include(::RuboCop::AST::ParameterizedNode) - - def arguments; end + include(::RuboCop::AST::ParameterizedNode::WrappedArguments) end class RuboCop::AST::SelfClassNode < ::RuboCop::AST::Node @@ -947,10 +983,15 @@ end class RuboCop::AST::SendNode < ::RuboCop::AST::Node include(::RuboCop::AST::ParameterizedNode) + include(::RuboCop::AST::ParameterizedNode::RestArguments) include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) - def attribute_accessor?(node = _); end + def attribute_accessor?(node = T.unsafe(nil)); end + + private + + def first_argument_index; end end module RuboCop::AST::Sexp @@ -968,6 +1009,7 @@ class RuboCop::AST::SuperNode < ::RuboCop::AST::Node include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) + def arguments; end def node_parts; end end @@ -1004,7 +1046,9 @@ class RuboCop::AST::Token def to_s; end def type; end - def self.from_parser_token(parser_token); end + class << self + def from_parser_token(parser_token); end + end end module RuboCop::AST::Traversal @@ -1156,7 +1200,7 @@ class RuboCop::AST::WhenNode < ::RuboCop::AST::Node def body; end def branch_index; end def conditions; end - def each_condition; end + def each_condition(&block); end def then?; end end @@ -1174,6 +1218,7 @@ class RuboCop::AST::YieldNode < ::RuboCop::AST::Node include(::RuboCop::AST::MethodIdentifierPredicates) include(::RuboCop::AST::MethodDispatchNode) + def arguments; end def node_parts; end end @@ -1189,6 +1234,8 @@ RuboCop::AST::NodePattern::Compiler::CAPTURED_REST = T.let(T.unsafe(nil), String RuboCop::AST::NodePattern::Compiler::CLOSING = T.let(T.unsafe(nil), Regexp) +RuboCop::AST::NodePattern::Compiler::COMMENT = T.let(T.unsafe(nil), Regexp) + RuboCop::AST::NodePattern::Compiler::CONST = T.let(T.unsafe(nil), Regexp) RuboCop::AST::NodePattern::Compiler::CUR_ELEMENT = T.let(T.unsafe(nil), String) diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop-performance@1.7.1.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop-performance@1.7.1.rbi index 583f91b0e8..4a236060aa 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rubocop-performance@1.7.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rubocop-performance@1.7.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop-performance` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -15,7 +16,7 @@ end class RuboCop::Cop::Performance::AncestorsInclude < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) - def ancestors_include_candidate?(node = _); end + def ancestors_include_candidate?(node = T.unsafe(nil)); end def autocorrect(node); end def on_send(node); end end @@ -24,7 +25,7 @@ RuboCop::Cop::Performance::AncestorsInclude::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::BigDecimalWithNumericArgument < ::RuboCop::Cop::Cop def autocorrect(node); end - def big_decimal_with_numeric_argument?(node = _); end + def big_decimal_with_numeric_argument?(node = T.unsafe(nil)); end def on_send(node); end private @@ -39,7 +40,7 @@ class RuboCop::Cop::Performance::BindCall < ::RuboCop::Cop::Cop extend(::RuboCop::Cop::TargetRubyVersion) def autocorrect(node); end - def bind_with_call_method?(node = _); end + def bind_with_call_method?(node = T.unsafe(nil)); end def on_send(node); end private @@ -52,9 +53,9 @@ end RuboCop::Cop::Performance::BindCall::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::Caller < ::RuboCop::Cop::Cop - def caller_with_scope_method?(node = _); end + def caller_with_scope_method?(node = T.unsafe(nil)); end def on_send(node); end - def slow_caller?(node = _); end + def slow_caller?(node = T.unsafe(nil)); end private @@ -94,9 +95,9 @@ RuboCop::Cop::Performance::CaseWhenSplat::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::Casecmp < ::RuboCop::Cop::Cop def autocorrect(node); end - def downcase_downcase(node = _); end - def downcase_eq(node = _); end - def eq_downcase(node = _); end + def downcase_downcase(node = T.unsafe(nil)); end + def downcase_eq(node = T.unsafe(nil)); end + def eq_downcase(node = T.unsafe(nil)); end def on_send(node); end private @@ -113,7 +114,7 @@ RuboCop::Cop::Performance::Casecmp::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::ChainArrayAllocation < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) - def flat_map_candidate?(node = _); end + def flat_map_candidate?(node = T.unsafe(nil)); end def on_send(node); end end @@ -131,9 +132,9 @@ class RuboCop::Cop::Performance::CompareWithBlock < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def compare?(node = _); end + def compare?(node = T.unsafe(nil)); end def on_block(node); end - def replaceable_body?(node = _, param1, param2); end + def replaceable_body?(node = T.unsafe(nil), param1, param2); end private @@ -148,7 +149,7 @@ class RuboCop::Cop::Performance::Count < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def count_candidate?(node = _); end + def count_candidate?(node = T.unsafe(nil)); end def on_send(node); end private @@ -164,7 +165,7 @@ class RuboCop::Cop::Performance::DeletePrefix < ::RuboCop::Cop::Cop extend(::RuboCop::Cop::TargetRubyVersion) def autocorrect(node); end - def delete_prefix_candidate?(node = _); end + def delete_prefix_candidate?(node = T.unsafe(nil)); end def on_send(node); end end @@ -177,7 +178,7 @@ class RuboCop::Cop::Performance::DeleteSuffix < ::RuboCop::Cop::Cop extend(::RuboCop::Cop::TargetRubyVersion) def autocorrect(node); end - def delete_suffix_candidate?(node = _); end + def delete_suffix_candidate?(node = T.unsafe(nil)); end def on_send(node); end end @@ -187,7 +188,7 @@ RuboCop::Cop::Performance::DeleteSuffix::PREFERRED_METHODS = T.let(T.unsafe(nil) class RuboCop::Cop::Performance::Detect < ::RuboCop::Cop::Cop def autocorrect(node); end - def detect_candidate?(node = _); end + def detect_candidate?(node = T.unsafe(nil)); end def on_send(node); end private @@ -204,9 +205,9 @@ RuboCop::Cop::Performance::Detect::REVERSE_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::DoubleStartEndWith < ::RuboCop::Cop::Cop def autocorrect(node); end - def check_with_active_support_aliases(node = _); end + def check_with_active_support_aliases(node = T.unsafe(nil)); end def on_or(node); end - def two_start_end_with_calls(node = _); end + def two_start_end_with_calls(node = T.unsafe(nil)); end private @@ -224,13 +225,13 @@ class RuboCop::Cop::Performance::EndWith < ::RuboCop::Cop::Cop def autocorrect(node); end def on_match_with_lvasgn(node); end def on_send(node); end - def redundant_regex?(node = _); end + def redundant_regex?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::EndWith::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::FixedSize < ::RuboCop::Cop::Cop - def counter(node = _); end + def counter(node = T.unsafe(nil)); end def on_send(node); end private @@ -249,7 +250,7 @@ class RuboCop::Cop::Performance::FlatMap < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def flat_map_candidate?(node = _); end + def flat_map_candidate?(node = T.unsafe(nil)); end def on_send(node); end private @@ -265,7 +266,7 @@ RuboCop::Cop::Performance::FlatMap::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::InefficientHashSearch < ::RuboCop::Cop::Cop def autocorrect(node); end - def inefficient_include?(node = _); end + def inefficient_include?(node = T.unsafe(nil)); end def on_send(node); end private @@ -283,8 +284,8 @@ class RuboCop::Cop::Performance::IoReadlines < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def readlines_on_class?(node = _); end - def readlines_on_instance?(node = _); end + def readlines_on_class?(node = T.unsafe(nil)); end + def readlines_on_instance?(node = T.unsafe(nil)); end private @@ -303,7 +304,7 @@ RuboCop::Cop::Performance::IoReadlines::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::OpenStruct < ::RuboCop::Cop::Cop def on_send(node); end - def open_struct(node = _); end + def open_struct(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::OpenStruct::MSG = T.let(T.unsafe(nil), String) @@ -311,7 +312,7 @@ RuboCop::Cop::Performance::OpenStruct::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::RangeInclude < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def range_include(node = _); end + def range_include(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::RangeInclude::MSG = T.let(T.unsafe(nil), String) @@ -320,7 +321,7 @@ class RuboCop::Cop::Performance::RedundantBlockCall < ::RuboCop::Cop::Cop def autocorrect(node); end def blockarg_assigned?(node0, param1); end def blockarg_calls(node0, param1); end - def blockarg_def(node = _); end + def blockarg_def(node = T.unsafe(nil)); end def on_def(node); end private @@ -341,18 +342,18 @@ RuboCop::Cop::Performance::RedundantBlockCall::YIELD = T.let(T.unsafe(nil), Stri class RuboCop::Cop::Performance::RedundantMatch < ::RuboCop::Cop::Cop def autocorrect(node); end - def match_call?(node = _); end + def match_call?(node = T.unsafe(nil)); end def on_send(node); end - def only_truthiness_matters?(node = _); end + def only_truthiness_matters?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::RedundantMatch::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::RedundantMerge < ::RuboCop::Cop::Cop def autocorrect(node); end - def modifier_flow_control?(node = _); end + def modifier_flow_control?(node = T.unsafe(nil)); end def on_send(node); end - def redundant_merge_candidate(node = _); end + def redundant_merge_candidate(node = T.unsafe(nil)); end private @@ -378,7 +379,7 @@ class RuboCop::Cop::Performance::RedundantMerge::EachWithObjectInspector def initialize(node, receiver); end - def each_with_object_node(node = _); end + def each_with_object_node(node = T.unsafe(nil)); end def value_used?; end private @@ -413,7 +414,7 @@ class RuboCop::Cop::Performance::RedundantStringChars < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def redundant_chars_call?(node = _); end + def redundant_chars_call?(node = T.unsafe(nil)); end private @@ -433,11 +434,11 @@ RuboCop::Cop::Performance::RedundantStringChars::REPLACEABLE_METHODS = T.let(T.u class RuboCop::Cop::Performance::RegexpMatch < ::RuboCop::Cop::Cop def autocorrect(node); end def last_matches(node0); end - def match_method?(node = _); end - def match_node?(node = _); end - def match_operator?(node = _); end - def match_threequals?(node = _); end - def match_with_int_arg_method?(node = _); end + def match_method?(node = T.unsafe(nil)); end + def match_node?(node = T.unsafe(nil)); end + def match_operator?(node = T.unsafe(nil)); end + def match_threequals?(node = T.unsafe(nil)); end + def match_with_int_arg_method?(node = T.unsafe(nil)); end def match_with_lvasgn?(node); end def on_case(node); end def on_if(node); end @@ -446,7 +447,7 @@ class RuboCop::Cop::Performance::RegexpMatch < ::RuboCop::Cop::Cop private def check_condition(cond); end - def correct_operator(corrector, recv, arg, oper = _); end + def correct_operator(corrector, recv, arg, oper = T.unsafe(nil)); end def correction_range(recv, arg); end def find_last_match(body, range, scope_root); end def last_match_used?(match_node); end @@ -472,7 +473,7 @@ class RuboCop::Cop::Performance::ReverseEach < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def reverse_each?(node = _); end + def reverse_each?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::ReverseEach::MSG = T.let(T.unsafe(nil), String) @@ -484,7 +485,7 @@ class RuboCop::Cop::Performance::ReverseFirst < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def reverse_first_candidate?(node = _); end + def reverse_first_candidate?(node = T.unsafe(nil)); end private @@ -497,10 +498,10 @@ end RuboCop::Cop::Performance::ReverseFirst::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::Size < ::RuboCop::Cop::Cop - def array?(node = _); end + def array?(node = T.unsafe(nil)); end def autocorrect(node); end - def count?(node = _); end - def hash?(node = _); end + def count?(node = T.unsafe(nil)); end + def hash?(node = T.unsafe(nil)); end def on_send(node); end end @@ -523,7 +524,7 @@ RuboCop::Cop::Performance::SortReverse::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::Squeeze < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def squeeze_candidate?(node = _); end + def squeeze_candidate?(node = T.unsafe(nil)); end private @@ -540,7 +541,7 @@ class RuboCop::Cop::Performance::StartWith < ::RuboCop::Cop::Cop def autocorrect(node); end def on_match_with_lvasgn(node); end def on_send(node); end - def redundant_regex?(node = _); end + def redundant_regex?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::StartWith::MSG = T.let(T.unsafe(nil), String) @@ -549,7 +550,7 @@ class RuboCop::Cop::Performance::StringInclude < ::RuboCop::Cop::Cop def autocorrect(node); end def on_match_with_lvasgn(node); end def on_send(node); end - def redundant_regex?(node = _); end + def redundant_regex?(node = T.unsafe(nil)); end private @@ -564,7 +565,7 @@ class RuboCop::Cop::Performance::StringReplacement < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end def replace_method(node, first, second, first_param, replacement); end - def string_replacement?(node = _); end + def string_replacement?(node = T.unsafe(nil)); end private @@ -595,7 +596,7 @@ class RuboCop::Cop::Performance::TimesMap < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end def on_send(node); end - def times_map_call(node = _); end + def times_map_call(node = T.unsafe(nil)); end private @@ -608,9 +609,9 @@ RuboCop::Cop::Performance::TimesMap::MESSAGE = T.let(T.unsafe(nil), String) RuboCop::Cop::Performance::TimesMap::MESSAGE_ONLY_IF = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::UnfreezeString < ::RuboCop::Cop::Cop - def dup_string?(node = _); end + def dup_string?(node = T.unsafe(nil)); end def on_send(node); end - def string_new?(node = _); end + def string_new?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::UnfreezeString::MSG = T.let(T.unsafe(nil), String) @@ -618,7 +619,7 @@ RuboCop::Cop::Performance::UnfreezeString::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Performance::UriDefaultParser < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def uri_parser_new?(node = _); end + def uri_parser_new?(node = T.unsafe(nil)); end end RuboCop::Cop::Performance::UriDefaultParser::MSG = T.let(T.unsafe(nil), String) @@ -642,8 +643,8 @@ module RuboCop::Cop::SortBlock include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::AST::NodePattern::Macros) - def replaceable_body?(node = _, param1, param2); end - def sort_with_block?(node = _); end + def replaceable_body?(node = T.unsafe(nil), param1, param2); end + def sort_with_block?(node = T.unsafe(nil)); end private @@ -658,7 +659,9 @@ end RuboCop::Performance::CONFIG = T.let(T.unsafe(nil), Hash) module RuboCop::Performance::Inject - def self.defaults!; end + class << self + def defaults!; end + end end module RuboCop::Performance::Version diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.42.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.42.0.rbi index 780df93b35..3698d4acd4 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.42.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rubocop-rspec@1.42.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop-rspec` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -39,7 +40,9 @@ class RuboCop::Cop::Layout::ExtraSpacing < ::RuboCop::Cop::Cop def ignored_range?(ast, start_pos); end def ignored_ranges(ast); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::ExtraSpacing::MSG_UNALIGNED_ASGN = T.let(T.unsafe(nil), String) @@ -54,7 +57,9 @@ class RuboCop::Cop::RSpec::AlignLeftLetBrace < ::RuboCop::Cop::RSpec::Cop def on_new_investigation; end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::RSpec::AlignLeftLetBrace::MSG = T.let(T.unsafe(nil), String) @@ -64,13 +69,15 @@ class RuboCop::Cop::RSpec::AlignRightLetBrace < ::RuboCop::Cop::RSpec::Cop def on_new_investigation; end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::RSpec::AlignRightLetBrace::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::AnyInstance < ::RuboCop::Cop::RSpec::Cop - def disallowed_stub(node = _); end + def disallowed_stub(node = T.unsafe(nil)); end def on_send(node); end end @@ -78,7 +85,7 @@ RuboCop::Cop::RSpec::AnyInstance::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::AroundBlock < ::RuboCop::Cop::RSpec::Cop def find_arg_usage(node0); end - def hook(node = _); end + def hook(node = T.unsafe(nil)); end def on_block(node); end private @@ -92,7 +99,7 @@ RuboCop::Cop::RSpec::AroundBlock::MSG_NO_ARG = T.let(T.unsafe(nil), String) RuboCop::Cop::RSpec::AroundBlock::MSG_UNUSED_ARG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::Be < ::RuboCop::Cop::RSpec::Cop - def be_without_args(node = _); end + def be_without_args(node = T.unsafe(nil)); end def on_send(node); end end @@ -101,14 +108,14 @@ RuboCop::Cop::RSpec::Be::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::BeEql < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def eql_type_with_identity(node = _); end + def eql_type_with_identity(node = T.unsafe(nil)); end def on_send(node); end end RuboCop::Cop::RSpec::BeEql::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::BeforeAfterAll < ::RuboCop::Cop::RSpec::Cop - def before_or_after_all(node = _); end + def before_or_after_all(node = T.unsafe(nil)); end def on_send(node); end end @@ -120,10 +127,10 @@ end class RuboCop::Cop::RSpec::Capybara::CurrentPathExpectation < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def as_is_matcher(node = _); end - def expectation_set_on_current_path(node = _); end + def as_is_matcher(node = T.unsafe(nil)); end + def expectation_set_on_current_path(node = T.unsafe(nil)); end def on_send(node); end - def regexp_str_matcher(node = _); end + def regexp_str_matcher(node = T.unsafe(nil)); end private @@ -138,10 +145,10 @@ RuboCop::Cop::RSpec::Capybara::CurrentPathExpectation::MSG = T.let(T.unsafe(nil) class RuboCop::Cop::RSpec::Capybara::FeatureMethods < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def feature_method(node = _); end + def feature_method(node = T.unsafe(nil)); end def message(range); end def on_block(node); end - def spec?(node = _); end + def spec?(node = T.unsafe(nil)); end private @@ -158,8 +165,8 @@ RuboCop::Cop::RSpec::Capybara::FeatureMethods::MSG = T.let(T.unsafe(nil), String class RuboCop::Cop::RSpec::Capybara::VisibilityMatcher < ::RuboCop::Cop::RSpec::Cop def on_send(node); end - def visible_false?(node = _); end - def visible_true?(node = _); end + def visible_false?(node = T.unsafe(nil)); end + def visible_true?(node = T.unsafe(nil)); end private @@ -175,7 +182,7 @@ RuboCop::Cop::RSpec::Capybara::VisibilityMatcher::MSG_TRUE = T.let(T.unsafe(nil) class RuboCop::Cop::RSpec::ContextMethod < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def context_method(node = _); end + def context_method(node = T.unsafe(nil)); end def on_block(node); end private @@ -186,7 +193,7 @@ end RuboCop::Cop::RSpec::ContextMethod::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::ContextWording < ::RuboCop::Cop::RSpec::Cop - def context_wording(node = _); end + def context_wording(node = T.unsafe(nil)); end def on_block(node); end private @@ -212,7 +219,9 @@ class RuboCop::Cop::RSpec::Cop < ::RuboCop::Cop::Base def rspec_pattern_config; end def rspec_pattern_config?; end - def self.inherited(subclass); end + class << self + def inherited(subclass); end + end end RuboCop::Cop::RSpec::Cop::DEFAULT_CONFIGURATION = T.let(T.unsafe(nil), Hash) @@ -222,10 +231,10 @@ RuboCop::Cop::RSpec::Cop::DEFAULT_PATTERN_RE = T.let(T.unsafe(nil), Regexp) class RuboCop::Cop::RSpec::DescribeClass < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::RSpec::TopLevelDescribe) - def describe_with_rails_metadata?(node = _); end + def describe_with_rails_metadata?(node = T.unsafe(nil)); end def on_top_level_describe(node, _); end - def rails_metadata?(node = _); end - def valid_describe?(node = _); end + def rails_metadata?(node = T.unsafe(nil)); end + def valid_describe?(node = T.unsafe(nil)); end private @@ -243,7 +252,7 @@ end RuboCop::Cop::RSpec::DescribeMethod::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::DescribeSymbol < ::RuboCop::Cop::RSpec::Cop - def describe_symbol?(node = _); end + def describe_symbol?(node = T.unsafe(nil)); end def on_send(node); end end @@ -253,12 +262,12 @@ class RuboCop::Cop::RSpec::DescribedClass < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def common_instance_exec_closure?(node = _); end + def common_instance_exec_closure?(node = T.unsafe(nil)); end def contains_described_class?(node0); end - def described_constant(node = _); end + def described_constant(node = T.unsafe(nil)); end def on_block(node); end - def rspec_block?(node = _); end - def scope_changing_syntax?(node = _); end + def rspec_block?(node = T.unsafe(nil)); end + def scope_changing_syntax?(node = T.unsafe(nil)); end private @@ -292,7 +301,7 @@ class RuboCop::Cop::RSpec::Dialect < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) def on_send(node); end - def rspec_method?(node = _); end + def rspec_method?(node = T.unsafe(nil)); end end RuboCop::Cop::RSpec::Dialect::MSG = T.let(T.unsafe(nil), String) @@ -313,7 +322,7 @@ class RuboCop::Cop::RSpec::EmptyHook < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::AutoCorrector) - def empty_hook?(node = _); end + def empty_hook?(node = T.unsafe(nil)); end def on_block(node); end end @@ -400,7 +409,7 @@ RuboCop::Cop::RSpec::ExampleLength::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::ExampleWithoutDescription < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def example_description(node = _); end + def example_description(node = T.unsafe(nil)); end def on_block(node); end private @@ -416,7 +425,7 @@ RuboCop::Cop::RSpec::ExampleWithoutDescription::MSG_DEFAULT_ARGUMENT = T.let(T.u class RuboCop::Cop::RSpec::ExampleWording < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def it_description(node = _); end + def it_description(node = T.unsafe(nil)); end def on_block(node); end private @@ -440,7 +449,7 @@ RuboCop::Cop::RSpec::ExampleWording::SHOULD_PREFIX = T.let(T.unsafe(nil), Regexp class RuboCop::Cop::RSpec::ExpectActual < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def expect_literal(node = _); end + def expect_literal(node = T.unsafe(nil)); end def on_send(node); end private @@ -463,8 +472,8 @@ class RuboCop::Cop::RSpec::ExpectChange < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def expect_change_with_arguments(node = _); end - def expect_change_with_block(node = _); end + def expect_change_with_arguments(node = T.unsafe(nil)); end + def expect_change_with_block(node = T.unsafe(nil)); end def on_block(node); end def on_send(node); end end @@ -498,8 +507,8 @@ module RuboCop::Cop::RSpec::ExplicitHelper include(::RuboCop::RSpec::Language) extend(::RuboCop::AST::NodePattern::Macros) - def predicate_matcher?(node = _); end - def predicate_matcher_block?(node = _); end + def predicate_matcher?(node = T.unsafe(nil)); end + def predicate_matcher_block?(node = T.unsafe(nil)); end private @@ -523,10 +532,10 @@ end class RuboCop::Cop::RSpec::FactoryBot::AttributeDefinedStatically < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def association?(node = _); end - def factory_attributes(node = _); end + def association?(node = T.unsafe(nil)); end + def factory_attributes(node = T.unsafe(nil)); end def on_block(node); end - def value_matcher(node = _); end + def value_matcher(node = T.unsafe(nil)); end private @@ -548,9 +557,9 @@ class RuboCop::Cop::RSpec::FactoryBot::CreateList < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def factory_call(node = _); end - def factory_list_call(node = _); end - def n_times_block_without_arg?(node = _); end + def factory_call(node = T.unsafe(nil)); end + def factory_list_call(node = T.unsafe(nil)); end + def n_times_block_without_arg?(node = T.unsafe(nil)); end def on_block(node); end def on_send(node); end @@ -602,7 +611,7 @@ end class RuboCop::Cop::RSpec::FactoryBot::FactoryClassName < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def class_name(node = _); end + def class_name(node = T.unsafe(nil)); end def on_send(node); end private @@ -639,8 +648,8 @@ end RuboCop::Cop::RSpec::FilePath::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::Focus < ::RuboCop::Cop::RSpec::Cop - def focused_block?(node = _); end - def metadata(node = _); end + def focused_block?(node = T.unsafe(nil)); end + def metadata(node = T.unsafe(nil)); end def on_send(node); end private @@ -657,8 +666,8 @@ class RuboCop::Cop::RSpec::HookArgument < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) def on_block(node); end - def scoped_hook(node = _); end - def unscoped_hook(node = _); end + def scoped_hook(node = T.unsafe(nil)); end + def unscoped_hook(node = T.unsafe(nil)); end private @@ -678,7 +687,7 @@ RuboCop::Cop::RSpec::HookArgument::IMPLICIT_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::HooksBeforeExamples < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def example_or_group?(node = _); end + def example_or_group?(node = T.unsafe(nil)); end def on_block(node); end private @@ -692,9 +701,9 @@ end RuboCop::Cop::RSpec::HooksBeforeExamples::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::ImplicitBlockExpectation < ::RuboCop::Cop::RSpec::Cop - def implicit_expect(node = _); end - def lambda?(node = _); end - def lambda_subject?(node = _); end + def implicit_expect(node = T.unsafe(nil)); end + def lambda?(node = T.unsafe(nil)); end + def lambda_subject?(node = T.unsafe(nil)); end def on_send(node); end private @@ -710,7 +719,7 @@ class RuboCop::Cop::RSpec::ImplicitExpect < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def implicit_expect(node = _); end + def implicit_expect(node = T.unsafe(nil)); end def on_send(node); end private @@ -729,7 +738,7 @@ class RuboCop::Cop::RSpec::ImplicitSubject < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def implicit_subject?(node = _); end + def implicit_subject?(node = T.unsafe(nil)); end def on_send(node); end private @@ -745,9 +754,9 @@ module RuboCop::Cop::RSpec::InflectedHelper include(::RuboCop::RSpec::Language) extend(::RuboCop::AST::NodePattern::Macros) - def be_bool?(node = _); end - def be_boolthy?(node = _); end - def predicate_in_actual?(node = _); end + def be_bool?(node = T.unsafe(nil)); end + def be_boolthy?(node = T.unsafe(nil)); end + def predicate_in_actual?(node = T.unsafe(nil)); end private @@ -780,8 +789,8 @@ RuboCop::Cop::RSpec::InstanceSpy::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::InstanceVariable < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::RSpec::TopLevelGroup) - def custom_matcher?(node = _); end - def dynamic_class?(node = _); end + def custom_matcher?(node = T.unsafe(nil)); end + def dynamic_class?(node = T.unsafe(nil)); end def ivar_assigned?(node0, param1); end def ivar_usage(node0); end def on_top_level_group(node); end @@ -795,7 +804,7 @@ end RuboCop::Cop::RSpec::InstanceVariable::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::InvalidPredicateMatcher < ::RuboCop::Cop::RSpec::Cop - def invalid_predicate_matcher?(node = _); end + def invalid_predicate_matcher?(node = T.unsafe(nil)); end def on_send(node); end private @@ -809,7 +818,7 @@ class RuboCop::Cop::RSpec::ItBehavesLike < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def example_inclusion_offense(node = _, param1); end + def example_inclusion_offense(node = T.unsafe(nil), param1); end def on_send(node); end private @@ -820,8 +829,8 @@ end RuboCop::Cop::RSpec::ItBehavesLike::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::IteratedExpectation < ::RuboCop::Cop::RSpec::Cop - def each?(node = _); end - def expectation?(node = _, param1); end + def each?(node = T.unsafe(nil)); end + def expectation?(node = T.unsafe(nil), param1); end def on_block(node); end private @@ -867,7 +876,7 @@ RuboCop::Cop::RSpec::LeakyConstantDeclaration::MSG_MODULE = T.let(T.unsafe(nil), class RuboCop::Cop::RSpec::LetBeforeExamples < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def example_or_group?(node = _); end + def example_or_group?(node = T.unsafe(nil)); end def on_block(node); end private @@ -881,8 +890,8 @@ end RuboCop::Cop::RSpec::LetBeforeExamples::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::LetSetup < ::RuboCop::Cop::RSpec::Cop - def example_or_shared_group_or_including?(node = _); end - def let_bang(node = _); end + def example_or_shared_group_or_including?(node = T.unsafe(nil)); end + def let_bang(node = T.unsafe(nil)); end def method_called?(node0, param1); end def on_block(node); end @@ -895,7 +904,7 @@ end RuboCop::Cop::RSpec::LetSetup::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::MessageChain < ::RuboCop::Cop::RSpec::Cop - def message_chain(node = _); end + def message_chain(node = T.unsafe(nil)); end def on_send(node); end end @@ -904,7 +913,7 @@ RuboCop::Cop::RSpec::MessageChain::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::MessageExpectation < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def message_expectation(node = _); end + def message_expectation(node = T.unsafe(nil)); end def on_send(node); end def receive_message?(node0); end @@ -920,7 +929,7 @@ RuboCop::Cop::RSpec::MessageExpectation::SUPPORTED_STYLES = T.let(T.unsafe(nil), class RuboCop::Cop::RSpec::MessageSpies < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def message_expectation(node = _); end + def message_expectation(node = T.unsafe(nil)); end def on_send(node); end def receive_message(node0); end @@ -954,10 +963,10 @@ RuboCop::Cop::RSpec::MultipleDescribes::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::MultipleExpectations < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableMax) - def aggregate_failures?(node = _); end - def aggregate_failures_block?(node = _); end - def aggregate_failures_present?(node = _); end - def expect?(node = _); end + def aggregate_failures?(node = T.unsafe(nil)); end + def aggregate_failures_block?(node = T.unsafe(nil)); end + def aggregate_failures_present?(node = T.unsafe(nil)); end + def expect?(node = T.unsafe(nil)); end def on_block(node); end private @@ -990,8 +999,8 @@ RuboCop::Cop::RSpec::MultipleSubjects::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::NamedSubject < ::RuboCop::Cop::RSpec::Cop def ignored_shared_example?(node); end def on_block(node); end - def rspec_block?(node = _); end - def shared_example?(node = _); end + def rspec_block?(node = T.unsafe(nil)); end + def shared_example?(node = T.unsafe(nil)); end def subject_usage(node0); end end @@ -1005,7 +1014,7 @@ class RuboCop::Cop::RSpec::NestedGroups < ::RuboCop::Cop::RSpec::Cop private - def find_nested_example_groups(node, nesting: _, &block); end + def find_nested_example_groups(node, nesting: T.unsafe(nil), &block); end def max_nesting; end def max_nesting_config; end def message(nesting); end @@ -1021,7 +1030,7 @@ class RuboCop::Cop::RSpec::NotToNot < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) extend(::RuboCop::Cop::AutoCorrector) - def not_to_not_offense(node = _, param1); end + def not_to_not_offense(node = T.unsafe(nil), param1); end def on_send(node); end private @@ -1032,9 +1041,9 @@ end RuboCop::Cop::RSpec::NotToNot::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::OverwritingSetup < ::RuboCop::Cop::RSpec::Cop - def first_argument_name(node = _); end + def first_argument_name(node = T.unsafe(nil)); end def on_block(node); end - def setup?(node = _); end + def setup?(node = T.unsafe(nil)); end private @@ -1046,10 +1055,10 @@ RuboCop::Cop::RSpec::OverwritingSetup::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::Pending < ::RuboCop::Cop::RSpec::Cop def on_send(node); end - def pending_block?(node = _); end - def skip_or_pending?(node = _); end - def skippable?(node = _); end - def skipped_in_metadata?(node = _); end + def pending_block?(node = T.unsafe(nil)); end + def skip_or_pending?(node = T.unsafe(nil)); end + def skippable?(node = T.unsafe(nil)); end + def skipped_in_metadata?(node = T.unsafe(nil)); end private @@ -1082,7 +1091,7 @@ class RuboCop::Cop::RSpec::ReceiveCounts < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) def on_send(node); end - def receive_counts(node = _); end + def receive_counts(node = T.unsafe(nil)); end def stub?(node0); end private @@ -1131,12 +1140,12 @@ end RuboCop::Cop::RSpec::RepeatedExample::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::RepeatedExampleGroupBody < ::RuboCop::Cop::RSpec::Cop - def body(node = _); end - def const_arg(node = _); end - def metadata(node = _); end + def body(node = T.unsafe(nil)); end + def const_arg(node = T.unsafe(nil)); end + def metadata(node = T.unsafe(nil)); end def on_begin(node); end - def several_example_groups?(node = _); end - def skip_or_pending?(node = _); end + def several_example_groups?(node = T.unsafe(nil)); end + def skip_or_pending?(node = T.unsafe(nil)); end private @@ -1149,11 +1158,11 @@ end RuboCop::Cop::RSpec::RepeatedExampleGroupBody::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::RepeatedExampleGroupDescription < ::RuboCop::Cop::RSpec::Cop - def doc_string_and_metadata(node = _); end - def empty_description?(node = _); end + def doc_string_and_metadata(node = T.unsafe(nil)); end + def empty_description?(node = T.unsafe(nil)); end def on_begin(node); end - def several_example_groups?(node = _); end - def skip_or_pending?(node = _); end + def several_example_groups?(node = T.unsafe(nil)); end + def skip_or_pending?(node = T.unsafe(nil)); end private @@ -1172,7 +1181,7 @@ class RuboCop::Cop::RSpec::ReturnFromStub < ::RuboCop::Cop::RSpec::Cop def contains_stub?(node0); end def on_block(node); end def on_send(node); end - def stub_with_block?(node = _); end + def stub_with_block?(node = T.unsafe(nil)); end private @@ -1243,8 +1252,8 @@ class RuboCop::Cop::RSpec::SharedContext < ::RuboCop::Cop::RSpec::Cop def context?(node0); end def examples?(node0); end def on_block(node); end - def shared_context(node = _); end - def shared_example(node = _); end + def shared_context(node = T.unsafe(nil)); end + def shared_example(node = T.unsafe(nil)); end private @@ -1260,7 +1269,7 @@ class RuboCop::Cop::RSpec::SharedExamples < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) def on_send(node); end - def shared_examples(node = _); end + def shared_examples(node = T.unsafe(nil)); end end class RuboCop::Cop::RSpec::SharedExamples::Checker @@ -1281,9 +1290,9 @@ RuboCop::Cop::RSpec::SharedExamples::Checker::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::SingleArgumentMessageChain < ::RuboCop::Cop::RSpec::Cop extend(::RuboCop::Cop::AutoCorrector) - def message_chain(node = _); end + def message_chain(node = T.unsafe(nil)); end def on_send(node); end - def single_key_hash?(node = _); end + def single_key_hash?(node = T.unsafe(nil)); end private @@ -1301,15 +1310,15 @@ RuboCop::Cop::RSpec::SingleArgumentMessageChain::MSG = T.let(T.unsafe(nil), Stri class RuboCop::Cop::RSpec::SubjectStub < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::RSpec::TopLevelGroup) - def message_expectation?(node = _, param1); end + def message_expectation?(node = T.unsafe(nil), param1); end def message_expectation_matcher?(node0); end def on_top_level_group(node); end - def subject(node = _); end + def subject(node = T.unsafe(nil)); end private def find_all_explicit_subjects(node); end - def find_subject_expectations(node, subject_names = _, &block); end + def find_subject_expectations(node, subject_names = T.unsafe(nil), &block); end end RuboCop::Cop::RSpec::SubjectStub::MSG = T.let(T.unsafe(nil), String) @@ -1317,7 +1326,7 @@ RuboCop::Cop::RSpec::SubjectStub::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::UnspecifiedException < ::RuboCop::Cop::RSpec::Cop def block_with_args?(node); end def empty_exception_matcher?(node); end - def empty_raise_error_or_exception(node = _); end + def empty_raise_error_or_exception(node = T.unsafe(nil)); end def on_send(node); end end @@ -1355,7 +1364,7 @@ RuboCop::Cop::RSpec::VariableName::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::VerifiedDoubles < ::RuboCop::Cop::RSpec::Cop def on_send(node); end - def unverified_double(node = _); end + def unverified_double(node = T.unsafe(nil)); end private @@ -1365,8 +1374,8 @@ end RuboCop::Cop::RSpec::VerifiedDoubles::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::RSpec::VoidExpect < ::RuboCop::Cop::RSpec::Cop - def expect?(node = _); end - def expect_block?(node = _); end + def expect?(node = T.unsafe(nil)); end + def expect_block?(node = T.unsafe(nil)); end def on_block(node); end def on_send(node); end @@ -1382,8 +1391,8 @@ class RuboCop::Cop::RSpec::Yield < ::RuboCop::Cop::RSpec::Cop include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::AutoCorrector) - def block_arg(node = _); end - def block_call?(node = _, param1); end + def block_arg(node = T.unsafe(nil)); end + def block_call?(node = T.unsafe(nil), param1); end def method_on_stub?(node0); end def on_block(node); end @@ -1477,9 +1486,9 @@ end class RuboCop::RSpec::Example < ::RuboCop::RSpec::Concept def definition; end def doc_string; end - def extract_doc_string(node = _); end - def extract_implementation(node = _); end - def extract_metadata(node = _); end + def extract_doc_string(node = T.unsafe(nil)); end + def extract_implementation(node = T.unsafe(nil)); end + def extract_metadata(node = T.unsafe(nil)); end def implementation; end def metadata; end end @@ -1488,7 +1497,7 @@ class RuboCop::RSpec::ExampleGroup < ::RuboCop::RSpec::Concept def examples; end def hooks; end def lets; end - def scope_change?(node = _); end + def scope_change?(node = T.unsafe(nil)); end def subjects; end private @@ -1498,8 +1507,10 @@ class RuboCop::RSpec::ExampleGroup < ::RuboCop::RSpec::Concept end module RuboCop::RSpec::FactoryBot - def self.attribute_defining_methods; end - def self.reserved_methods; end + class << self + def attribute_defining_methods; end + def reserved_methods; end + end end module RuboCop::RSpec::FinalEndLocation @@ -1508,7 +1519,7 @@ end class RuboCop::RSpec::Hook < ::RuboCop::RSpec::Concept def example?; end - def extract_metadata(node = _); end + def extract_metadata(node = T.unsafe(nil)); end def knowable_scope?; end def metadata; end def name; end @@ -1524,7 +1535,9 @@ class RuboCop::RSpec::Hook < ::RuboCop::RSpec::Concept end module RuboCop::RSpec::Inject - def self.defaults!; end + class << self + def defaults!; end + end end module RuboCop::RSpec::Language @@ -1588,14 +1601,14 @@ RuboCop::RSpec::Language::Includes::EXAMPLES = T.let(T.unsafe(nil), RuboCop::RSp module RuboCop::RSpec::Language::NodePattern extend(::RuboCop::AST::NodePattern::Macros) - def example?(node = _); end - def example_group?(node = _); end - def example_group_with_body?(node = _); end - def hook?(node = _); end - def let?(node = _); end - def shared_group?(node = _); end - def spec_group?(node = _); end - def subject?(node = _); end + def example?(node = T.unsafe(nil)); end + def example_group?(node = T.unsafe(nil)); end + def example_group_with_body?(node = T.unsafe(nil)); end + def hook?(node = T.unsafe(nil)); end + def let?(node = T.unsafe(nil)); end + def shared_group?(node = T.unsafe(nil)); end + def spec_group?(node = T.unsafe(nil)); end + def subject?(node = T.unsafe(nil)); end end RuboCop::RSpec::Language::RSPEC = T.let(T.unsafe(nil), String) @@ -1659,7 +1672,7 @@ module RuboCop::RSpec::TopLevelGroup include(::RuboCop::RSpec::Language) extend(::RuboCop::AST::NodePattern::Macros) - def example_or_shared_group?(node = _); end + def example_or_shared_group?(node = T.unsafe(nil)); end def on_block(node); end private @@ -1674,7 +1687,7 @@ module RuboCop::RSpec::Variable include(::RuboCop::RSpec::Language) extend(::RuboCop::AST::NodePattern::Macros) - def variable_definition?(node = _); end + def variable_definition?(node = T.unsafe(nil)); end end module RuboCop::RSpec::Version diff --git a/Library/Homebrew/sorbet/rbi/gems/rubocop@0.88.0.rbi b/Library/Homebrew/sorbet/rbi/gems/rubocop@0.88.0.rbi index defd5528c7..f96d50aef1 100644 --- a/Library/Homebrew/sorbet/rbi/gems/rubocop@0.88.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/rubocop@0.88.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rubocop` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -11,7 +12,7 @@ class RuboCop::CLI def config_store; end def options; end - def run(args = _); end + def run(args = T.unsafe(nil)); end private @@ -25,7 +26,13 @@ class RuboCop::CLI end module RuboCop::CLI::Command - def self.run(env, name); end + class << self + def run(env, name); end + + private + + def class_for(name); end + end end class RuboCop::CLI::Command::AutoGenerateConfig < ::RuboCop::CLI::Command::Base @@ -64,10 +71,12 @@ class RuboCop::CLI::Command::Base def env; end - def self.by_command_name(name); end - def self.command_name; end - def self.command_name=(_); end - def self.inherited(subclass); end + class << self + def by_command_name(name); end + def command_name; end + def command_name=(_); end + def inherited(subclass); end + end end class RuboCop::CLI::Command::ExecuteRunner < ::RuboCop::CLI::Command::Base @@ -185,10 +194,12 @@ class RuboCop::CommentConfig::CopAnalysis < ::Struct def start_line_number; end def start_line_number=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end RuboCop::CommentConfig::REDUNDANT_DISABLE = T.let(T.unsafe(nil), String) @@ -198,7 +209,7 @@ class RuboCop::Config include(::RuboCop::FileFinder) extend(::Forwardable) - def initialize(hash = _, loaded_path = _); end + def initialize(hash = T.unsafe(nil), loaded_path = T.unsafe(nil)); end def [](*args, &block); end def []=(*args, &block); end @@ -247,7 +258,9 @@ class RuboCop::Config def read_rails_version_from_bundler_lock_file; end def target_rails_version_from_bundler_lock_file; end - def self.create(hash, path); end + class << self + def create(hash, path); end + end end class RuboCop::Config::CopConfig < ::Struct @@ -256,10 +269,12 @@ class RuboCop::Config::CopConfig < ::Struct def name; end def name=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end RuboCop::Config::DEFAULT_RAILS_VERSION = T.let(T.unsafe(nil), Float) @@ -267,31 +282,45 @@ RuboCop::Config::DEFAULT_RAILS_VERSION = T.let(T.unsafe(nil), Float) class RuboCop::ConfigLoader extend(::RuboCop::FileFinder) - def self.add_excludes_from_files(config, config_file); end - def self.add_missing_namespaces(path, hash); end - def self.clear_options; end - def self.configuration_file_for(target_dir); end - def self.configuration_from_file(config_file); end - def self.debug; end - def self.debug=(_); end - def self.debug?; end - def self.default_configuration; end - def self.default_configuration=(_); end - def self.disable_pending_cops; end - def self.disable_pending_cops=(_); end - def self.enable_pending_cops; end - def self.enable_pending_cops=(_); end - def self.ignore_parent_exclusion; end - def self.ignore_parent_exclusion=(_); end - def self.ignore_parent_exclusion?; end - def self.load_file(file); end - def self.load_yaml_configuration(absolute_path); end - def self.merge(base_hash, derived_hash); end - def self.merge_with_default(config, config_file, unset_nil: _); end - def self.possible_new_cops?(config); end - def self.project_root; end - def self.project_root=(_); end - def self.warn_on_pending_cops(pending_cops); end + class << self + def add_excludes_from_files(config, config_file); end + def add_missing_namespaces(path, hash); end + def clear_options; end + def configuration_file_for(target_dir); end + def configuration_from_file(config_file); end + def debug; end + def debug=(_); end + def debug?; end + def default_configuration; end + def default_configuration=(_); end + def disable_pending_cops; end + def disable_pending_cops=(_); end + def enable_pending_cops; end + def enable_pending_cops=(_); end + def ignore_parent_exclusion; end + def ignore_parent_exclusion=(_); end + def ignore_parent_exclusion?; end + def load_file(file); end + def load_yaml_configuration(absolute_path); end + def merge(base_hash, derived_hash); end + def merge_with_default(config, config_file, unset_nil: T.unsafe(nil)); end + def possible_new_cops?(config); end + def project_root; end + def project_root=(_); end + def warn_on_pending_cops(pending_cops); end + + private + + def check_duplication(yaml_code, absolute_path); end + def expand_path(path); end + def find_project_dotfile(target_dir); end + def find_project_root; end + def find_user_dotfile; end + def find_user_xdg_config; end + def read_file(absolute_path); end + def resolver; end + def yaml_safe_load(yaml_code, filename); end + end end RuboCop::ConfigLoader::DEFAULT_FILE = T.let(T.unsafe(nil), String) @@ -384,7 +413,7 @@ class RuboCop::ConfigValidator private def alert_about_unrecognized_cops(invalid_cop_names); end - def check_cop_config_value(hash, parent = _); end + def check_cop_config_value(hash, parent = T.unsafe(nil)); end def check_target_ruby; end def each_invalid_parameter(cop_name); end def msg_not_boolean(parent, key, value); end @@ -411,7 +440,7 @@ module RuboCop::Cop::Alignment private - def check_alignment(items, base_column = _); end + def check_alignment(items, base_column = T.unsafe(nil)); end def column_delta; end def configured_indentation_width; end def display_column(range); end @@ -428,9 +457,24 @@ class RuboCop::Cop::AlignmentCorrector extend(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::Alignment) - def self.align_end(processed_source, node, align_to); end - def self.correct(processed_source, node, column_delta); end - def self.processed_source; end + class << self + def align_end(processed_source, node, align_to); end + def correct(processed_source, node, column_delta); end + def processed_source; end + + private + + def alignment_column(align_to); end + def autocorrect_line(corrector, line_begin_pos, expr, column_delta, taboo_ranges); end + def block_comment_within?(expr); end + def calculate_range(expr, line_begin_pos, column_delta); end + def delimited_string_literal?(node); end + def each_line(expr); end + def inside_string_range(node); end + def inside_string_ranges(node); end + def remove(range, corrector); end + def whitespace_range(node); end + end end module RuboCop::Cop::AllowedMethods @@ -500,8 +544,10 @@ class RuboCop::Cop::Badge def to_s; end def with_department(department); end - def self.for(class_name); end - def self.parse(identifier); end + class << self + def for(class_name); end + def parse(identifier); end + end end class RuboCop::Cop::Badge::InvalidBadge < ::RuboCop::Error @@ -519,10 +565,10 @@ class RuboCop::Cop::Base extend(::RuboCop::AST::Sexp) extend(::RuboCop::AST::NodePattern::Macros) - def initialize(config = _, options = _); end + def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end - def add_global_offense(message = _, severity: _); end - def add_offense(node_or_range, message: _, severity: _, &block); end + def add_global_offense(message = T.unsafe(nil), severity: T.unsafe(nil)); end + def add_offense(node_or_range, message: T.unsafe(nil), severity: T.unsafe(nil), &block); end def config; end def config_to_allow_offenses; end def config_to_allow_offenses=(hash); end @@ -530,7 +576,7 @@ class RuboCop::Cop::Base def cop_name; end def excluded_file?(file); end def external_dependency_checksum; end - def message(_range = _); end + def message(_range = T.unsafe(nil)); end def name; end def offenses; end def on_investigation_end; end @@ -564,17 +610,19 @@ class RuboCop::Cop::Base def range_from_node_or_range(node_or_range); end def reset_investigation; end - def self.autocorrect_incompatible_with; end - def self.badge; end - def self.cop_name; end - def self.department; end - def self.exclude_from_registry; end - def self.inherited(subclass); end - def self.joining_forces; end - def self.lint?; end - def self.match?(given_names); end - def self.support_autocorrect?; end - def self.support_multiple_source?; end + class << self + def autocorrect_incompatible_with; end + def badge; end + def cop_name; end + def department; end + def exclude_from_registry; end + def inherited(subclass); end + def joining_forces; end + def lint?; end + def match?(given_names); end + def support_autocorrect?; end + def support_multiple_source?; end + end end class RuboCop::Cop::Base::InvestigationReport < ::Struct @@ -587,10 +635,12 @@ class RuboCop::Cop::Base::InvestigationReport < ::Struct def processed_source; end def processed_source=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RuboCop::Cop::Bundler @@ -613,7 +663,7 @@ RuboCop::Cop::Bundler::DuplicatedGem::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Bundler::GemComment < ::RuboCop::Cop::Cop include(::RuboCop::Cop::DefNode) - def gem_declaration?(node = _); end + def gem_declaration?(node = T.unsafe(nil)); end def on_send(node); end private @@ -639,7 +689,7 @@ class RuboCop::Cop::Bundler::InsecureProtocolSource < ::RuboCop::Cop::Base include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::AutoCorrector) - def insecure_protocol_source?(node = _); end + def insecure_protocol_source?(node = T.unsafe(nil)); end def on_send(node); end end @@ -676,7 +726,9 @@ module RuboCop::Cop::CheckAssignment def extract_rhs(node); end - def self.extract_rhs(node); end + class << self + def extract_rhs(node); end + end end module RuboCop::Cop::CheckLineBreakable @@ -713,7 +765,7 @@ end class RuboCop::Cop::Commissioner include(::RuboCop::AST::Traversal) - def initialize(cops, forces = _, options = _); end + def initialize(cops, forces = T.unsafe(nil), options = T.unsafe(nil)); end def errors; end def investigate(processed_source); end @@ -842,7 +894,7 @@ class RuboCop::Cop::Commissioner def invoke(callback, cops, *args); end def reset; end def trigger_responding_cops(callback, node); end - def with_cop_error_handling(cop, node = _); end + def with_cop_error_handling(cop, node = T.unsafe(nil)); end end class RuboCop::Cop::Commissioner::InvestigationReport < ::Struct @@ -858,14 +910,22 @@ class RuboCop::Cop::Commissioner::InvestigationReport < ::Struct def processed_source; end def processed_source=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RuboCop::Cop::ConditionCorrector - def self.correct_negative_condition(node); end + class << self + def correct_negative_condition(node); end + + private + + def negated_condition(node); end + end end module RuboCop::Cop::ConfigurableEnforcedStyle @@ -894,7 +954,7 @@ module RuboCop::Cop::ConfigurableFormatting def check_name(node, name, name_range); end def class_emitter_method?(node, name); end def report_opposing_styles(node, name); end - def valid_name?(node, name, given_style = _); end + def valid_name?(node, name, given_style = T.unsafe(nil)); end end module RuboCop::Cop::ConfigurableMax @@ -920,13 +980,13 @@ end RuboCop::Cop::ConfigurableNumbering::FORMATS = T.let(T.unsafe(nil), Hash) class RuboCop::Cop::Cop < ::RuboCop::Cop::Base - def add_offense(node_or_range, location: _, message: _, severity: _, &block); end + def add_offense(node_or_range, location: T.unsafe(nil), message: T.unsafe(nil), severity: T.unsafe(nil), &block); end def corrections; end def find_location(node, loc); end def offenses; end def on_investigation_end; end def on_new_investigation; end - def parse(source, path = _); end + def parse(source, path = T.unsafe(nil)); end def support_autocorrect?; end private @@ -939,11 +999,13 @@ class RuboCop::Cop::Cop < ::RuboCop::Cop::Base def emulate_v0_callsequence(corrector); end def suppress_clobbering; end - def self.all; end - def self.joining_forces; end - def self.qualified_cop_name(name, origin); end - def self.registry; end - def self.support_autocorrect?; end + class << self + def all; end + def joining_forces; end + def qualified_cop_name(name, origin); end + def registry; end + def support_autocorrect?; end + end end class RuboCop::Cop::Cop::Correction < ::Struct @@ -955,10 +1017,12 @@ class RuboCop::Cop::Cop::Correction < ::Struct def node; end def node=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter @@ -975,13 +1039,15 @@ class RuboCop::Cop::Corrector < ::Parser::Source::TreeRewriter def to_range(node_or_range); end def validate_buffer(buffer); end - def self.source_buffer(source); end + class << self + def source_buffer(source); end + end end module RuboCop::Cop::DefNode extend(::RuboCop::AST::NodePattern::Macros) - def non_public_modifier?(node = _); end + def non_public_modifier?(node = T.unsafe(nil)); end private @@ -1039,14 +1105,16 @@ RuboCop::Cop::EachToForCorrector::CORRECTION_WITHOUT_ARGUMENTS = T.let(T.unsafe( RuboCop::Cop::EachToForCorrector::CORRECTION_WITH_ARGUMENTS = T.let(T.unsafe(nil), String) class RuboCop::Cop::EmptyLineCorrector - def self.correct(node); end - def self.insert_before(node); end + class << self + def correct(node); end + def insert_before(node); end + end end module RuboCop::Cop::EmptyParameter extend(::RuboCop::AST::NodePattern::Macros) - def empty_arguments?(node = _); end + def empty_arguments?(node = T.unsafe(nil)); end private @@ -1076,14 +1144,16 @@ module RuboCop::Cop::EnforceSuperclass def on_class(node); end def on_send(node); end - def self.included(base); end + class << self + def included(base); end + end end module RuboCop::Cop::FirstElementLineBreak private - def check_children_line_break(node, children, start = _); end + def check_children_line_break(node, children, start = T.unsafe(nil)); end def check_method_line_break(node, children); end def first_by_line(nodes); end def last_by_line(nodes); end @@ -1122,9 +1192,11 @@ class RuboCop::Cop::Force def name; end def run_hook(method_name, *args); end - def self.all; end - def self.force_name; end - def self.inherited(subclass); end + class << self + def all; end + def force_name; end + def inherited(subclass); end + end end module RuboCop::Cop::FrozenStringLiteral @@ -1136,7 +1208,9 @@ module RuboCop::Cop::FrozenStringLiteral def frozen_string_literals_enabled?; end def leading_comment_lines; end - def self.frozen_string_literal_comment_exists?; end + class << self + def frozen_string_literal_comment_exists?; end + end end RuboCop::Cop::FrozenStringLiteral::FROZEN_STRING_LITERAL = T.let(T.unsafe(nil), String) @@ -1196,7 +1270,7 @@ RuboCop::Cop::Gemspec::RequiredRubyVersion::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage < ::RuboCop::Cop::Cop def gem_specification?(node0); end def on_const(node); end - def ruby_version?(node = _); end + def ruby_version?(node = T.unsafe(nil)); end private @@ -1206,10 +1280,10 @@ end RuboCop::Cop::Gemspec::RubyVersionGlobalsUsage::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Generator - def initialize(name, github_user, output: _); end + def initialize(name, github_user, output: T.unsafe(nil)); end - def inject_config(config_file_path: _, version_added: _); end - def inject_require(root_file_path: _); end + def inject_config(config_file_path: T.unsafe(nil), version_added: T.unsafe(nil)); end + def inject_require(root_file_path: T.unsafe(nil)); end def todo; end def write_source; end def write_spec; end @@ -1251,7 +1325,7 @@ end RuboCop::Cop::Generator::ConfigurationInjector::TEMPLATE = T.let(T.unsafe(nil), String) class RuboCop::Cop::Generator::RequireFileInjector - def initialize(source_path:, root_file_path:, output: _); end + def initialize(source_path:, root_file_path:, output: T.unsafe(nil)); end def inject; end @@ -1358,13 +1432,15 @@ class RuboCop::Cop::HashTransformMethod::Autocorrection < ::Struct def trailing; end def trailing=(_); end - def self.[](*_); end - def self.from_each_with_object(node, match); end - def self.from_hash_brackets_map(node, match); end - def self.from_map_to_h(node, match); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def from_each_with_object(node, match); end + def from_hash_brackets_map(node, match); end + def from_map_to_h(node, match); end + def inspect; end + def members; end + def new(*_); end + end end class RuboCop::Cop::HashTransformMethod::Captures < ::Struct @@ -1377,10 +1453,12 @@ class RuboCop::Cop::HashTransformMethod::Captures < ::Struct def unchanged_body_expr; end def unchanged_body_expr=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RuboCop::Cop::Heredoc @@ -1546,7 +1624,7 @@ class RuboCop::Cop::Layout::BlockAlignment < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def block_end_align_target?(node = _, param1); end + def block_end_align_target?(node = T.unsafe(nil), param1); end def on_block(node); end def style_parameter_name; end @@ -1765,7 +1843,7 @@ class RuboCop::Cop::Layout::ElseAlignment < ::RuboCop::Cop::Cop def autocorrect(node); end def on_case(node); end def on_case_match(node); end - def on_if(node, base = _); end + def on_if(node, base = T.unsafe(nil)); end def on_rescue(node); end private @@ -1859,7 +1937,9 @@ class RuboCop::Cop::Layout::EmptyLineBetweenDefs < ::RuboCop::Cop::Cop def multiple_blank_lines_groups?(first_def_node, second_def_node); end def prev_node(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::EmptyLineBetweenDefs::MSG = T.let(T.unsafe(nil), String) @@ -1885,7 +1965,7 @@ class RuboCop::Cop::Layout::EmptyLinesAroundAccessModifier < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) include(::RuboCop::Cop::RangeHelp) - def initialize(config = _, options = _); end + def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end def autocorrect(node); end def on_block(node); end @@ -1988,12 +2068,12 @@ module RuboCop::Cop::Layout::EmptyLinesAroundBody include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::AST::NodePattern::Macros) - def constant_definition?(node = _); end - def empty_line_required?(node = _); end + def constant_definition?(node = T.unsafe(nil)); end + def empty_line_required?(node = T.unsafe(nil)); end private - def check(node, body, adjusted_first_line: _); end + def check(node, body, adjusted_first_line: T.unsafe(nil)); end def check_beginning(style, first_line); end def check_both(style, first_line, last_line); end def check_deferred_empty_line(body); end @@ -2006,7 +2086,7 @@ module RuboCop::Cop::Layout::EmptyLinesAroundBody def first_child_requires_empty_line?(body); end def first_empty_line_required_child(body); end def message(type, desc); end - def namespace?(body, with_one_child: _); end + def namespace?(body, with_one_child: T.unsafe(nil)); end def previous_line_ignoring_comments(send_line); end def valid_body_style?(body); end end @@ -2147,7 +2227,9 @@ class RuboCop::Cop::Layout::ExtraSpacing < ::RuboCop::Cop::Cop def ignored_range?(ast, start_pos); end def ignored_ranges(ast); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::ExtraSpacing::MSG_UNALIGNED_ASGN = T.let(T.unsafe(nil), String) @@ -2160,7 +2242,7 @@ class RuboCop::Cop::Layout::FirstArgumentIndentation < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def eligible_method_call?(node = _); end + def eligible_method_call?(node = T.unsafe(nil)); end def on_csend(node); end def on_send(node); end @@ -2350,7 +2432,9 @@ class RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis < ::RuboCop::Cop:: def single_line_send_with_heredoc_receiver?(node); end def space?(pos); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::HeredocArgumentClosingParenthesis::MSG = T.let(T.unsafe(nil), String) @@ -2433,7 +2517,7 @@ class RuboCop::Cop::Layout::IndentationWidth < ::RuboCop::Cop::Cop include(::RuboCop::Cop::CheckAssignment) include(::RuboCop::Cop::IgnoredPattern) - def access_modifier?(node = _); end + def access_modifier?(node = T.unsafe(nil)); end def autocorrect(node); end def on_block(node); end def on_case(case_node); end @@ -2443,22 +2527,22 @@ class RuboCop::Cop::Layout::IndentationWidth < ::RuboCop::Cop::Cop def on_defs(node); end def on_ensure(node); end def on_for(node); end - def on_if(node, base = _); end + def on_if(node, base = T.unsafe(nil)); end def on_kwbegin(node); end def on_module(node); end def on_resbody(node); end def on_rescue(node); end def on_sclass(node); end def on_send(node); end - def on_until(node, base = _); end - def on_while(node, base = _); end + def on_until(node, base = T.unsafe(nil)); end + def on_while(node, base = T.unsafe(nil)); end private def access_modifier_indentation_style; end def check_assignment(node, rhs); end def check_if(node, body, else_clause, base_loc); end - def check_indentation(base_loc, body_node, style = _); end + def check_indentation(base_loc, body_node, style = T.unsafe(nil)); end def check_members(base, members); end def check_members_for_indented_internal_methods_style(members); end def check_members_for_normal_style(base, members); end @@ -2877,7 +2961,7 @@ class RuboCop::Cop::Layout::SpaceAroundBlockParameters < ::RuboCop::Cop::Base def check_no_space(space_begin_pos, space_end_pos, msg); end def check_no_space_style_inside_pipes(args, opening_pipe, closing_pipe); end def check_opening_pipe_space(args, opening_pipe); end - def check_space(space_begin_pos, space_end_pos, range, msg, node = _); end + def check_space(space_begin_pos, space_end_pos, range, msg, node = T.unsafe(nil)); end def check_space_style_inside_pipes(args, opening_pipe, closing_pipe); end def last_end_pos_inside_pipes(range); end def pipes(arguments); end @@ -2936,7 +3020,7 @@ class RuboCop::Cop::Layout::SpaceAroundKeyword < ::RuboCop::Cop::Cop def accept_left_square_bracket?(range); end def accept_namespace_operator?(range); end def accepted_opening_delimiter?(range, char); end - def check(node, locations, begin_keyword = _); end + def check(node, locations, begin_keyword = T.unsafe(nil)); end def check_begin(node, range, begin_keyword); end def check_end(node, range, begin_keyword); end def check_keyword(node, range); end @@ -3027,7 +3111,9 @@ class RuboCop::Cop::Layout::SpaceAroundOperators < ::RuboCop::Cop::Cop def should_not_have_surrounding_space?(operator); end def space_around_exponent_operator?; end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::SpaceAroundOperators::EXCESSIVE_SPACE = T.let(T.unsafe(nil), String) @@ -3052,7 +3138,9 @@ class RuboCop::Cop::Layout::SpaceBeforeBlockBraces < ::RuboCop::Cop::Cop def space_missing(left_brace); end def style_for_empty_braces; end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Layout::SpaceBeforeBlockBraces::DETECTED_MSG = T.let(T.unsafe(nil), String) @@ -3131,7 +3219,7 @@ class RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets < ::RuboCop::Cop::Co def array_brackets(node); end def compact(corrector, bracket, side); end def compact_corrections(corrector, node, left, right); end - def compact_offense(node, token, side: _); end + def compact_offense(node, token, side: T.unsafe(nil)); end def compact_offenses(node, left, right, start_ok, end_ok); end def empty_config; end def end_has_own_line?(token); end @@ -3139,11 +3227,11 @@ class RuboCop::Cop::Layout::SpaceInsideArrayLiteralBrackets < ::RuboCop::Cop::Co def issue_offenses(node, left, right, start_ok, end_ok); end def left_array_bracket(node); end def line_and_column_for(token); end - def multi_dimensional_array?(node, token, side: _); end - def next_to_bracket?(token, side: _); end + def multi_dimensional_array?(node, token, side: T.unsafe(nil)); end + def next_to_bracket?(token, side: T.unsafe(nil)); end def next_to_comment?(node, token); end def next_to_newline?(node, token); end - def qualifies_for_compact?(node, token, side: _); end + def qualifies_for_compact?(node, token, side: T.unsafe(nil)); end def right_array_bracket(node); end end @@ -3371,10 +3459,17 @@ class RuboCop::Cop::LineBreakCorrector extend(::RuboCop::PathUtil) extend(::RuboCop::Cop::Util) - def self.break_line_before(range:, node:, corrector:, configured_width:, indent_steps: _); end - def self.correct_trailing_body(configured_width:, corrector:, node:, processed_source:); end - def self.move_comment(eol_comment:, node:, corrector:); end - def self.processed_source; end + class << self + def break_line_before(range:, node:, corrector:, configured_width:, indent_steps: T.unsafe(nil)); end + def correct_trailing_body(configured_width:, corrector:, node:, processed_source:); end + def move_comment(eol_comment:, node:, corrector:); end + def processed_source; end + + private + + def remove_semicolon(node, corrector); end + def semicolon(node); end + end end module RuboCop::Cop::LineLengthHelp @@ -3468,7 +3563,7 @@ RuboCop::Cop::Lint::AssignmentInCondition::MSG_WITH_SAFE_ASSIGNMENT_ALLOWED = T. class RuboCop::Cop::Lint::BigDecimalNew < ::RuboCop::Cop::Cop def autocorrect(node); end - def big_decimal_new(node = _); end + def big_decimal_new(node = T.unsafe(nil)); end def on_send(node); end end @@ -3476,7 +3571,7 @@ RuboCop::Cop::Lint::BigDecimalNew::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::BooleanSymbol < ::RuboCop::Cop::Cop def autocorrect(node); end - def boolean_symbol?(node = _); end + def boolean_symbol?(node = T.unsafe(nil)); end def on_sym(node); end end @@ -3495,7 +3590,7 @@ RuboCop::Cop::Lint::CircularArgumentReference::MSG = T.let(T.unsafe(nil), String class RuboCop::Cop::Lint::ConstantResolution < ::RuboCop::Cop::Cop def on_const(node); end - def unqualified_const?(node = _); end + def unqualified_const?(node = T.unsafe(nil)); end private @@ -3507,9 +3602,9 @@ end RuboCop::Cop::Lint::ConstantResolution::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::Debugger < ::RuboCop::Cop::Cop - def binding_irb_call?(node = _); end - def debugger_call?(node = _); end - def kernel?(node = _); end + def binding_irb_call?(node = T.unsafe(nil)); end + def debugger_call?(node = T.unsafe(nil)); end + def kernel?(node = T.unsafe(nil)); end def on_send(node); end private @@ -3537,7 +3632,7 @@ RuboCop::Cop::Lint::DeprecatedClassMethods::DEPRECATED_METHODS_OBJECT = T.let(T. class RuboCop::Cop::Lint::DeprecatedClassMethods::DeprecatedClassMethod include(::RuboCop::AST::Sexp) - def initialize(deprecated:, replacement:, class_constant: _); end + def initialize(deprecated:, replacement:, class_constant: T.unsafe(nil)); end def class_constant; end def class_nodes; end @@ -3550,7 +3645,7 @@ RuboCop::Cop::Lint::DeprecatedClassMethods::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::DeprecatedOpenSSLConstant < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) - def algorithm_const(node = _); end + def algorithm_const(node = T.unsafe(nil)); end def autocorrect(node); end def on_send(node); end @@ -3607,21 +3702,21 @@ end RuboCop::Cop::Lint::DuplicateHashKey::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::DuplicateMethods < ::RuboCop::Cop::Cop - def initialize(config = _, options = _); end + def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end - def alias_method?(node = _); end - def method_alias?(node = _); end + def alias_method?(node = T.unsafe(nil)); end + def method_alias?(node = T.unsafe(nil)); end def on_alias(node); end def on_def(node); end def on_defs(node); end def on_send(node); end - def sym_name(node = _); end + def sym_name(node = T.unsafe(nil)); end private def check_const_receiver(node, name, const_name); end def check_self_receiver(node, name); end - def found_attr(node, args, readable: _, writable: _); end + def found_attr(node, args, readable: T.unsafe(nil), writable: T.unsafe(nil)); end def found_instance_method(node, name); end def found_method(node, method_name); end def lookup_constant(node, const_name); end @@ -3635,7 +3730,7 @@ end RuboCop::Cop::Lint::DuplicateMethods::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::EachWithObjectArgument < ::RuboCop::Cop::Cop - def each_with_object?(node = _); end + def each_with_object?(node = T.unsafe(nil)); end def on_csend(node); end def on_send(node); end end @@ -3699,7 +3794,7 @@ class RuboCop::Cop::Lint::ErbNewArguments < ::RuboCop::Cop::Cop extend(::RuboCop::Cop::TargetRubyVersion) def autocorrect(node); end - def erb_new_with_non_keyword_arguments(node = _); end + def erb_new_with_non_keyword_arguments(node = T.unsafe(nil)); end def on_send(node); end private @@ -3726,7 +3821,7 @@ end RuboCop::Cop::Lint::FloatOutOfRange::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::FormatParameterMismatch < ::RuboCop::Cop::Cop - def called_on_string?(node = _); end + def called_on_string?(node = T.unsafe(nil)); end def on_send(node); end private @@ -3817,7 +3912,7 @@ class RuboCop::Cop::Lint::IneffectiveAccessModifier < ::RuboCop::Cop::Cop def check_node(node); end def correct_visibility?(node, modifier, ignored_methods); end def format_message(modifier); end - def ineffective_modifier(node, ignored_methods, modifier = _, &block); end + def ineffective_modifier(node, ignored_methods, modifier = T.unsafe(nil), &block); end def private_class_method_names(node); end end @@ -3831,7 +3926,7 @@ class RuboCop::Cop::Lint::InheritException < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def class_new_call?(node = _); end + def class_new_call?(node = T.unsafe(nil)); end def on_class(node); end def on_send(node); end @@ -3943,16 +4038,16 @@ RuboCop::Cop::Lint::MixedRegexpCaptureTypes::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::MultipleComparison < ::RuboCop::Cop::Cop def autocorrect(node); end - def multiple_compare?(node = _); end + def multiple_compare?(node = T.unsafe(nil)); end def on_send(node); end end RuboCop::Cop::Lint::MultipleComparison::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::NestedMethodDefinition < ::RuboCop::Cop::Cop - def class_or_module_or_struct_new_call?(node = _); end - def eval_call?(node = _); end - def exec_call?(node = _); end + def class_or_module_or_struct_new_call?(node = T.unsafe(nil)); end + def eval_call?(node = T.unsafe(nil)); end + def exec_call?(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end @@ -3983,7 +4078,7 @@ RuboCop::Cop::Lint::NestedPercentLiteral::REGEXES = T.let(T.unsafe(nil), Array) class RuboCop::Cop::Lint::NextWithoutAccumulator < ::RuboCop::Cop::Cop def on_block(node); end - def on_body_of_reduce(node = _); end + def on_body_of_reduce(node = T.unsafe(nil)); end private @@ -3994,14 +4089,14 @@ RuboCop::Cop::Lint::NextWithoutAccumulator::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::NonDeterministicRequireOrder < ::RuboCop::Cop::Cop def autocorrect(node); end - def loop_variable(node = _); end - def method_require?(node = _); end + def loop_variable(node = T.unsafe(nil)); end + def method_require?(node = T.unsafe(nil)); end def on_block(node); end def on_block_pass(node); end - def unsorted_dir_block?(node = _); end - def unsorted_dir_each?(node = _); end - def unsorted_dir_each_pass?(node = _); end - def unsorted_dir_glob_pass?(node = _); end + def unsorted_dir_block?(node = T.unsafe(nil)); end + def unsorted_dir_each?(node = T.unsafe(nil)); end + def unsorted_dir_each_pass?(node = T.unsafe(nil)); end + def unsorted_dir_glob_pass?(node = T.unsafe(nil)); end def var_is_required?(node0, param1); end private @@ -4015,8 +4110,8 @@ end RuboCop::Cop::Lint::NonDeterministicRequireOrder::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::NonLocalExitFromIterator < ::RuboCop::Cop::Cop - def chained_send?(node = _); end - def define_method?(node = _); end + def chained_send?(node = T.unsafe(nil)); end + def define_method?(node = T.unsafe(nil)); end def on_return(return_node); end private @@ -4029,9 +4124,9 @@ RuboCop::Cop::Lint::NonLocalExitFromIterator::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::NumberConversion < ::RuboCop::Cop::Cop def autocorrect(node); end - def datetime?(node = _); end + def datetime?(node = T.unsafe(nil)); end def on_send(node); end - def to_method(node = _); end + def to_method(node = T.unsafe(nil)); end private @@ -4115,8 +4210,8 @@ RuboCop::Cop::Lint::PercentSymbolArray::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::RaiseException < ::RuboCop::Cop::Cop def autocorrect(node); end - def exception?(node = _); end - def exception_new_with_message?(node = _); end + def exception?(node = T.unsafe(nil)); end + def exception_new_with_message?(node = T.unsafe(nil)); end def on_send(node); end private @@ -4130,7 +4225,7 @@ RuboCop::Cop::Lint::RaiseException::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::RandOne < ::RuboCop::Cop::Cop def on_send(node); end - def rand_one?(node = _); end + def rand_one?(node = T.unsafe(nil)); end private @@ -4143,7 +4238,7 @@ class RuboCop::Cop::Lint::RedundantCopDisableDirective < ::RuboCop::Cop::Base include(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::AutoCorrector) - def initialize(config = _, options = _, offenses = _); end + def initialize(config = T.unsafe(nil), options = T.unsafe(nil), offenses = T.unsafe(nil)); end def offenses_to_check; end def offenses_to_check=(_); end @@ -4197,15 +4292,15 @@ class RuboCop::Cop::Lint::RedundantRequireStatement < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def unnecessary_require_statement?(node = _); end + def unnecessary_require_statement?(node = T.unsafe(nil)); end end RuboCop::Cop::Lint::RedundantRequireStatement::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::RedundantSplatExpansion < ::RuboCop::Cop::Cop - def array_new?(node = _); end + def array_new?(node = T.unsafe(nil)); end def autocorrect(node); end - def literal_expansion(node = _); end + def literal_expansion(node = T.unsafe(nil)); end def on_splat(node); end private @@ -4239,7 +4334,7 @@ class RuboCop::Cop::Lint::RedundantStringCoercion < ::RuboCop::Cop::Cop def autocorrect(node); end def on_interpolation(begin_node); end - def to_s_without_args?(node = _); end + def to_s_without_args?(node = T.unsafe(nil)); end private @@ -4255,7 +4350,7 @@ class RuboCop::Cop::Lint::RedundantWithIndex < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end - def redundant_with_index?(node = _); end + def redundant_with_index?(node = T.unsafe(nil)); end private @@ -4272,7 +4367,7 @@ class RuboCop::Cop::Lint::RedundantWithObject < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end - def redundant_with_object?(node = _); end + def redundant_with_object?(node = T.unsafe(nil)); end private @@ -4346,7 +4441,7 @@ class RuboCop::Cop::Lint::SafeNavigationChain < ::RuboCop::Cop::Cop include(::RuboCop::Cop::AllowedMethods) include(::RuboCop::Cop::NilMethods) - def bad_method?(node = _); end + def bad_method?(node = T.unsafe(nil)); end def on_send(node); end private @@ -4375,7 +4470,7 @@ RuboCop::Cop::Lint::SafeNavigationConsistency::MSG = T.let(T.unsafe(nil), String class RuboCop::Cop::Lint::SafeNavigationWithEmpty < ::RuboCop::Cop::Cop def autocorrect(node); end def on_if(node); end - def safe_navigation_empty_in_conditional?(node = _); end + def safe_navigation_empty_in_conditional?(node = T.unsafe(nil)); end end RuboCop::Cop::Lint::SafeNavigationWithEmpty::MSG = T.let(T.unsafe(nil), String) @@ -4399,7 +4494,7 @@ class RuboCop::Cop::Lint::SendWithMixinArgument < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def send_with_mixin_argument?(node = _); end + def send_with_mixin_argument?(node = T.unsafe(nil)); end private @@ -4461,7 +4556,7 @@ RuboCop::Cop::Lint::ShadowingOuterLocalVariable::MSG = T.let(T.unsafe(nil), Stri class RuboCop::Cop::Lint::StructNewOverride < ::RuboCop::Cop::Cop def on_send(node); end - def struct_new(node = _); end + def struct_new(node = T.unsafe(nil)); end end RuboCop::Cop::Lint::StructNewOverride::MSG = T.let(T.unsafe(nil), String) @@ -4511,14 +4606,14 @@ RuboCop::Cop::Lint::UnderscorePrefixedVariableName::MSG = T.let(T.unsafe(nil), S class RuboCop::Cop::Lint::UnifiedInteger < ::RuboCop::Cop::Cop def autocorrect(node); end - def fixnum_or_bignum_const(node = _); end + def fixnum_or_bignum_const(node = T.unsafe(nil)); end def on_const(node); end end RuboCop::Cop::Lint::UnifiedInteger::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::UnreachableCode < ::RuboCop::Cop::Cop - def flow_command?(node = _); end + def flow_command?(node = T.unsafe(nil)); end def on_begin(node); end def on_kwbegin(node); end @@ -4568,7 +4663,7 @@ class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Lint::UnusedArgument) def autocorrect(node); end - def not_implemented?(node = _); end + def not_implemented?(node = T.unsafe(nil)); end private @@ -4579,7 +4674,7 @@ end class RuboCop::Cop::Lint::UriEscapeUnescape < ::RuboCop::Cop::Cop def on_send(node); end - def uri_escape_unescape?(node = _); end + def uri_escape_unescape?(node = T.unsafe(nil)); end end RuboCop::Cop::Lint::UriEscapeUnescape::ALTERNATE_METHODS_OF_URI_ESCAPE = T.let(T.unsafe(nil), Array) @@ -4591,12 +4686,12 @@ RuboCop::Cop::Lint::UriEscapeUnescape::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::UriRegexp < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def uri_regexp_with_argument?(node = _); end - def uri_regexp_without_argument?(node = _); end + def uri_regexp_with_argument?(node = T.unsafe(nil)); end + def uri_regexp_without_argument?(node = T.unsafe(nil)); end private - def register_offense(node, top_level: _, arg: _); end + def register_offense(node, top_level: T.unsafe(nil), arg: T.unsafe(nil)); end end RuboCop::Cop::Lint::UriRegexp::MSG = T.let(T.unsafe(nil), String) @@ -4605,14 +4700,14 @@ class RuboCop::Cop::Lint::UselessAccessModifier < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def class_or_instance_eval?(node = _); end - def class_or_module_or_struct_new_call?(node = _); end - def dynamic_method_definition?(node = _); end + def class_or_instance_eval?(node = T.unsafe(nil)); end + def class_or_module_or_struct_new_call?(node = T.unsafe(nil)); end + def dynamic_method_definition?(node = T.unsafe(nil)); end def on_block(node); end def on_class(node); end def on_module(node); end def on_sclass(node); end - def static_method_definition?(node = _); end + def static_method_definition?(node = T.unsafe(nil)); end private @@ -4649,7 +4744,7 @@ RuboCop::Cop::Lint::UselessAssignment::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::UselessComparison < ::RuboCop::Cop::Cop def on_send(node); end - def useless_comparison?(node = _); end + def useless_comparison?(node = T.unsafe(nil)); end end RuboCop::Cop::Lint::UselessComparison::MSG = T.let(T.unsafe(nil), String) @@ -4672,7 +4767,7 @@ RuboCop::Cop::Lint::UselessElseWithoutRescue::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Lint::UselessSetterCall < ::RuboCop::Cop::Cop def on_def(node); end def on_defs(node); end - def setter_call_to_local_variable?(node = _); end + def setter_call_to_local_variable?(node = T.unsafe(nil)); end private @@ -4767,7 +4862,9 @@ class RuboCop::Cop::MessageAnnotator def style_guide_base_url; end def style_guide_url; end - def self.style_guide_urls; end + class << self + def style_guide_urls; end + end end module RuboCop::Cop::MethodComplexity @@ -4775,7 +4872,7 @@ module RuboCop::Cop::MethodComplexity include(::RuboCop::Cop::IgnoredMethods) extend(::RuboCop::AST::NodePattern::Macros) - def define_method?(node = _); end + def define_method?(node = T.unsafe(nil)); end def on_block(node); end def on_def(node); end def on_defs(node); end @@ -4847,7 +4944,7 @@ class RuboCop::Cop::Metrics::ClassLength < ::RuboCop::Cop::Cop include(::RuboCop::Cop::CodeLength) include(::RuboCop::Cop::TooManyLines) - def class_definition?(node = _); end + def class_definition?(node = T.unsafe(nil)); end def on_casgn(node); end def on_class(node); end @@ -4895,7 +4992,7 @@ class RuboCop::Cop::Metrics::ModuleLength < ::RuboCop::Cop::Cop include(::RuboCop::Cop::CodeLength) include(::RuboCop::Cop::TooManyLines) - def module_definition?(node = _); end + def module_definition?(node = T.unsafe(nil)); end def on_casgn(node); end def on_module(node); end @@ -4907,7 +5004,7 @@ end class RuboCop::Cop::Metrics::ParameterLists < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableMax) - def argument_to_lambda_or_proc?(node = _); end + def argument_to_lambda_or_proc?(node = T.unsafe(nil)); end def on_args(node); end private @@ -4951,7 +5048,9 @@ class RuboCop::Cop::Metrics::Utils::AbcSizeCalculator def branch?(node); end def condition?(node); end - def self.calculate(node); end + class << self + def calculate(node); end + end end RuboCop::Cop::Metrics::Utils::AbcSizeCalculator::BRANCH_NODES = T.let(T.unsafe(nil), Array) @@ -4963,11 +5062,11 @@ class RuboCop::Cop::Metrics::Utils::CodeLengthCalculator include(::RuboCop::Cop::Util) extend(::RuboCop::AST::NodePattern::Macros) - def initialize(node, count_comments: _, foldable_types: _); end + def initialize(node, count_comments: T.unsafe(nil), foldable_types: T.unsafe(nil)); end def calculate; end - def class_definition?(node = _); end - def module_definition?(node = _); end + def class_definition?(node = T.unsafe(nil)); end + def module_definition?(node = T.unsafe(nil)); end private @@ -5128,7 +5227,7 @@ module RuboCop::Cop::MultilineLiteralBraceLayout def empty_literal?(node); end def ignored_literal?(node); end def implicit_literal?(node); end - def last_line_heredoc?(node, parent = _); end + def last_line_heredoc?(node, parent = T.unsafe(nil)); end def new_line_needed_before_closing_brace?(node); end def opening_brace_on_same_line?(node); end end @@ -5169,7 +5268,7 @@ RuboCop::Cop::Naming::AsciiIdentifiers::IDENTIFIER_MSG = T.let(T.unsafe(nil), St class RuboCop::Cop::Naming::BinaryOperatorParameterName < ::RuboCop::Cop::Cop def on_def(node); end - def op_method_candidate?(node = _); end + def op_method_candidate?(node = T.unsafe(nil)); end private @@ -5196,8 +5295,8 @@ end RuboCop::Cop::Naming::ClassAndModuleCamelCase::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Naming::ConstantName < ::RuboCop::Cop::Cop - def class_or_struct_return_method?(node = _); end - def literal_receiver?(node = _); end + def class_or_struct_return_method?(node = T.unsafe(nil)); end + def literal_receiver?(node = T.unsafe(nil)); end def on_casgn(node); end private @@ -5280,7 +5379,7 @@ RuboCop::Cop::Naming::HeredocDelimiterNaming::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Naming::MemoizedInstanceVariableName < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def memoized?(node = _); end + def memoized?(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end @@ -5291,6 +5390,13 @@ class RuboCop::Cop::Naming::MemoizedInstanceVariableName < ::RuboCop::Cop::Cop def style_parameter_name; end def suggested_var(method_name); end def variable_name_candidates(method_name); end + + class << self + + private + + def node_pattern; end + end end RuboCop::Cop::Naming::MemoizedInstanceVariableName::MSG = T.let(T.unsafe(nil), String) @@ -5307,8 +5413,8 @@ class RuboCop::Cop::Naming::MethodName < ::RuboCop::Cop::Base def on_def(node); end def on_defs(node); end def on_send(node); end - def str_name(node = _); end - def sym_name(node = _); end + def str_name(node = T.unsafe(nil)); end + def sym_name(node = T.unsafe(nil)); end private @@ -5329,7 +5435,7 @@ end class RuboCop::Cop::Naming::PredicateName < ::RuboCop::Cop::Cop include(::RuboCop::Cop::AllowedMethods) - def dynamic_method_define(node = _); end + def dynamic_method_define(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end def on_send(node); end @@ -5402,8 +5508,8 @@ RuboCop::Cop::Naming::VariableNumber::MSG = T.let(T.unsafe(nil), String) module RuboCop::Cop::NegativeConditional extend(::RuboCop::AST::NodePattern::Macros) - def empty_condition?(node = _); end - def single_negative?(node = _); end + def empty_condition?(node = T.unsafe(nil)); end + def single_negative?(node = T.unsafe(nil)); end private @@ -5425,7 +5531,7 @@ end class RuboCop::Cop::Offense include(::Comparable) - def initialize(severity, location, message, cop_name, status = _, corrector = _); end + def initialize(severity, location, message, cop_name, status = T.unsafe(nil), corrector = T.unsafe(nil)); end def <=>(other); end def ==(other); end @@ -5470,10 +5576,12 @@ class RuboCop::Cop::Offense::PseudoSourceRange < ::Struct def source_line; end def source_line=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RuboCop::Cop::OnNormalIfUnless @@ -5483,9 +5591,16 @@ end class RuboCop::Cop::OrderedGemCorrector extend(::RuboCop::Cop::OrderedGemNode) - def self.comments_as_separators; end - def self.correct(processed_source, node, previous_declaration, comments_as_separators); end - def self.processed_source; end + class << self + def comments_as_separators; end + def correct(processed_source, node, previous_declaration, comments_as_separators); end + def processed_source; end + + private + + def declaration_with_comment(node); end + def swap_range(corrector, range1, range2); end + end end module RuboCop::Cop::OrderedGemNode @@ -5510,7 +5625,14 @@ module RuboCop::Cop::Parentheses end class RuboCop::Cop::ParenthesesCorrector - def self.correct(node); end + class << self + def correct(node); end + + private + + def next_char_is_question_mark?(node); end + def ternary_condition?(node); end + end end module RuboCop::Cop::ParserDiagnostic @@ -5580,10 +5702,10 @@ module RuboCop::Cop::PrecedingFollowingAlignment def aligned_operator?(range, line); end def aligned_token?(range, line); end def aligned_with_adjacent_line?(range, predicate); end - def aligned_with_any_line?(line_ranges, range, indent = _, &predicate); end + def aligned_with_any_line?(line_ranges, range, indent = T.unsafe(nil), &predicate); end def aligned_with_any_line_range?(line_ranges, range, &predicate); end def aligned_with_assignment(token, line_range); end - def aligned_with_line?(line_nos, range, indent = _); end + def aligned_with_line?(line_nos, range, indent = T.unsafe(nil)); end def aligned_with_operator?(range); end def aligned_with_preceding_assignment(token); end def aligned_with_something?(range); end @@ -5613,9 +5735,11 @@ end RuboCop::Cop::PreferredDelimiters::PERCENT_LITERAL_TYPES = T.let(T.unsafe(nil), Array) class RuboCop::Cop::PunctuationCorrector - def self.add_space(token); end - def self.remove_space(space_before); end - def self.swap_comma(range); end + class << self + def add_space(token); end + def remove_space(space_before); end + def swap_comma(range); end + end end module RuboCop::Cop::RangeHelp @@ -5628,10 +5752,10 @@ module RuboCop::Cop::RangeHelp def final_pos(src, pos, increment, newlines, whitespace); end def move_pos(src, pos, step, condition, regexp); end def range_between(start_pos, end_pos); end - def range_by_whole_lines(range, include_final_newline: _); end - def range_with_surrounding_comma(range, side = _); end - def range_with_surrounding_space(range:, side: _, newlines: _, whitespace: _); end - def source_range(source_buffer, line_number, column, length = _); end + def range_by_whole_lines(range, include_final_newline: T.unsafe(nil)); end + def range_with_surrounding_comma(range, side = T.unsafe(nil)); end + def range_with_surrounding_space(range:, side: T.unsafe(nil), newlines: T.unsafe(nil), whitespace: T.unsafe(nil)); end + def source_range(source_buffer, line_number, column, length = T.unsafe(nil)); end end RuboCop::Cop::RangeHelp::BYTE_ORDER_MARK = T.let(T.unsafe(nil), Integer) @@ -5639,7 +5763,7 @@ RuboCop::Cop::RangeHelp::BYTE_ORDER_MARK = T.let(T.unsafe(nil), Integer) module RuboCop::Cop::RationalLiteral extend(::RuboCop::AST::NodePattern::Macros) - def rational_literal?(node = _); end + def rational_literal?(node = T.unsafe(nil)); end end module RuboCop::Cop::RegexpLiteralHelp @@ -5655,7 +5779,7 @@ end class RuboCop::Cop::Registry include(::Enumerable) - def initialize(cops = _, options = _); end + def initialize(cops = T.unsafe(nil), options = T.unsafe(nil)); end def ==(other); end def contains_cop_matching?(names); end @@ -5664,7 +5788,7 @@ class RuboCop::Cop::Registry def departments; end def dismiss(cop); end def each(&block); end - def enabled(config, only = _, only_safe = _); end + def enabled(config, only = T.unsafe(nil), only_safe = T.unsafe(nil)); end def enabled?(cop, config, only_safe); end def enabled_pending_cop?(cop_cfg, config); end def enlist(cop); end @@ -5673,7 +5797,7 @@ class RuboCop::Cop::Registry def names; end def options; end def print_warning(name, path); end - def qualified_cop_name(name, path, shall_warn = _); end + def qualified_cop_name(name, path, shall_warn = T.unsafe(nil)); end def select(&block); end def sort!; end def to_h; end @@ -5690,10 +5814,12 @@ class RuboCop::Cop::Registry def resolve_badge(given_badge, real_badge, source_path); end def with(cops); end - def self.all; end - def self.global; end - def self.qualified_cop_name(name, origin); end - def self.with_temporary_global(temp_global = _); end + class << self + def all; end + def global; end + def qualified_cop_name(name, origin); end + def with_temporary_global(temp_global = T.unsafe(nil)); end + end end module RuboCop::Cop::RescueNode @@ -5707,9 +5833,9 @@ end module RuboCop::Cop::SafeAssignment extend(::RuboCop::AST::NodePattern::Macros) - def empty_condition?(node = _); end - def safe_assignment?(node = _); end - def setter_method?(node = _); end + def empty_condition?(node = T.unsafe(nil)); end + def safe_assignment?(node = T.unsafe(nil)); end + def setter_method?(node = T.unsafe(nil)); end private @@ -5720,7 +5846,7 @@ module RuboCop::Cop::Security end class RuboCop::Cop::Security::Eval < ::RuboCop::Cop::Cop - def eval?(node = _); end + def eval?(node = T.unsafe(nil)); end def on_send(node); end end @@ -5728,14 +5854,14 @@ RuboCop::Cop::Security::Eval::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Security::JSONLoad < ::RuboCop::Cop::Cop def autocorrect(node); end - def json_load(node = _); end + def json_load(node = T.unsafe(nil)); end def on_send(node); end end RuboCop::Cop::Security::JSONLoad::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Security::MarshalLoad < ::RuboCop::Cop::Cop - def marshal_load(node = _); end + def marshal_load(node = T.unsafe(nil)); end def on_send(node); end end @@ -5743,7 +5869,7 @@ RuboCop::Cop::Security::MarshalLoad::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Security::Open < ::RuboCop::Cop::Cop def on_send(node); end - def open?(node = _); end + def open?(node = T.unsafe(nil)); end private @@ -5760,7 +5886,7 @@ RuboCop::Cop::Security::Open::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Security::YAMLLoad < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def yaml_load(node = _); end + def yaml_load(node = T.unsafe(nil)); end end RuboCop::Cop::Security::YAMLLoad::MSG = T.let(T.unsafe(nil), String) @@ -5778,7 +5904,9 @@ class RuboCop::Cop::Severity def name; end def to_s; end - def self.name_from_code(code); end + class << self + def name_from_code(code); end + end end RuboCop::Cop::Severity::CODE_TABLE = T.let(T.unsafe(nil), Hash) @@ -5819,10 +5947,12 @@ class RuboCop::Cop::SpaceCorrector extend(::RuboCop::Cop::RangeHelp) extend(::RuboCop::Cop::SurroundingSpace) - def self.add_space(processed_source, corrector, left_token, right_token); end - def self.empty_corrections(processed_source, corrector, empty_config, left_token, right_token); end - def self.processed_source; end - def self.remove_space(processed_source, corrector, left_token, right_token); end + class << self + def add_space(processed_source, corrector, left_token, right_token); end + def empty_corrections(processed_source, corrector, empty_config, left_token, right_token); end + def processed_source; end + def remove_space(processed_source, corrector, left_token, right_token); end + end end module RuboCop::Cop::StatementModifier @@ -5853,7 +5983,9 @@ class RuboCop::Cop::StringLiteralCorrector extend(::RuboCop::PathUtil) extend(::RuboCop::Cop::Util) - def self.correct(node, style); end + class << self + def correct(node, style); end + end end module RuboCop::Cop::StringLiteralsHelp @@ -5871,7 +6003,7 @@ end class RuboCop::Cop::Style::AccessModifierDeclarations < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def access_modifier_with_symbol?(node = _); end + def access_modifier_with_symbol?(node = T.unsafe(nil)); end def on_send(node); end private @@ -5922,7 +6054,7 @@ class RuboCop::Cop::Style::Alias < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def identifier(node = _); end + def identifier(node = T.unsafe(nil)); end def on_alias(node); end def on_send(node); end @@ -5987,10 +6119,10 @@ end class RuboCop::Cop::Style::ArrayCoercion < ::RuboCop::Cop::Base extend(::RuboCop::Cop::AutoCorrector) - def array_splat?(node = _); end + def array_splat?(node = T.unsafe(nil)); end def on_array(node); end def on_if(node); end - def unless_array?(node = _); end + def unless_array?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::ArrayCoercion::CHECK_MSG = T.let(T.unsafe(nil), String) @@ -5999,7 +6131,7 @@ RuboCop::Cop::Style::ArrayCoercion::SPLAT_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::ArrayJoin < ::RuboCop::Cop::Cop def autocorrect(node); end - def join_candidate?(node = _); end + def join_candidate?(node = T.unsafe(nil)); end def on_send(node); end end @@ -6024,7 +6156,7 @@ class RuboCop::Cop::Style::Attr < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def class_eval?(node = _); end + def class_eval?(node = T.unsafe(nil)); end def on_send(node); end private @@ -6148,7 +6280,7 @@ class RuboCop::Cop::Style::BlockDelimiters < ::RuboCop::Cop::Cop def semantic_message(node); end def special_method?(method_name); end def special_method_proper_block_style?(node); end - def whitespace_after?(range, length = _); end + def whitespace_after?(range, length = T.unsafe(nil)); end def whitespace_before?(range); end end @@ -6160,12 +6292,20 @@ class RuboCop::Cop::Style::CaseCorrector extend(::RuboCop::Cop::Style::ConditionalAssignmentHelper) extend(::RuboCop::Cop::Style::ConditionalCorrectorHelper) - def self.correct(cop, node); end - def self.move_assignment_inside_condition(node); end + class << self + def correct(cop, node); end + def move_assignment_inside_condition(node); end + + private + + def extract_branches(case_node); end + def extract_tail_branches(node); end + def move_branch_inside_condition(corrector, branch, condition, assignment, column); end + end end class RuboCop::Cop::Style::CaseEquality < ::RuboCop::Cop::Cop - def case_equality?(node = _); end + def case_equality?(node = T.unsafe(nil)); end def on_send(node); end private @@ -6247,7 +6387,7 @@ class RuboCop::Cop::Style::ClassCheck < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def class_check?(node = _); end + def class_check?(node = T.unsafe(nil)); end def message(node); end def on_send(node); end end @@ -6292,10 +6432,12 @@ RuboCop::Cop::Style::CollectionMethods::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::ColonMethodCall < ::RuboCop::Cop::Cop def autocorrect(node); end - def java_type_node?(node = _); end + def java_type_node?(node = T.unsafe(nil)); end def on_send(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::ColonMethodCall::MSG = T.let(T.unsafe(nil), String) @@ -6379,9 +6521,9 @@ class RuboCop::Cop::Style::ConditionalAssignment < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Style::ConditionalAssignmentHelper) include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def assignment_type?(node = _); end + def assignment_type?(node = T.unsafe(nil)); end def autocorrect(node); end - def candidate_condition?(node = _); end + def candidate_condition?(node = T.unsafe(nil)); end def on_and_asgn(node); end def on_case(node); end def on_casgn(node); end @@ -6452,7 +6594,7 @@ module RuboCop::Cop::Style::ConditionalAssignmentHelper private def assignment_rhs_exist?(node); end - def expand_elsif(node, elsif_branches = _); end + def expand_elsif(node, elsif_branches = T.unsafe(nil)); end def lhs_for_send(node); end def setter_method?(method_name); end end @@ -6476,7 +6618,7 @@ end class RuboCop::Cop::Style::ConstantVisibility < ::RuboCop::Cop::Cop def on_casgn(node); end - def visibility_declaration_for?(node = _, param1); end + def visibility_declaration_for?(node = T.unsafe(nil), param1); end private @@ -6510,10 +6652,10 @@ RuboCop::Cop::Style::Copyright::AUTOCORRECT_EMPTY_WARNING = T.let(T.unsafe(nil), RuboCop::Cop::Style::Copyright::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::DateTime < ::RuboCop::Cop::Cop - def date_time?(node = _); end - def historic_date?(node = _); end + def date_time?(node = T.unsafe(nil)); end + def historic_date?(node = T.unsafe(nil)); end def on_send(node); end - def to_datetime?(node = _); end + def to_datetime?(node = T.unsafe(nil)); end private @@ -6534,7 +6676,7 @@ RuboCop::Cop::Style::DefWithParentheses::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::Dir < ::RuboCop::Cop::Cop def autocorrect(node); end - def dir_replacement?(node = _); end + def dir_replacement?(node = T.unsafe(nil)); end def on_send(node); end private @@ -6559,8 +6701,8 @@ class RuboCop::Cop::Style::Documentation < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Style::AnnotationComment) include(::RuboCop::Cop::DocumentationComment) - def constant_definition?(node = _); end - def constant_visibility_declaration?(node = _); end + def constant_definition?(node = T.unsafe(nil)); end + def constant_visibility_declaration?(node = T.unsafe(nil)); end def on_class(node); end def on_module(node); end def outer_module(node0); end @@ -6572,8 +6714,8 @@ class RuboCop::Cop::Style::Documentation < ::RuboCop::Cop::Cop def constant_declaration?(node); end def namespace?(node); end def nodoc(node); end - def nodoc?(comment, require_all = _); end - def nodoc_comment?(node, require_all = _); end + def nodoc?(comment, require_all = T.unsafe(nil)); end + def nodoc_comment?(node, require_all = T.unsafe(nil)); end end RuboCop::Cop::Style::Documentation::MSG = T.let(T.unsafe(nil), String) @@ -6583,7 +6725,7 @@ class RuboCop::Cop::Style::DocumentationMethod < ::RuboCop::Cop::Cop include(::RuboCop::Cop::DocumentationComment) include(::RuboCop::Cop::DefNode) - def module_function_node?(node = _); end + def module_function_node?(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end @@ -6605,7 +6747,7 @@ RuboCop::Cop::Style::DoubleCopDisableDirective::MSG = T.let(T.unsafe(nil), Strin class RuboCop::Cop::Style::DoubleNegation < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def double_negative?(node = _); end + def double_negative?(node = T.unsafe(nil)); end def on_send(node); end private @@ -6619,7 +6761,7 @@ RuboCop::Cop::Style::DoubleNegation::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::EachForSimpleLoop < ::RuboCop::Cop::Cop def autocorrect(node); end - def offending_each_range(node = _); end + def offending_each_range(node = T.unsafe(nil)); end def on_block(node); end end @@ -6629,7 +6771,7 @@ class RuboCop::Cop::Style::EachWithObject < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def each_with_object_candidate?(node = _); end + def each_with_object_candidate?(node = T.unsafe(nil)); end def on_block(node); end private @@ -6710,13 +6852,13 @@ class RuboCop::Cop::Style::EmptyLiteral < ::RuboCop::Cop::Cop include(::RuboCop::Cop::FrozenStringLiteral) include(::RuboCop::Cop::RangeHelp) - def array_node(node = _); end - def array_with_block(node = _); end + def array_node(node = T.unsafe(nil)); end + def array_with_block(node = T.unsafe(nil)); end def autocorrect(node); end - def hash_node(node = _); end - def hash_with_block(node = _); end + def hash_node(node = T.unsafe(nil)); end + def hash_with_block(node = T.unsafe(nil)); end def on_send(node); end - def str_node(node = _); end + def str_node(node = T.unsafe(nil)); end private @@ -6786,8 +6928,8 @@ end RuboCop::Cop::Style::EndBlock::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::EvalWithLocation < ::RuboCop::Cop::Cop - def eval_without_location?(node = _); end - def line_with_offset?(node = _, param1, param2); end + def eval_without_location?(node = T.unsafe(nil)); end + def line_with_offset?(node = T.unsafe(nil), param1, param2); end def on_send(node); end private @@ -6808,7 +6950,7 @@ RuboCop::Cop::Style::EvalWithLocation::MSG_INCORRECT_LINE = T.let(T.unsafe(nil), class RuboCop::Cop::Style::EvenOdd < ::RuboCop::Cop::Cop def autocorrect(node); end - def even_odd_candidate?(node = _); end + def even_odd_candidate?(node = T.unsafe(nil)); end def on_send(node); end private @@ -6822,10 +6964,10 @@ class RuboCop::Cop::Style::ExpandPathArguments < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def file_expand_path(node = _); end + def file_expand_path(node = T.unsafe(nil)); end def on_send(node); end - def pathname_new_parent_expand_path(node = _); end - def pathname_parent_expand_path(node = _); end + def pathname_new_parent_expand_path(node = T.unsafe(nil)); end + def pathname_parent_expand_path(node = T.unsafe(nil)); end private @@ -6864,11 +7006,11 @@ RuboCop::Cop::Style::ExponentialNotation::MESSAGES = T.let(T.unsafe(nil), Hash) class RuboCop::Cop::Style::FloatDivision < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def any_coerce?(node = _); end - def both_coerce?(node = _); end - def left_coerce?(node = _); end + def any_coerce?(node = T.unsafe(nil)); end + def both_coerce?(node = T.unsafe(nil)); end + def left_coerce?(node = T.unsafe(nil)); end def on_send(node); end - def right_coerce?(node = _); end + def right_coerce?(node = T.unsafe(nil)); end private @@ -6901,11 +7043,11 @@ class RuboCop::Cop::Style::FormatString < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def formatter(node = _); end + def formatter(node = T.unsafe(nil)); end def message(detected_style); end def method_name(style_name); end def on_send(node); end - def variable_argument?(node = _); end + def variable_argument?(node = T.unsafe(nil)); end private @@ -6918,7 +7060,7 @@ RuboCop::Cop::Style::FormatString::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::FormatStringToken < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) - def format_string_in_typical_context?(node = _); end + def format_string_in_typical_context?(node = T.unsafe(nil)); end def on_str(node); end private @@ -6991,7 +7133,7 @@ class RuboCop::Cop::Style::GuardClause < ::RuboCop::Cop::Cop private - def accepted_form?(node, ending = _); end + def accepted_form?(node, ending = T.unsafe(nil)); end def accepted_if?(node, ending); end def check_ending_if(node); end def guard_clause_source(guard_clause); end @@ -7019,7 +7161,7 @@ class RuboCop::Cop::Style::HashEachMethods < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Lint::UnusedArgument) def autocorrect(node); end - def kv_each(node = _); end + def kv_each(node = T.unsafe(nil)); end def on_block(node); end private @@ -7036,7 +7178,7 @@ end RuboCop::Cop::Style::HashEachMethods::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::HashLikeCase < ::RuboCop::Cop::Base - def hash_like_case?(node = _); end + def hash_like_case?(node = T.unsafe(nil)); end def on_case(node); end private @@ -7083,9 +7225,9 @@ class RuboCop::Cop::Style::HashTransformKeys < ::RuboCop::Cop::Cop include(::RuboCop::Cop::HashTransformMethod) extend(::RuboCop::Cop::TargetRubyVersion) - def on_bad_each_with_object(node = _); end - def on_bad_hash_brackets_map(node = _); end - def on_bad_map_to_h(node = _); end + def on_bad_each_with_object(node = T.unsafe(nil)); end + def on_bad_hash_brackets_map(node = T.unsafe(nil)); end + def on_bad_map_to_h(node = T.unsafe(nil)); end private @@ -7096,9 +7238,9 @@ end class RuboCop::Cop::Style::HashTransformValues < ::RuboCop::Cop::Cop include(::RuboCop::Cop::HashTransformMethod) - def on_bad_each_with_object(node = _); end - def on_bad_hash_brackets_map(node = _); end - def on_bad_map_to_h(node = _); end + def on_bad_each_with_object(node = T.unsafe(nil)); end + def on_bad_hash_brackets_map(node = T.unsafe(nil)); end + def on_bad_map_to_h(node = T.unsafe(nil)); end private @@ -7126,8 +7268,15 @@ class RuboCop::Cop::Style::IfCorrector extend(::RuboCop::Cop::Style::ConditionalAssignmentHelper) extend(::RuboCop::Cop::Style::ConditionalCorrectorHelper) - def self.correct(cop, node); end - def self.move_assignment_inside_condition(node); end + class << self + def correct(cop, node); end + def move_assignment_inside_condition(node); end + + private + + def extract_tail_branches(node); end + def move_branch_inside_condition(corrector, branch, condition, assignment, column); end + end end class RuboCop::Cop::Style::IfInsideElse < ::RuboCop::Cop::Cop @@ -7196,7 +7345,7 @@ end RuboCop::Cop::Style::IfWithSemicolon::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::ImplicitRuntimeError < ::RuboCop::Cop::Cop - def implicit_runtime_error_raise_or_fail(node = _); end + def implicit_runtime_error_raise_or_fail(node = T.unsafe(nil)); end def on_send(node); end end @@ -7241,8 +7390,8 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Cop def correct_inverse_block(node); end def correct_inverse_method(node); end def correct_inverse_selector(block, corrector); end - def inverse_block?(node = _); end - def inverse_candidate?(node = _); end + def inverse_block?(node = T.unsafe(nil)); end + def inverse_candidate?(node = T.unsafe(nil)); end def on_block(node); end def on_send(node); end @@ -7258,7 +7407,9 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Cop def possible_class_hierarchy_check?(lhs, rhs, method); end def remove_end_parenthesis(corrector, node, method, method_call); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::InverseMethods::CAMEL_CASE = T.let(T.unsafe(nil), Regexp) @@ -7344,7 +7495,9 @@ class RuboCop::Cop::Style::LineEndConcatenation < ::RuboCop::Cop::Cop def standard_string_literal?(token); end def token_after_last_string(successor, base_index); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::LineEndConcatenation::COMPLEX_STRING_BEGIN_TOKEN = T.let(T.unsafe(nil), Symbol) @@ -7379,7 +7532,7 @@ end module RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses def autocorrect(node); end - def message(_node = _); end + def message(_node = T.unsafe(nil)); end def on_csend(node); end def on_send(node); end def on_super(node); end @@ -7414,7 +7567,7 @@ RuboCop::Cop::Style::MethodCallWithArgsParentheses::OmitParentheses::TRAILING_WH module RuboCop::Cop::Style::MethodCallWithArgsParentheses::RequireParentheses def autocorrect(node); end - def message(_node = _); end + def message(_node = T.unsafe(nil)); end def on_csend(node); end def on_send(node); end def on_super(node); end @@ -7484,7 +7637,7 @@ RuboCop::Cop::Style::MethodMissingSuper::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::MinMax < ::RuboCop::Cop::Cop def autocorrect(node); end - def min_max_candidate(node = _); end + def min_max_candidate(node = T.unsafe(nil)); end def on_array(node); end def on_return(node); end @@ -7561,9 +7714,9 @@ RuboCop::Cop::Style::MixinGrouping::MIXIN_METHODS = T.let(T.unsafe(nil), Array) RuboCop::Cop::Style::MixinGrouping::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::MixinUsage < ::RuboCop::Cop::Cop - def include_statement(node = _); end + def include_statement(node = T.unsafe(nil)); end def on_send(node); end - def wrapped_macro_scope?(node = _); end + def wrapped_macro_scope?(node = T.unsafe(nil)); end private @@ -7578,10 +7731,10 @@ class RuboCop::Cop::Style::ModuleFunction < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def extend_self_node?(node = _); end - def module_function_node?(node = _); end + def extend_self_node?(node = T.unsafe(nil)); end + def module_function_node?(node = T.unsafe(nil)); end def on_module(node); end - def private_directive?(node = _); end + def private_directive?(node = T.unsafe(nil)); end private @@ -7692,8 +7845,8 @@ RuboCop::Cop::Style::MultilineWhenThen::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::MultipleComparison < ::RuboCop::Cop::Cop def on_or(node); end - def simple_comparison?(node = _); end - def simple_double_comparison?(node = _); end + def simple_comparison?(node = T.unsafe(nil)); end + def simple_double_comparison?(node = T.unsafe(nil)); end private @@ -7715,9 +7868,9 @@ class RuboCop::Cop::Style::MutableConstant < ::RuboCop::Cop::Cop def autocorrect(node); end def on_casgn(node); end def on_or_asgn(node); end - def operation_produces_immutable_object?(node = _); end - def range_enclosed_in_parentheses?(node = _); end - def splat_value(node = _); end + def operation_produces_immutable_object?(node = T.unsafe(nil)); end + def range_enclosed_in_parentheses?(node = T.unsafe(nil)); end + def splat_value(node = T.unsafe(nil)); end private @@ -7852,7 +8005,9 @@ class RuboCop::Cop::Style::Next < ::RuboCop::Cop::Cop def reindentable_lines(node); end def simple_if_without_break?(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::Next::EXIT_TYPES = T.let(T.unsafe(nil), Array) @@ -7863,8 +8018,8 @@ class RuboCop::Cop::Style::NilComparison < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def nil_check?(node = _); end - def nil_comparison?(node = _); end + def nil_check?(node = T.unsafe(nil)); end + def nil_comparison?(node = T.unsafe(nil)); end def on_send(node); end private @@ -7880,13 +8035,13 @@ RuboCop::Cop::Style::NilComparison::PREDICATE_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::NonNilCheck < ::RuboCop::Cop::Cop def autocorrect(node); end - def nil_check?(node = _); end - def not_and_nil_check?(node = _); end - def not_equal_to_nil?(node = _); end + def nil_check?(node = T.unsafe(nil)); end + def not_and_nil_check?(node = T.unsafe(nil)); end + def not_equal_to_nil?(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end def on_send(node); end - def unless_check?(node = _); end + def unless_check?(node = T.unsafe(nil)); end private @@ -7984,10 +8139,10 @@ class RuboCop::Cop::Style::NumericPredicate < ::RuboCop::Cop::Cop include(::RuboCop::Cop::IgnoredMethods) def autocorrect(node); end - def comparison(node = _); end - def inverted_comparison(node = _); end + def comparison(node = T.unsafe(nil)); end + def inverted_comparison(node = T.unsafe(nil)); end def on_send(node); end - def predicate(node = _); end + def predicate(node = T.unsafe(nil)); end private @@ -8023,7 +8178,7 @@ RuboCop::Cop::Style::OneLineConditional::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::OptionHash < ::RuboCop::Cop::Cop def on_args(node); end - def option_hash(node = _); end + def option_hash(node = T.unsafe(nil)); end private @@ -8052,8 +8207,8 @@ class RuboCop::Cop::Style::OrAssignment < ::RuboCop::Cop::Cop def on_if(node); end def on_ivasgn(node); end def on_lvasgn(node); end - def ternary_assignment?(node = _); end - def unless_assignment?(node = _); end + def ternary_assignment?(node = T.unsafe(nil)); end + def unless_assignment?(node = T.unsafe(nil)); end private @@ -8067,7 +8222,7 @@ class RuboCop::Cop::Style::ParallelAssignment < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RescueNode) def autocorrect(node); end - def implicit_self_getter?(node = _); end + def implicit_self_getter?(node = T.unsafe(nil)); end def on_masgn(node); end private @@ -8094,7 +8249,7 @@ class RuboCop::Cop::Style::ParallelAssignment::AssignmentSorter def tsort_each_child(assignment); end def tsort_each_node; end def uses_var?(node0, param1); end - def var_name(node = _); end + def var_name(node = T.unsafe(nil)); end end class RuboCop::Cop::Style::ParallelAssignment::GenericCorrector @@ -8144,7 +8299,7 @@ class RuboCop::Cop::Style::ParenthesesAroundCondition < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Parentheses) def autocorrect(node); end - def control_op_condition(node = _); end + def control_op_condition(node = T.unsafe(nil)); end def on_if(node); end def on_until(node); end def on_while(node); end @@ -8231,7 +8386,7 @@ RuboCop::Cop::Style::PreferredHashMethods::OFFENDING_SELECTORS = T.let(T.unsafe( class RuboCop::Cop::Style::Proc < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end - def proc_new?(node = _); end + def proc_new?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::Proc::MSG = T.let(T.unsafe(nil), String) @@ -8259,12 +8414,12 @@ RuboCop::Cop::Style::RaiseArgs::EXPLODED_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::RandomWithOffset < ::RuboCop::Cop::Cop def autocorrect(node); end - def integer_op_rand?(node = _); end + def integer_op_rand?(node = T.unsafe(nil)); end def on_send(node); end - def rand_modified?(node = _); end - def rand_op_integer?(node = _); end - def random_call(node = _); end - def to_int(node = _); end + def rand_modified?(node = T.unsafe(nil)); end + def rand_op_integer?(node = T.unsafe(nil)); end + def random_call(node = T.unsafe(nil)); end + def to_int(node = T.unsafe(nil)); end private @@ -8281,7 +8436,7 @@ class RuboCop::Cop::Style::RedundantAssignment < ::RuboCop::Cop::Cop def autocorrect(node); end def on_def(node); end def on_defs(node); end - def redundant_assignment?(node = _); end + def redundant_assignment?(node = T.unsafe(nil)); end private @@ -8351,8 +8506,8 @@ class RuboCop::Cop::Style::RedundantConditional < ::RuboCop::Cop::Cop def autocorrect(node); end def on_if(node); end - def redundant_condition?(node = _); end - def redundant_condition_inverted?(node = _); end + def redundant_condition?(node = T.unsafe(nil)); end + def redundant_condition_inverted?(node = T.unsafe(nil)); end private @@ -8371,8 +8526,8 @@ RuboCop::Cop::Style::RedundantConditional::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::RedundantException < ::RuboCop::Cop::Base extend(::RuboCop::Cop::AutoCorrector) - def compact?(node = _); end - def exploded?(node = _); end + def compact?(node = T.unsafe(nil)); end + def exploded?(node = T.unsafe(nil)); end def fix_compact(node); end def fix_exploded(node); end def on_send(node); end @@ -8388,8 +8543,8 @@ class RuboCop::Cop::Style::RedundantFetchBlock < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end - def rails_cache?(node = _); end - def redundant_fetch_block_candidate?(node = _); end + def rails_cache?(node = T.unsafe(nil)); end + def redundant_fetch_block_candidate?(node = T.unsafe(nil)); end private @@ -8408,7 +8563,7 @@ RuboCop::Cop::Style::RedundantFetchBlock::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::RedundantFileExtensionInRequire < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def require_call?(node = _); end + def require_call?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::RedundantFileExtensionInRequire::MSG = T.let(T.unsafe(nil), String) @@ -8418,7 +8573,7 @@ class RuboCop::Cop::Style::RedundantFreeze < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def operation_produces_immutable_object?(node = _); end + def operation_produces_immutable_object?(node = T.unsafe(nil)); end private @@ -8447,7 +8602,9 @@ class RuboCop::Cop::Style::RedundantInterpolation < ::RuboCop::Cop::Cop def single_variable_interpolation?(node); end def variable_interpolation?(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::RedundantInterpolation::MSG = T.let(T.unsafe(nil), String) @@ -8455,16 +8612,16 @@ RuboCop::Cop::Style::RedundantInterpolation::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::RedundantParentheses < ::RuboCop::Cop::Cop include(::RuboCop::Cop::Parentheses) - def arg_in_call_with_block?(node = _); end + def arg_in_call_with_block?(node = T.unsafe(nil)); end def autocorrect(node); end - def first_send_argument?(node = _); end - def first_super_argument?(node = _); end - def first_yield_argument?(node = _); end - def method_node_and_args(node = _); end + def first_send_argument?(node = T.unsafe(nil)); end + def first_super_argument?(node = T.unsafe(nil)); end + def first_yield_argument?(node = T.unsafe(nil)); end + def method_node_and_args(node = T.unsafe(nil)); end def on_begin(node); end - def range_end?(node = _); end - def rescue?(node = _); end - def square_brackets?(node = _); end + def range_end?(node = T.unsafe(nil)); end + def rescue?(node = T.unsafe(nil)); end + def square_brackets?(node = T.unsafe(nil)); end private @@ -8602,7 +8759,7 @@ RuboCop::Cop::Style::RedundantReturn::MSG = T.let(T.unsafe(nil), String) RuboCop::Cop::Style::RedundantReturn::MULTI_RETURN_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::RedundantSelf < ::RuboCop::Cop::Cop - def initialize(config = _, options = _); end + def initialize(config = T.unsafe(nil), options = T.unsafe(nil)); end def autocorrect(node); end def on_and_asgn(node); end @@ -8620,13 +8777,15 @@ class RuboCop::Cop::Style::RedundantSelf < ::RuboCop::Cop::Cop private def add_lhs_to_local_variables_scopes(rhs, lhs); end - def add_scope(node, local_variables = _); end + def add_scope(node, local_variables = T.unsafe(nil)); end def allow_self(node); end def allowed_send_node?(node); end def on_argument(node); end def regular_method_call?(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::RedundantSelf::KERNEL_METHODS = T.let(T.unsafe(nil), Array) @@ -8640,7 +8799,7 @@ class RuboCop::Cop::Style::RedundantSort < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def redundant_sort?(node = _); end + def redundant_sort?(node = T.unsafe(nil)); end private @@ -8660,7 +8819,7 @@ class RuboCop::Cop::Style::RedundantSortBy < ::RuboCop::Cop::Cop def autocorrect(node); end def on_block(node); end - def redundant_sort_by(node = _); end + def redundant_sort_by(node = T.unsafe(nil)); end private @@ -8694,7 +8853,7 @@ class RuboCop::Cop::Style::RegexpLiteral < ::RuboCop::Cop::Cop def inner_slash_before_correction(node); end def inner_slash_for(opening_delimiter); end def inner_slash_indices(node); end - def node_body(node, include_begin_nodes: _); end + def node_body(node, include_begin_nodes: T.unsafe(nil)); end def preferred_delimiters; end def slash_literal?(node); end end @@ -8720,8 +8879,8 @@ class RuboCop::Cop::Style::RescueStandardError < ::RuboCop::Cop::Cop def autocorrect(node); end def on_resbody(node); end - def rescue_standard_error?(node = _); end - def rescue_without_error_class?(node = _); end + def rescue_standard_error?(node = T.unsafe(nil)); end + def rescue_without_error_class?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::RescueStandardError::MSG_EXPLICIT = T.let(T.unsafe(nil), String) @@ -8732,11 +8891,11 @@ class RuboCop::Cop::Style::ReturnNil < ::RuboCop::Cop::Cop include(::RuboCop::Cop::ConfigurableEnforcedStyle) def autocorrect(node); end - def chained_send?(node = _); end - def define_method?(node = _); end + def chained_send?(node = T.unsafe(nil)); end + def define_method?(node = T.unsafe(nil)); end def on_return(node); end - def return_nil_node?(node = _); end - def return_node?(node = _); end + def return_nil_node?(node = T.unsafe(nil)); end + def return_node?(node = T.unsafe(nil)); end private @@ -8756,8 +8915,8 @@ class RuboCop::Cop::Style::SafeNavigation < ::RuboCop::Cop::Cop def autocorrect(node); end def check_node(node); end - def modifier_if_safe_navigation_candidate(node = _); end - def not_nil_check?(node = _); end + def modifier_if_safe_navigation_candidate(node = T.unsafe(nil)); end + def not_nil_check?(node = T.unsafe(nil)); end def on_and(node); end def on_if(node); end def use_var_only_in_unless_modifier?(node, variable); end @@ -8790,7 +8949,7 @@ RuboCop::Cop::Style::SafeNavigation::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::Sample < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def sample_candidate?(node = _); end + def sample_candidate?(node = T.unsafe(nil)); end private @@ -8823,7 +8982,9 @@ class RuboCop::Cop::Style::SelfAssignment < ::RuboCop::Cop::Cop def check_boolean_node(node, rhs, var_name, var_type); end def check_send_node(node, rhs, var_name, var_type); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::SelfAssignment::MSG = T.let(T.unsafe(nil), String) @@ -8850,7 +9011,7 @@ RuboCop::Cop::Style::Semicolon::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::Send < ::RuboCop::Cop::Cop def on_csend(node); end def on_send(node); end - def sending?(node = _); end + def sending?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::Send::MSG = T.let(T.unsafe(nil), String) @@ -8861,7 +9022,7 @@ class RuboCop::Cop::Style::SignalException < ::RuboCop::Cop::Cop def autocorrect(node); end def custom_fail_methods(node0); end def investigate(processed_source); end - def kernel_call?(node = _, param1); end + def kernel_call?(node = T.unsafe(nil), param1); end def on_rescue(node); end def on_send(node); end @@ -8917,7 +9078,7 @@ class RuboCop::Cop::Style::SlicingWithRange < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def range_till_minus_one?(node = _); end + def range_till_minus_one?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::SlicingWithRange::MSG = T.let(T.unsafe(nil), String) @@ -8977,7 +9138,7 @@ class RuboCop::Cop::Style::StderrPuts < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def stderr_puts?(node = _); end + def stderr_puts?(node = T.unsafe(nil)); end private @@ -8991,8 +9152,8 @@ RuboCop::Cop::Style::StderrPuts::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::StringHashKeys < ::RuboCop::Cop::Cop def autocorrect(node); end def on_pair(node); end - def receive_environments_method?(node = _); end - def string_hash_key?(node = _); end + def receive_environments_method?(node = T.unsafe(nil)); end + def string_hash_key?(node = T.unsafe(nil)); end end RuboCop::Cop::Style::StringHashKeys::MSG = T.let(T.unsafe(nil), String) @@ -9051,7 +9212,7 @@ class RuboCop::Cop::Style::Strip < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def lstrip_rstrip(node = _); end + def lstrip_rstrip(node = T.unsafe(nil)); end def on_send(node); end end @@ -9062,7 +9223,7 @@ class RuboCop::Cop::Style::StructInheritance < ::RuboCop::Cop::Cop def autocorrect(node); end def on_class(node); end - def struct_constructor?(node = _); end + def struct_constructor?(node = T.unsafe(nil)); end private @@ -9087,8 +9248,10 @@ class RuboCop::Cop::Style::SymbolArray < ::RuboCop::Cop::Cop def symbols_contain_spaces?(node); end def to_symbol_literal(string); end - def self.largest_brackets; end - def self.largest_brackets=(_); end + class << self + def largest_brackets; end + def largest_brackets=(_); end + end end RuboCop::Cop::Style::SymbolArray::ARRAY_MSG = T.let(T.unsafe(nil), String) @@ -9109,8 +9272,8 @@ class RuboCop::Cop::Style::SymbolProc < ::RuboCop::Cop::Cop def autocorrect(node); end def destructuring_block_argument?(argument_node); end def on_block(node); end - def proc_node?(node = _); end - def symbol_proc?(node = _); end + def proc_node?(node = T.unsafe(nil)); end + def symbol_proc?(node = T.unsafe(nil)); end private @@ -9120,7 +9283,9 @@ class RuboCop::Cop::Style::SymbolProc < ::RuboCop::Cop::Cop def block_range_with_space(node); end def register_offense(node, method_name, block_method_name); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end RuboCop::Cop::Style::SymbolProc::MSG = T.let(T.unsafe(nil), String) @@ -9131,8 +9296,19 @@ class RuboCop::Cop::Style::TernaryCorrector extend(::RuboCop::Cop::Style::ConditionalAssignmentHelper) extend(::RuboCop::Cop::Style::ConditionalCorrectorHelper) - def self.correct(node); end - def self.move_assignment_inside_condition(node); end + class << self + def correct(node); end + def move_assignment_inside_condition(node); end + + private + + def correction(node); end + def element_assignment?(node); end + def extract_branches(node); end + def move_branch_inside_condition(corrector, branch, assignment); end + def remove_parentheses(corrector, node); end + def ternary(node); end + end end class RuboCop::Cop::Style::TernaryParentheses < ::RuboCop::Cop::Cop @@ -9142,7 +9318,7 @@ class RuboCop::Cop::Style::TernaryParentheses < ::RuboCop::Cop::Cop include(::RuboCop::Cop::SurroundingSpace) def autocorrect(node); end - def method_name(node = _); end + def method_name(node = T.unsafe(nil)); end def on_if(node); end def only_closing_parenthesis_is_last_line?(condition); end @@ -9214,7 +9390,9 @@ class RuboCop::Cop::Style::TrailingCommaInArguments < ::RuboCop::Cop::Cop def on_csend(node); end def on_send(node); end - def self.autocorrect_incompatible_with; end + class << self + def autocorrect_incompatible_with; end + end end class RuboCop::Cop::Style::TrailingCommaInArrayLiteral < ::RuboCop::Cop::Cop @@ -9293,7 +9471,7 @@ class RuboCop::Cop::Style::TrivialAccessors < ::RuboCop::Cop::Cop include(::RuboCop::Cop::AllowedMethods) def autocorrect(node); end - def looks_like_trivial_writer?(node = _); end + def looks_like_trivial_writer?(node = T.unsafe(nil)); end def on_def(node); end def on_defs(node); end @@ -9337,7 +9515,7 @@ RuboCop::Cop::Style::UnlessElse::MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::Style::UnpackFirst < ::RuboCop::Cop::Cop def autocorrect(node); end def on_send(node); end - def unpack_and_first_element?(node = _); end + def unpack_and_first_element?(node = T.unsafe(nil)); end private @@ -9407,8 +9585,10 @@ class RuboCop::Cop::Style::WordArray < ::RuboCop::Cop::Cop def correct_bracketed(node); end def word_regex; end - def self.largest_brackets; end - def self.largest_brackets=(_); end + class << self + def largest_brackets; end + def largest_brackets=(_); end + end end RuboCop::Cop::Style::WordArray::ARRAY_MSG = T.let(T.unsafe(nil), String) @@ -9420,7 +9600,7 @@ class RuboCop::Cop::Style::YodaCondition < ::RuboCop::Cop::Cop include(::RuboCop::Cop::RangeHelp) def autocorrect(node); end - def file_constant_equal_program_name?(node = _); end + def file_constant_equal_program_name?(node = T.unsafe(nil)); end def on_send(node); end private @@ -9452,12 +9632,12 @@ RuboCop::Cop::Style::YodaCondition::REVERSE_COMPARISON = T.let(T.unsafe(nil), Ha class RuboCop::Cop::Style::ZeroLengthPredicate < ::RuboCop::Cop::Cop def autocorrect(node); end - def non_polymorphic_collection?(node = _); end - def nonzero_length_predicate(node = _); end + def non_polymorphic_collection?(node = T.unsafe(nil)); end + def nonzero_length_predicate(node = T.unsafe(nil)); end def on_send(node); end - def other_receiver(node = _); end - def zero_length_predicate(node = _); end - def zero_length_receiver(node = _); end + def other_receiver(node = T.unsafe(nil)); end + def zero_length_predicate(node = T.unsafe(nil)); end + def zero_length_receiver(node = T.unsafe(nil)); end private @@ -9483,7 +9663,7 @@ module RuboCop::Cop::SurroundingSpace def index_of_first_token(node); end def index_of_last_token(node); end def no_space_between?(left_bracket_token, right_bracket_token); end - def no_space_offenses(node, left_token, right_token, message, start_ok: _, end_ok: _); end + def no_space_offenses(node, left_token, right_token, message, start_ok: T.unsafe(nil), end_ok: T.unsafe(nil)); end def offending_empty_no_space?(config, left_token, right_token); end def offending_empty_space?(config, left_token, right_token); end def on_new_investigation; end @@ -9491,7 +9671,7 @@ module RuboCop::Cop::SurroundingSpace def side_space_range(range:, side:); end def space_between?(left_bracket_token, right_bracket_token); end def space_offense(node, token, side, message, command); end - def space_offenses(node, left_token, right_token, message, start_ok: _, end_ok: _); end + def space_offenses(node, left_token, right_token, message, start_ok: T.unsafe(nil), end_ok: T.unsafe(nil)); end def token_table; end end @@ -9508,7 +9688,7 @@ module RuboCop::Cop::TargetRubyVersion end class RuboCop::Cop::Team - def initialize(cops, config = _, options = _); end + def initialize(cops, config = T.unsafe(nil), options = T.unsafe(nil)); end def autocorrect?; end def cops; end @@ -9540,10 +9720,12 @@ class RuboCop::Cop::Team def suppress_clobbering; end def validate_config; end - def self.forces_for(cops); end - def self.mobilize(cop_classes, config, options = _); end - def self.mobilize_cops(cop_classes, config, options = _); end - def self.new(cop_or_classes, config, options = _); end + class << self + def forces_for(cops); end + def mobilize(cop_classes, config, options = T.unsafe(nil)); end + def mobilize_cops(cop_classes, config, options = T.unsafe(nil)); end + def new(cop_or_classes, config, options = T.unsafe(nil)); end + end end module RuboCop::Cop::TooManyLines @@ -9629,9 +9811,11 @@ RuboCop::Cop::UncommunicativeName::NUM_MSG = T.let(T.unsafe(nil), String) class RuboCop::Cop::UnusedArgCorrector extend(::RuboCop::Cop::RangeHelp) - def self.correct(processed_source, node); end - def self.correct_for_blockarg_type(node); end - def self.processed_source; end + class << self + def correct(processed_source, node); end + def correct_for_blockarg_type(node); end + def processed_source; end + end end module RuboCop::Cop::Util @@ -9653,7 +9837,7 @@ module RuboCop::Cop::Util def interpret_string_escapes(string); end def line_range(node); end def needs_escaping?(string); end - def on_node(syms, sexp, excludes = _, &block); end + def on_node(syms, sexp, excludes = T.unsafe(nil), &block); end def parentheses?(node); end def same_line?(node1, node2); end def to_string_literal(string); end @@ -9661,25 +9845,27 @@ module RuboCop::Cop::Util def tokens(node); end def trim_string_interporation_escape_character(str); end - def self.add_parentheses(node, corrector); end - def self.args_begin(node); end - def self.args_end(node); end - def self.begins_its_line?(range); end - def self.comment_line?(line_source); end - def self.comment_lines?(node); end - def self.double_quotes_required?(string); end - def self.escape_string(string); end - def self.first_part_of_call_chain(node); end - def self.interpret_string_escapes(string); end - def self.line_range(node); end - def self.needs_escaping?(string); end - def self.on_node(syms, sexp, excludes = _, &block); end - def self.parentheses?(node); end - def self.same_line?(node1, node2); end - def self.to_string_literal(string); end - def self.to_supported_styles(enforced_style); end - def self.tokens(node); end - def self.trim_string_interporation_escape_character(str); end + class << self + def add_parentheses(node, corrector); end + def args_begin(node); end + def args_end(node); end + def begins_its_line?(range); end + def comment_line?(line_source); end + def comment_lines?(node); end + def double_quotes_required?(string); end + def escape_string(string); end + def first_part_of_call_chain(node); end + def interpret_string_escapes(string); end + def line_range(node); end + def needs_escaping?(string); end + def on_node(syms, sexp, excludes = T.unsafe(nil), &block); end + def parentheses?(node); end + def same_line?(node1, node2); end + def to_string_literal(string); end + def to_supported_styles(enforced_style); end + def tokens(node); end + def trim_string_interporation_escape_character(str); end + end end RuboCop::Cop::Util::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp) @@ -9812,14 +9998,18 @@ class RuboCop::Cop::VariableForce::AssignmentReference < ::Struct def node; end def node=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end module RuboCop::Cop::VariableForce::Branch - def self.of(target_node, scope: _); end + class << self + def of(target_node, scope: T.unsafe(nil)); end + end end class RuboCop::Cop::VariableForce::Branch::And < ::RuboCop::Cop::VariableForce::Branch::Base @@ -9836,7 +10026,7 @@ class RuboCop::Cop::VariableForce::Branch::Base < ::Struct def child_node; end def child_node=(_); end def control_node; end - def each_ancestor(include_self: _, &block); end + def each_ancestor(include_self: T.unsafe(nil), &block); end def eql?(other); end def exclusive_with?(other); end def hash; end @@ -9850,14 +10040,16 @@ class RuboCop::Cop::VariableForce::Branch::Base < ::Struct def scan_ancestors; end - def self.[](*_); end - def self.classes; end - def self.define_predicate(name, child_index: _); end - def self.inherited(subclass); end - def self.inspect; end - def self.members; end - def self.new(*_); end - def self.type; end + class << self + def [](*_); end + def classes; end + def define_predicate(name, child_index: T.unsafe(nil)); end + def inherited(subclass); end + def inspect; end + def members; end + def new(*_); end + def type; end + end end RuboCop::Cop::VariableForce::Branch::CLASSES_BY_TYPE = T.let(T.unsafe(nil), Hash) @@ -10047,14 +10239,16 @@ class RuboCop::Cop::VariableForce::VariableReference < ::Struct def name; end def name=(_); end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end class RuboCop::Cop::VariableForce::VariableTable - def initialize(hook_receiver = _); end + def initialize(hook_receiver = T.unsafe(nil)); end def accessible_variables; end def assign_to_variable(name, node); end @@ -10079,7 +10273,7 @@ RuboCop::Cop::VariableForce::ZERO_ARITY_SUPER_TYPE = T.let(T.unsafe(nil), Symbol module RuboCop::Cop::VisibilityHelp extend(::RuboCop::AST::NodePattern::Macros) - def visibility_block?(node = _); end + def visibility_block?(node = T.unsafe(nil)); end private @@ -10115,15 +10309,17 @@ module RuboCop::Ext::ProcessedSource end module RuboCop::FileFinder - def find_file_upwards(filename, start_dir, stop_dir = _); end - def find_last_file_upwards(filename, start_dir, stop_dir = _); end + def find_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end + def find_last_file_upwards(filename, start_dir, stop_dir = T.unsafe(nil)); end private def traverse_files_upwards(filename, start_dir, stop_dir); end - def self.root_level=(level); end - def self.root_level?(path, stop_dir); end + class << self + def root_level=(level); end + def root_level?(path, stop_dir); end + end end module RuboCop::Formatter @@ -10134,7 +10330,7 @@ class RuboCop::Formatter::AutoGenConfigFormatter < ::RuboCop::Formatter::Progres end class RuboCop::Formatter::BaseFormatter - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def file_finished(file, offenses); end def file_started(file, options); end @@ -10171,7 +10367,7 @@ module RuboCop::Formatter::Colorizable end class RuboCop::Formatter::DisabledConfigFormatter < ::RuboCop::Formatter::BaseFormatter - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def file_finished(file, offenses); end def file_started(_file, _file_info); end @@ -10194,10 +10390,12 @@ class RuboCop::Formatter::DisabledConfigFormatter < ::RuboCop::Formatter::BaseFo def set_max(cfg, cop_name); end def timestamp; end - def self.config_to_allow_offenses; end - def self.config_to_allow_offenses=(_); end - def self.detected_styles; end - def self.detected_styles=(_); end + class << self + def config_to_allow_offenses; end + def config_to_allow_offenses=(_); end + def detected_styles; end + def detected_styles=(_); end + end end RuboCop::Formatter::DisabledConfigFormatter::HEADING = T.let(T.unsafe(nil), String) @@ -10215,9 +10413,9 @@ class RuboCop::Formatter::FileListFormatter < ::RuboCop::Formatter::BaseFormatte end class RuboCop::Formatter::FormatterSet < ::Array - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end - def add_formatter(formatter_type, output_path = _); end + def add_formatter(formatter_type, output_path = T.unsafe(nil)); end def close_output_files; end def file_finished(file, offenses); end def file_started(file, options); end @@ -10248,7 +10446,7 @@ end RuboCop::Formatter::FuubarStyleFormatter::RESET_SEQUENCE = T.let(T.unsafe(nil), String) class RuboCop::Formatter::HTMLFormatter < ::RuboCop::Formatter::BaseFormatter - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def file_finished(file, offenses); end def files; end @@ -10270,10 +10468,12 @@ class RuboCop::Formatter::HTMLFormatter::Color < ::Struct def red=(_); end def to_s; end - def self.[](*_); end - def self.inspect; end - def self.members; end - def self.new(*_); end + class << self + def [](*_); end + def inspect; end + def members; end + def new(*_); end + end end RuboCop::Formatter::HTMLFormatter::ELLIPSES = T.let(T.unsafe(nil), String) @@ -10306,7 +10506,7 @@ RuboCop::Formatter::HTMLFormatter::TEMPLATE_PATH = T.let(T.unsafe(nil), String) class RuboCop::Formatter::JSONFormatter < ::RuboCop::Formatter::BaseFormatter include(::RuboCop::PathUtil) - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def file_finished(file, offenses); end def finished(inspected_files); end @@ -10319,7 +10519,7 @@ class RuboCop::Formatter::JSONFormatter < ::RuboCop::Formatter::BaseFormatter end class RuboCop::Formatter::JUnitFormatter < ::RuboCop::Formatter::BaseFormatter - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def classname_attribute_value(file); end def file_finished(file, offenses); end @@ -10345,7 +10545,7 @@ end class RuboCop::Formatter::PacmanFormatter < ::RuboCop::Formatter::ClangStyleFormatter include(::RuboCop::Formatter::TextUtil) - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def cols; end def file_finished(file, offenses); end @@ -10370,7 +10570,7 @@ RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::Pres class RuboCop::Formatter::ProgressFormatter < ::RuboCop::Formatter::ClangStyleFormatter include(::RuboCop::Formatter::TextUtil) - def initialize(output, options = _); end + def initialize(output, options = T.unsafe(nil)); end def file_finished(file, offenses); end def finished(inspected_files); end @@ -10437,9 +10637,11 @@ module RuboCop::Formatter::TextUtil private - def pluralize(number, thing, options = _); end + def pluralize(number, thing, options = T.unsafe(nil)); end - def self.pluralize(number, thing, options = _); end + class << self + def pluralize(number, thing, options = T.unsafe(nil)); end + end end class RuboCop::Formatter::WorstOffendersFormatter < ::RuboCop::Formatter::BaseFormatter @@ -10470,7 +10672,9 @@ class RuboCop::MagicComment def extract(pattern); end def specified?(value); end - def self.parse(comment); end + class << self + def parse(comment); end + end end class RuboCop::MagicComment::EditorComment < ::RuboCop::MagicComment @@ -10523,8 +10727,10 @@ module RuboCop::NameSimilarity def find_similar_name(target_name, names); end def find_similar_names(target_name, names); end - def self.find_similar_name(target_name, names); end - def self.find_similar_names(target_name, names); end + class << self + def find_similar_name(target_name, names); end + def find_similar_names(target_name, names); end + end end RuboCop::NodePattern = RuboCop::AST::NodePattern @@ -10588,7 +10794,13 @@ class RuboCop::OptionsValidator def validate_parallel; end def validate_parallel_with_combo_option; end - def self.validate_cop_list(names); end + class << self + def validate_cop_list(names); end + + private + + def format_message_from(name, cop_names); end + end end module RuboCop::PathUtil @@ -10599,19 +10811,23 @@ module RuboCop::PathUtil def hidden_dir?(path); end def hidden_file_in_not_hidden_dir?(pattern, path); end def match_path?(pattern, path); end - def relative_path(path, base_dir = _); end + def relative_path(path, base_dir = T.unsafe(nil)); end def smart_path(path); end - def self.absolute?(path); end - def self.hidden_dir?(path); end - def self.hidden_file_in_not_hidden_dir?(pattern, path); end - def self.match_path?(pattern, path); end - def self.relative_path(path, base_dir = _); end - def self.smart_path(path); end + class << self + def absolute?(path); end + def hidden_dir?(path); end + def hidden_file_in_not_hidden_dir?(pattern, path); end + def match_path?(pattern, path); end + def relative_path(path, base_dir = T.unsafe(nil)); end + def smart_path(path); end + end end module RuboCop::Platform - def self.windows?; end + class << self + def windows?; end + end end RuboCop::ProcessedSource = RuboCop::AST::ProcessedSource @@ -10631,13 +10847,13 @@ class RuboCop::RemoteConfig def cache_path_expired?; end def generate_request(uri); end def handle_response(response, limit, &block); end - def request(uri = _, limit = _, &block); end + def request(uri = T.unsafe(nil), limit = T.unsafe(nil), &block); end end RuboCop::RemoteConfig::CACHE_LIFETIME = T.let(T.unsafe(nil), Integer) class RuboCop::ResultCache - def initialize(file, team, options, config_store, cache_root = _); end + def initialize(file, team, options, config_store, cache_root = T.unsafe(nil)); end def load; end def save(offenses); end @@ -10653,13 +10869,21 @@ class RuboCop::ResultCache def symlink_protection_triggered?(path); end def team_checksum(team); end - def self.allow_symlinks_in_cache_location?(config_store); end - def self.cache_root(config_store); end - def self.cleanup(config_store, verbose, cache_root = _); end - def self.inhibit_cleanup; end - def self.inhibit_cleanup=(_); end - def self.source_checksum; end - def self.source_checksum=(_); end + class << self + def allow_symlinks_in_cache_location?(config_store); end + def cache_root(config_store); end + def cleanup(config_store, verbose, cache_root = T.unsafe(nil)); end + def inhibit_cleanup; end + def inhibit_cleanup=(_); end + def source_checksum; end + def source_checksum=(_); end + + private + + def remove_files(files, dirs, remove_count); end + def remove_oldest_files(files, dirs, cache_root, verbose); end + def requires_file_removal?(file_count, config_store); end + end end RuboCop::ResultCache::NON_CHANGING = T.let(T.unsafe(nil), Array) @@ -10692,7 +10916,7 @@ class RuboCop::Runner def find_target_files(paths); end def formatter_set; end def get_processed_source(file); end - def inspect_file(processed_source, team = _); end + def inspect_file(processed_source, team = T.unsafe(nil)); end def inspect_files(files); end def iterate_until_no_changes(source, offenses); end def list_files(paths); end @@ -10717,7 +10941,16 @@ end RuboCop::Runner::MAX_ITERATIONS = T.let(T.unsafe(nil), Integer) class RuboCop::StringInterpreter - def self.interpret(string); end + class << self + def interpret(string); end + + private + + def interpret_hex(escape); end + def interpret_octal(escape); end + def interpret_string_escape(escape); end + def interpret_unicode(escape); end + end end RuboCop::StringInterpreter::STRING_ESCAPES = T.let(T.unsafe(nil), Hash) @@ -10725,7 +10958,7 @@ RuboCop::StringInterpreter::STRING_ESCAPES = T.let(T.unsafe(nil), Hash) RuboCop::StringInterpreter::STRING_ESCAPE_REGEX = T.let(T.unsafe(nil), Regexp) class RuboCop::TargetFinder - def initialize(config_store, options = _); end + def initialize(config_store, options = T.unsafe(nil)); end def all_cops_include; end def configured_include?(file); end @@ -10745,7 +10978,7 @@ class RuboCop::TargetFinder def ruby_filenames; end def ruby_interpreters(file); end def stdin?; end - def target_files_in_dir(base_dir = _); end + def target_files_in_dir(base_dir = T.unsafe(nil)); end def to_inspect?(file, hidden_files, base_dir_config); end def toplevel_dirs(base_dir, flags); end @@ -10762,7 +10995,9 @@ class RuboCop::TargetRuby def supported?; end def version; end - def self.supported_versions; end + class << self + def supported_versions; end + end end class RuboCop::TargetRuby::BundlerLockFile < ::RuboCop::TargetRuby::Source @@ -10817,7 +11052,9 @@ class RuboCop::ValidationError < ::RuboCop::Error end module RuboCop::Version - def self.version(debug = _); end + class << self + def version(debug = T.unsafe(nil)); end + end end RuboCop::Version::MSG = T.let(T.unsafe(nil), String) @@ -10828,7 +11065,13 @@ class RuboCop::Warning < ::StandardError end module RuboCop::YAMLDuplicationChecker - def self.check(yaml_string, filename, &on_duplicated); end + class << self + def check(yaml_string, filename, &on_duplicated); end + + private + + def traverse(tree, &on_duplicated); end + end end class String diff --git a/Library/Homebrew/sorbet/rbi/gems/ruby-macho@2.2.0.rbi b/Library/Homebrew/sorbet/rbi/gems/ruby-macho@2.2.0.rbi index 27b1fb4bc6..b3235ad9fc 100644 --- a/Library/Homebrew/sorbet/rbi/gems/ruby-macho@2.2.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/ruby-macho@2.2.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ruby-macho` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi b/Library/Homebrew/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi index baaaa5b2fc..fa0d4a7bc5 100644 --- a/Library/Homebrew/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/ruby-progressbar@1.10.1.rbi @@ -1,16 +1,19 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `ruby-progressbar` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true class ProgressBar - def self.create(*args); end + class << self + def create(*args); end + end end class ProgressBar::Base extend(::Forwardable) - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def clear(*args, &block); end def decrement; end @@ -30,14 +33,14 @@ class ProgressBar::Base def remainder_mark=(mark); end def reset; end def resume; end - def start(options = _); end + def start(options = T.unsafe(nil)); end def started?; end def stop; end def stopped?; end def title; end def title=(title); end def to_h; end - def to_s(new_format = _); end + def to_s(new_format = T.unsafe(nil)); end def total(*args, &block); end def total=(new_total); end @@ -72,7 +75,7 @@ module ProgressBar::Calculators end class ProgressBar::Calculators::Length - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def calculate_length; end def current_length; end @@ -98,14 +101,16 @@ class ProgressBar::Calculators::Length end class ProgressBar::Calculators::RunningAverage - def self.calculate(current_average, new_value_to_average, smoothing_factor); end + class << self + def calculate(current_average, new_value_to_average, smoothing_factor); end + end end module ProgressBar::Components end class ProgressBar::Components::Bar - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def length; end def length=(_); end @@ -115,7 +120,7 @@ class ProgressBar::Components::Bar def progress_mark=(_); end def remainder_mark; end def remainder_mark=(_); end - def to_s(options = _); end + def to_s(options = T.unsafe(nil)); end def upa_steps; end def upa_steps=(_); end @@ -141,7 +146,7 @@ ProgressBar::Components::Bar::DEFAULT_REMAINDER_MARK = T.let(T.unsafe(nil), Stri ProgressBar::Components::Bar::DEFAULT_UPA_STEPS = T.let(T.unsafe(nil), Array) class ProgressBar::Components::Percentage - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def progress; end def progress=(_); end @@ -155,7 +160,7 @@ class ProgressBar::Components::Percentage end class ProgressBar::Components::Rate - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def progress; end def progress=(_); end @@ -172,13 +177,13 @@ class ProgressBar::Components::Rate def base_rate; end def elapsed_seconds; end - def rate_of_change(format_string = _); end + def rate_of_change(format_string = T.unsafe(nil)); end def rate_of_change_with_precision; end def scaled_rate; end end class ProgressBar::Components::Time - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def elapsed_with_label; end def estimated_with_label; end @@ -221,7 +226,7 @@ ProgressBar::Components::Time::OOB_UNKNOWN_TIME_TEXT = T.let(T.unsafe(nil), Stri ProgressBar::Components::Time::TIME_FORMAT = T.let(T.unsafe(nil), String) class ProgressBar::Components::Title - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def title; end def title=(_); end @@ -233,7 +238,9 @@ module ProgressBar::Format end class ProgressBar::Format::Formatter - def self.process(format_string, max_length, bar); end + class << self + def process(format_string, max_length, bar); end + end end class ProgressBar::Format::Molecule @@ -243,7 +250,7 @@ class ProgressBar::Format::Molecule def full_key; end def key; end def key=(_); end - def lookup_value(environment, length = _); end + def lookup_value(environment, length = T.unsafe(nil)); end def method_name; end def method_name=(_); end def non_bar_molecule?; end @@ -269,12 +276,12 @@ class ProgressBar::InvalidProgressError < ::RuntimeError end class ProgressBar::Output - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def clear_string; end def length; end def log(string); end - def refresh(options = _); end + def refresh(options = T.unsafe(nil)); end def stream; end def stream=(_); end def with_refresh; end @@ -292,7 +299,9 @@ class ProgressBar::Output def print_and_flush; end - def self.detect(options = _); end + class << self + def detect(options = T.unsafe(nil)); end + end end ProgressBar::Output::DEFAULT_OUTPUT_STREAM = T.let(T.unsafe(nil), IO) @@ -328,7 +337,7 @@ end ProgressBar::Outputs::Tty::DEFAULT_FORMAT_STRING = T.let(T.unsafe(nil), String) class ProgressBar::Progress - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def absolute; end def decrement; end @@ -345,7 +354,7 @@ class ProgressBar::Progress def running_average=(_); end def smoothing; end def smoothing=(_); end - def start(options = _); end + def start(options = T.unsafe(nil)); end def starting_position; end def starting_position=(_); end def total; end @@ -367,9 +376,9 @@ module ProgressBar::Refinements::Enumerator end class ProgressBar::Throttle - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end - def choke(options = _); end + def choke(options = T.unsafe(nil)); end def rate; end def rate=(_); end def started_at; end @@ -381,7 +390,7 @@ class ProgressBar::Throttle end class ProgressBar::Time - def initialize(time = _); end + def initialize(time = T.unsafe(nil)); end def now; end def unmocked_time_method; end @@ -395,7 +404,7 @@ end ProgressBar::Time::TIME_MOCKING_LIBRARY_METHODS = T.let(T.unsafe(nil), Array) class ProgressBar::Timer - def initialize(options = _); end + def initialize(options = T.unsafe(nil)); end def divide_seconds(seconds); end def elapsed_seconds; end diff --git a/Library/Homebrew/sorbet/rbi/gems/simplecov-html@0.12.2.rbi b/Library/Homebrew/sorbet/rbi/gems/simplecov-html@0.12.2.rbi index 198c6b42fc..cf8382d5d7 100644 --- a/Library/Homebrew/sorbet/rbi/gems/simplecov-html@0.12.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/simplecov-html@0.12.2.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `simplecov-html` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/simplecov@0.18.5.rbi b/Library/Homebrew/sorbet/rbi/gems/simplecov@0.18.5.rbi index 198c6b42fc..1b380080bf 100644 --- a/Library/Homebrew/sorbet/rbi/gems/simplecov@0.18.5.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/simplecov@0.18.5.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `simplecov` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/thor@1.0.1.rbi b/Library/Homebrew/sorbet/rbi/gems/thor@1.0.1.rbi index 9b80e20809..a623054e22 100644 --- a/Library/Homebrew/sorbet/rbi/gems/thor@1.0.1.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/thor@1.0.1.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `thor` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -10,52 +11,74 @@ class Thor extend(::Thor::Base::ClassMethods) extend(::Thor::Invocation::ClassMethods) - def help(command = _, subcommand = _); end + def help(command = T.unsafe(nil), subcommand = T.unsafe(nil)); end - def self.check_unknown_options!(options = _); end - def self.check_unknown_options?(config); end - def self.command_help(shell, command_name); end - def self.default_command(meth = _); end - def self.default_task(meth = _); end - def self.deprecation_warning(message); end - def self.desc(usage, description, options = _); end - def self.disable_required_check!(*command_names); end - def self.disable_required_check?(command); end - def self.help(shell, subcommand = _); end - def self.long_desc(long_description, options = _); end - def self.map(mappings = _, **kw); end - def self.method_option(name, options = _); end - def self.method_options(options = _); end - def self.option(name, options = _); end - def self.options(options = _); end - def self.package_name(name, _ = _); end - def self.printable_commands(all = _, subcommand = _); end - def self.printable_tasks(all = _, subcommand = _); end - def self.register(klass, subcommand_name, usage, description, options = _); end - def self.stop_on_unknown_option!(*command_names); end - def self.stop_on_unknown_option?(command); end - def self.subcommand(subcommand, subcommand_class); end - def self.subcommand_classes; end - def self.subcommands; end - def self.subtask(subcommand, subcommand_class); end - def self.subtasks; end - def self.task_help(shell, command_name); end + class << self + def check_unknown_options!(options = T.unsafe(nil)); end + def check_unknown_options?(config); end + def command_help(shell, command_name); end + def default_command(meth = T.unsafe(nil)); end + def default_task(meth = T.unsafe(nil)); end + def deprecation_warning(message); end + def desc(usage, description, options = T.unsafe(nil)); end + def disable_required_check!(*command_names); end + def disable_required_check?(command); end + def help(shell, subcommand = T.unsafe(nil)); end + def long_desc(long_description, options = T.unsafe(nil)); end + def map(mappings = T.unsafe(nil), **kw); end + def method_option(name, options = T.unsafe(nil)); end + def method_options(options = T.unsafe(nil)); end + def option(name, options = T.unsafe(nil)); end + def options(options = T.unsafe(nil)); end + def package_name(name, _ = T.unsafe(nil)); end + def printable_commands(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end + def printable_tasks(all = T.unsafe(nil), subcommand = T.unsafe(nil)); end + def register(klass, subcommand_name, usage, description, options = T.unsafe(nil)); end + def stop_on_unknown_option!(*command_names); end + def stop_on_unknown_option?(command); end + def subcommand(subcommand, subcommand_class); end + def subcommand_classes; end + def subcommands; end + def subtask(subcommand, subcommand_class); end + def subtasks; end + def task_help(shell, command_name); end + + protected + + def banner(command, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end + def baseclass; end + def create_command(meth); end + def create_task(meth); end + def disable_required_check; end + def dispatch(meth, given_args, given_opts, config); end + def dynamic_command_class; end + def find_command_possibilities(meth); end + def find_task_possibilities(meth); end + def initialize_added; end + def normalize_command_name(meth); end + def normalize_task_name(meth); end + def retrieve_command_name(args); end + def retrieve_task_name(args); end + def stop_on_unknown_option; end + def subcommand_help(cmd); end + def subtask_help(cmd); end + end end module Thor::Actions mixes_in_class_methods(::Thor::Actions::ClassMethods) - def initialize(args = _, options = _, config = _); end + def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end def action(instance); end def add_file(destination, *args, &block); end def add_link(destination, *args); end def append_file(path, *args, &block); end def append_to_file(path, *args, &block); end - def apply(path, config = _); end + def apply(path, config = T.unsafe(nil)); end def behavior; end def behavior=(_); end - def chmod(path, mode, config = _); end + def chmod(path, mode, config = T.unsafe(nil)); end def comment_lines(path, flag, *args); end def copy_file(source, *args, &block); end def create_file(destination, *args, &block); end @@ -63,7 +86,7 @@ module Thor::Actions def destination_root; end def destination_root=(root); end def directory(source, *args, &block); end - def empty_directory(destination, config = _); end + def empty_directory(destination, config = T.unsafe(nil)); end def find_in_source_paths(file); end def get(source, *args, &block); end def gsub_file(path, flag, *args, &block); end @@ -72,15 +95,15 @@ module Thor::Actions def inject_into_file(destination, *args, &block); end def inject_into_module(path, module_name, *args, &block); end def insert_into_file(destination, *args, &block); end - def inside(dir = _, config = _, &block); end + def inside(dir = T.unsafe(nil), config = T.unsafe(nil), &block); end def link_file(source, *args); end def prepend_file(path, *args, &block); end def prepend_to_file(path, *args, &block); end - def relative_to_original_destination_root(path, remove_dot = _); end - def remove_dir(path, config = _); end - def remove_file(path, config = _); end - def run(command, config = _); end - def run_ruby_script(command, config = _); end + def relative_to_original_destination_root(path, remove_dot = T.unsafe(nil)); end + def remove_dir(path, config = T.unsafe(nil)); end + def remove_file(path, config = T.unsafe(nil)); end + def run(command, config = T.unsafe(nil)); end + def run_ruby_script(command, config = T.unsafe(nil)); end def source_paths; end def template(source, *args, &block); end def thor(command, *args); end @@ -97,24 +120,26 @@ module Thor::Actions def concat(string); end def output_buffer; end def output_buffer=(_); end - def with_output_buffer(buf = _); end + def with_output_buffer(buf = T.unsafe(nil)); end - def self.included(base); end + class << self + def included(base); end + end end class Thor::Actions::CapturableERB < ::ERB - def set_eoutvar(compiler, eoutvar = _); end + def set_eoutvar(compiler, eoutvar = T.unsafe(nil)); end end module Thor::Actions::ClassMethods def add_runtime_options!; end def source_paths; end def source_paths_for_search; end - def source_root(path = _); end + def source_root(path = T.unsafe(nil)); end end class Thor::Actions::CreateFile < ::Thor::Actions::EmptyDirectory - def initialize(base, destination, data, config = _); end + def initialize(base, destination, data, config = T.unsafe(nil)); end def data; end def identical?; end @@ -136,7 +161,7 @@ class Thor::Actions::CreateLink < ::Thor::Actions::CreateFile end class Thor::Actions::Directory < ::Thor::Actions::EmptyDirectory - def initialize(base, source, destination = _, config = _, &block); end + def initialize(base, source, destination = T.unsafe(nil), config = T.unsafe(nil), &block); end def invoke!; end def revoke!; end @@ -150,7 +175,7 @@ class Thor::Actions::Directory < ::Thor::Actions::EmptyDirectory end class Thor::Actions::EmptyDirectory - def initialize(base, destination, config = _); end + def initialize(base, destination, config = T.unsafe(nil)); end def base; end def config; end @@ -184,7 +209,7 @@ class Thor::Actions::InjectIntoFile < ::Thor::Actions::EmptyDirectory protected def replace!(regexp, string, force); end - def say_status(behavior, warning: _, color: _); end + def say_status(behavior, warning: T.unsafe(nil), color: T.unsafe(nil)); end end Thor::Actions::WARNINGS = T.let(T.unsafe(nil), Hash) @@ -195,7 +220,7 @@ end Thor::AmbiguousTaskError = Thor::AmbiguousCommandError class Thor::Argument - def initialize(name, options = _); end + def initialize(name, options = T.unsafe(nil)); end def banner; end def default; end @@ -219,7 +244,7 @@ end Thor::Argument::VALID_TYPES = T.let(T.unsafe(nil), Array) class Thor::Arguments - def initialize(arguments = _); end + def initialize(arguments = T.unsafe(nil)); end def parse(args); end def remaining; end @@ -238,8 +263,10 @@ class Thor::Arguments def shift; end def unshift(arg); end - def self.parse(*args); end - def self.split(args); end + class << self + def parse(*args); end + def split(args); end + end end Thor::Arguments::NUMERIC = T.let(T.unsafe(nil), Regexp) @@ -250,7 +277,7 @@ module Thor::Base mixes_in_class_methods(::Thor::Base::ClassMethods) - def initialize(args = _, local_options = _, config = _); end + def initialize(args = T.unsafe(nil), local_options = T.unsafe(nil), config = T.unsafe(nil)); end def args; end def args=(_); end @@ -259,19 +286,21 @@ module Thor::Base def parent_options; end def parent_options=(_); end - def self.included(base); end - def self.register_klass_file(klass); end - def self.shell; end - def self.shell=(_); end - def self.subclass_files; end - def self.subclasses; end + class << self + def included(base); end + def register_klass_file(klass); end + def shell; end + def shell=(_); end + def subclass_files; end + def subclasses; end + end end module Thor::Base::ClassMethods def all_commands; end def all_tasks; end def allow_incompatible_default_type!; end - def argument(name, options = _); end + def argument(name, options = T.unsafe(nil)); end def arguments; end def attr_accessor(*_); end def attr_reader(*_); end @@ -281,16 +310,16 @@ module Thor::Base::ClassMethods def check_unknown_options; end def check_unknown_options!; end def check_unknown_options?(config); end - def class_option(name, options = _); end - def class_options(options = _); end + def class_option(name, options = T.unsafe(nil)); end + def class_options(options = T.unsafe(nil)); end def commands; end def disable_required_check?(command_name); end def exit_on_failure?; end - def group(name = _); end + def group(name = T.unsafe(nil)); end def handle_argument_error(command, error, args, arity); end - def handle_no_command_error(command, has_namespace = _); end - def handle_no_task_error(command, has_namespace = _); end - def namespace(name = _); end + def handle_no_command_error(command, has_namespace = T.unsafe(nil)); end + def handle_no_task_error(command, has_namespace = T.unsafe(nil)); end + def namespace(name = T.unsafe(nil)); end def no_commands(&block); end def no_commands?; end def no_commands_context; end @@ -301,7 +330,7 @@ module Thor::Base::ClassMethods def remove_class_option(*names); end def remove_command(*names); end def remove_task(*names); end - def start(given_args = _, config = _); end + def start(given_args = T.unsafe(nil), config = T.unsafe(nil)); end def stop_on_unknown_option?(command_name); end def strict_args_position; end def strict_args_position!; end @@ -314,26 +343,26 @@ module Thor::Base::ClassMethods def basename; end def build_option(name, options, scope); end def build_options(options, scope); end - def class_options_help(shell, groups = _); end + def class_options_help(shell, groups = T.unsafe(nil)); end def create_command(meth); end def create_task(meth); end def dispatch(command, given_args, given_opts, config); end def find_and_refresh_command(name); end def find_and_refresh_task(name); end - def from_superclass(method, default = _); end + def from_superclass(method, default = T.unsafe(nil)); end def inherited(klass); end def initialize_added; end def is_thor_reserved_word?(word, type); end def method_added(meth); end - def print_options(shell, options, group_name = _); end + def print_options(shell, options, group_name = T.unsafe(nil)); end end class Thor::Command < ::Struct - def initialize(name, description, long_description, usage, options = _); end + def initialize(name, description, long_description, usage, options = T.unsafe(nil)); end - def formatted_usage(klass, namespace = _, subcommand = _); end + def formatted_usage(klass, namespace = T.unsafe(nil), subcommand = T.unsafe(nil)); end def hidden?; end - def run(instance, args = _); end + def run(instance, args = T.unsafe(nil)); end protected @@ -358,7 +387,7 @@ module Thor::CoreExt end class Thor::CoreExt::HashWithIndifferentAccess < ::Hash - def initialize(hash = _); end + def initialize(hash = T.unsafe(nil)); end def [](key); end def []=(key, value); end @@ -382,9 +411,9 @@ end Thor::Correctable = DidYouMean::Correctable class Thor::DynamicCommand < ::Thor::Command - def initialize(name, options = _); end + def initialize(name, options = T.unsafe(nil)); end - def run(instance, args = _); end + def run(instance, args = T.unsafe(nil)); end end Thor::DynamicTask = Thor::DynamicCommand @@ -402,20 +431,32 @@ class Thor::Group protected - def _invoke_for_class_method(klass, command = _, *args, &block); end + def _invoke_for_class_method(klass, command = T.unsafe(nil), *args, &block); end - def self.class_options_help(shell, groups = _); end - def self.desc(description = _); end - def self.get_options_from_invocations(group_options, base_options); end - def self.handle_argument_error(command, error, _args, arity); end - def self.help(shell); end - def self.invocation_blocks; end - def self.invocations; end - def self.invoke(*names, &block); end - def self.invoke_from_option(*names, &block); end - def self.printable_commands(*_); end - def self.printable_tasks(*_); end - def self.remove_invocation(*names); end + class << self + def class_options_help(shell, groups = T.unsafe(nil)); end + def desc(description = T.unsafe(nil)); end + def get_options_from_invocations(group_options, base_options); end + def handle_argument_error(command, error, _args, arity); end + def help(shell); end + def invocation_blocks; end + def invocations; end + def invoke(*names, &block); end + def invoke_from_option(*names, &block); end + def printable_commands(*_); end + def printable_tasks(*_); end + def remove_invocation(*names); end + + protected + + def banner; end + def baseclass; end + def create_command(meth); end + def create_task(meth); end + def dispatch(command, given_args, given_opts, config); end + def self_command; end + def self_task; end + end end Thor::HELP_MAPPINGS = T.let(T.unsafe(nil), Array) @@ -429,10 +470,10 @@ Thor::HiddenTask = Thor::HiddenCommand module Thor::Invocation mixes_in_class_methods(::Thor::Invocation::ClassMethods) - def initialize(args = _, options = _, config = _, &block); end + def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil), &block); end def current_command_chain; end - def invoke(name = _, *args); end + def invoke(name = T.unsafe(nil), *args); end def invoke_all; end def invoke_command(command, *args); end def invoke_task(command, *args); end @@ -441,11 +482,13 @@ module Thor::Invocation protected def _parse_initialization_options(args, opts, config); end - def _retrieve_class_and_command(name, sent_command = _); end - def _retrieve_class_and_task(name, sent_command = _); end + def _retrieve_class_and_command(name, sent_command = T.unsafe(nil)); end + def _retrieve_class_and_task(name, sent_command = T.unsafe(nil)); end def _shared_configuration; end - def self.included(base); end + class << self + def included(base); end + end end module Thor::Invocation::ClassMethods @@ -456,8 +499,10 @@ class Thor::InvocationError < ::Thor::Error end module Thor::LineEditor - def self.best_available; end - def self.readline(prompt, options = _); end + class << self + def best_available; end + def readline(prompt, options = T.unsafe(nil)); end + end end class Thor::LineEditor::Basic @@ -472,7 +517,9 @@ class Thor::LineEditor::Basic def echo?; end def get_input; end - def self.available?; end + class << self + def available?; end + end end class Thor::LineEditor::Readline < ::Thor::LineEditor::Basic @@ -485,7 +532,9 @@ class Thor::LineEditor::Readline < ::Thor::LineEditor::Basic def completion_proc; end def use_path_completion?; end - def self.available?; end + class << self + def available?; end + end end class Thor::LineEditor::Readline::PathCompletion @@ -522,7 +571,7 @@ class Thor::NoKwargSpellChecker < ::DidYouMean::SpellChecker end class Thor::Option < ::Thor::Argument - def initialize(name, options = _); end + def initialize(name, options = T.unsafe(nil)); end def aliases; end def array?; end @@ -536,7 +585,7 @@ class Thor::Option < ::Thor::Argument def repeatable; end def string?; end def switch_name; end - def usage(padding = _); end + def usage(padding = T.unsafe(nil)); end protected @@ -546,13 +595,15 @@ class Thor::Option < ::Thor::Argument def validate!; end def validate_default_type!; end - def self.parse(key, value); end + class << self + def parse(key, value); end + end end Thor::Option::VALID_TYPES = T.let(T.unsafe(nil), Array) class Thor::Options < ::Thor::Arguments - def initialize(hash_options = _, defaults = _, stop_on_unknown = _, disable_required_check = _); end + def initialize(hash_options = T.unsafe(nil), defaults = T.unsafe(nil), stop_on_unknown = T.unsafe(nil), disable_required_check = T.unsafe(nil)); end def check_unknown!; end def parse(args); end @@ -572,7 +623,9 @@ class Thor::Options < ::Thor::Arguments def switch?(arg); end def switch_option(arg); end - def self.to_switches(options); end + class << self + def to_switches(options); end + end end Thor::Options::EQ_RE = T.let(T.unsafe(nil), Regexp) @@ -594,7 +647,7 @@ module Thor::Sandbox end module Thor::Shell - def initialize(args = _, options = _, config = _); end + def initialize(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end def ask(*args, &block); end def error(*args, &block); end @@ -625,20 +678,20 @@ class Thor::Shell::Basic def base=(_); end def error(statement); end def file_collision(destination); end - def indent(count = _); end + def indent(count = T.unsafe(nil)); end def mute; end def mute?; end - def no?(statement, color = _); end + def no?(statement, color = T.unsafe(nil)); end def padding; end def padding=(value); end def print_in_columns(array); end - def print_table(array, options = _); end - def print_wrapped(message, options = _); end - def say(message = _, color = _, force_new_line = _); end - def say_status(status, message, log_status = _); end + def print_table(array, options = T.unsafe(nil)); end + def print_wrapped(message, options = T.unsafe(nil)); end + def say(message = T.unsafe(nil), color = T.unsafe(nil), force_new_line = T.unsafe(nil)); end + def say_status(status, message, log_status = T.unsafe(nil)); end def set_color(string, *_); end def terminal_width; end - def yes?(statement, color = _); end + def yes?(statement, color = T.unsafe(nil)); end protected @@ -716,7 +769,7 @@ Thor::Shell::Color::WHITE = T.let(T.unsafe(nil), String) Thor::Shell::Color::YELLOW = T.let(T.unsafe(nil), String) class Thor::Shell::HTML < ::Thor::Shell::Basic - def ask(statement, color = _); end + def ask(statement, color = T.unsafe(nil)); end def set_color(string, *colors); end protected @@ -806,20 +859,22 @@ class Thor::UnknownArgumentError::SpellChecker end module Thor::Util - def self.camel_case(str); end - def self.escape_globs(path); end - def self.escape_html(string); end - def self.find_by_namespace(namespace); end - def self.find_class_and_command_by_namespace(namespace, fallback = _); end - def self.find_class_and_task_by_namespace(namespace, fallback = _); end - def self.globs_for(path); end - def self.load_thorfile(path, content = _, debug = _); end - def self.namespace_from_thor_class(constant); end - def self.namespaces_in_content(contents, file = _); end - def self.ruby_command; end - def self.snake_case(str); end - def self.thor_classes_in(klass); end - def self.thor_root; end - def self.thor_root_glob; end - def self.user_home; end + class << self + def camel_case(str); end + def escape_globs(path); end + def escape_html(string); end + def find_by_namespace(namespace); end + def find_class_and_command_by_namespace(namespace, fallback = T.unsafe(nil)); end + def find_class_and_task_by_namespace(namespace, fallback = T.unsafe(nil)); end + def globs_for(path); end + def load_thorfile(path, content = T.unsafe(nil), debug = T.unsafe(nil)); end + def namespace_from_thor_class(constant); end + def namespaces_in_content(contents, file = T.unsafe(nil)); end + def ruby_command; end + def snake_case(str); end + def thor_classes_in(klass); end + def thor_root; end + def thor_root_glob; end + def user_home; end + end end diff --git a/Library/Homebrew/sorbet/rbi/gems/thread_safe@0.3.6.rbi b/Library/Homebrew/sorbet/rbi/gems/thread_safe@0.3.6.rbi index 27b1fb4bc6..9318de64af 100644 --- a/Library/Homebrew/sorbet/rbi/gems/thread_safe@0.3.6.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/thread_safe@0.3.6.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `thread_safe` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/tzinfo@1.2.7.rbi b/Library/Homebrew/sorbet/rbi/gems/tzinfo@1.2.7.rbi index 27b1fb4bc6..fca7e051ee 100644 --- a/Library/Homebrew/sorbet/rbi/gems/tzinfo@1.2.7.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/tzinfo@1.2.7.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `tzinfo` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/unf@0.1.4.rbi b/Library/Homebrew/sorbet/rbi/gems/unf@0.1.4.rbi index 2d49ec540f..a2cfbfcffa 100644 --- a/Library/Homebrew/sorbet/rbi/gems/unf@0.1.4.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/unf@0.1.4.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `unf` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -14,8 +15,10 @@ class UNF::Normalizer def normalize(_, _); end - def self.instance; end - def self.normalize(string, form); end + class << self + def instance; end + def normalize(string, form); end + end end UNF::VERSION = T.let(T.unsafe(nil), String) diff --git a/Library/Homebrew/sorbet/rbi/gems/unf_ext@0.0.7.7.rbi b/Library/Homebrew/sorbet/rbi/gems/unf_ext@0.0.7.7.rbi index 27b1fb4bc6..97d63e9dd5 100644 --- a/Library/Homebrew/sorbet/rbi/gems/unf_ext@0.0.7.7.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/unf_ext@0.0.7.7.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `unf_ext` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi b/Library/Homebrew/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi index 90001fa9fa..742f7bb3e3 100644 --- a/Library/Homebrew/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/unicode-display_width@1.7.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `unicode-display_width` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true @@ -7,8 +8,10 @@ module Unicode end module Unicode::DisplayWidth - def self.emoji_extra_width_of(string, ambiguous = _, overwrite = _, _ = _); end - def self.of(string, ambiguous = _, overwrite = _, options = _); end + class << self + def emoji_extra_width_of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), _ = T.unsafe(nil)); end + def of(string, ambiguous = T.unsafe(nil), overwrite = T.unsafe(nil), options = T.unsafe(nil)); end + end end Unicode::DisplayWidth::DATA_DIRECTORY = T.let(T.unsafe(nil), String) diff --git a/Library/Homebrew/sorbet/rbi/gems/webrobots@0.1.2.rbi b/Library/Homebrew/sorbet/rbi/gems/webrobots@0.1.2.rbi index f8d2990806..ce20390b7d 100644 --- a/Library/Homebrew/sorbet/rbi/gems/webrobots@0.1.2.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/webrobots@0.1.2.rbi @@ -1,16 +1,17 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `webrobots` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true class Nokogiri::HTML::Document < ::Nokogiri::XML::Document - def fragment(tags = _); end + def fragment(tags = T.unsafe(nil)); end def meta_encoding; end def meta_encoding=(encoding); end - def meta_robots(custom_name = _); end - def nofollow?(custom_name = _); end - def noindex?(custom_name = _); end - def serialize(options = _); end + def meta_robots(custom_name = T.unsafe(nil)); end + def nofollow?(custom_name = T.unsafe(nil)); end + def noindex?(custom_name = T.unsafe(nil)); end + def serialize(options = T.unsafe(nil)); end def title; end def title=(text); end def type; end @@ -21,14 +22,16 @@ class Nokogiri::HTML::Document < ::Nokogiri::XML::Document def parse_meta_robots(custom_name); end def set_metadata_element(element); end - def self.new(*_); end - def self.parse(string_or_io, url = _, encoding = _, options = _); end - def self.read_io(_, _, _, _); end - def self.read_memory(_, _, _, _); end + class << self + def new(*_); end + def parse(string_or_io, url = T.unsafe(nil), encoding = T.unsafe(nil), options = T.unsafe(nil)); end + def read_io(_, _, _, _); end + def read_memory(_, _, _, _); end + end end class WebRobots - def initialize(user_agent, options = _); end + def initialize(user_agent, options = T.unsafe(nil)); end def allowed?(url); end def crawl_delay(url); end @@ -64,24 +67,26 @@ class WebRobots::ParseError < ::WebRobots::Error end class WebRobots::RobotsTxt - def initialize(site, records, options = _); end + def initialize(site, records, options = T.unsafe(nil)); end - def allow?(request_uri, user_agent = _); end - def crawl_delay(user_agent = _); end + def allow?(request_uri, user_agent = T.unsafe(nil)); end + def crawl_delay(user_agent = T.unsafe(nil)); end def error; end def error!; end def error=(_); end - def options(user_agent = _); end + def options(user_agent = T.unsafe(nil)); end def site; end def sitemaps; end def timestamp; end private - def find_record(user_agent = _); end - def target(user_agent = _); end + def find_record(user_agent = T.unsafe(nil)); end + def target(user_agent = T.unsafe(nil)); end - def self.unfetchable(site, reason, target = _); end + class << self + def unfetchable(site, reason, target = T.unsafe(nil)); end + end end class WebRobots::RobotsTxt::AccessControlLine < ::WebRobots::RobotsTxt::Line @@ -121,7 +126,7 @@ class WebRobots::RobotsTxt::Line end class WebRobots::RobotsTxt::Parser < ::Racc::Parser - def initialize(target, crawl_delay_handler = _); end + def initialize(target, crawl_delay_handler = T.unsafe(nil)); end def _reduce_1(val, _values, result); end def _reduce_17(val, _values, result); end diff --git a/Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.4.0.rbi b/Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.4.0.rbi index 198c6b42fc..78c0137b3e 100644 --- a/Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.4.0.rbi +++ b/Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.4.0.rbi @@ -1,5 +1,6 @@ -# This file is autogenerated. Do not edit it by hand. Regenerate it with: -# tapioca sync --exclude json +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `zeitwerk` gem. +# Please instead update this file by running `tapioca generate --exclude json`. # typed: true diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index 010474a7cb..ca6c39655c 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -5496,6 +5496,8 @@ class Cask::Cask def depends_on(&block); end + def desc(&block); end + def dictionary(&block); end def font(&block); end @@ -8090,6 +8092,10 @@ module Homebrew MIN_PORT = ::T.let(nil, ::T.untyped) end +class Homebrew::CLI::Parser + include ::Homebrew::CLI::Parser::Compat +end + module Homebrew::EnvConfig def self.all_proxy(); end @@ -13370,6 +13376,7 @@ class Object def to_yaml(options=T.unsafe(nil)); end ARGF = ::T.let(nil, ::T.untyped) ARGV = ::T.let(nil, ::T.untyped) + BUG_REPORTS_URL = ::T.let(nil, ::T.untyped) CROSS_COMPILING = ::T.let(nil, ::T.untyped) DEPRECATED_OFFICIAL_TAPS = ::T.let(nil, ::T.untyped) ENV = ::T.let(nil, ::T.untyped) @@ -19536,6 +19543,8 @@ class RuboCop::Cask::AST::Stanza def depends_on?(); end + def desc?(); end + def dictionary?(); end def font?(); end @@ -19613,6 +19622,10 @@ class RuboCop::Cop::Cask::NoDslVersion def preferred_header_str(*args, &block); end end +module RuboCop::Cop::Cask::OnDescStanza + def toplevel_stanzas(*args, &block); end +end + module RuboCop::Cop::Cask::OnHomepageStanza def toplevel_stanzas(*args, &block); end end @@ -21064,6 +21077,7 @@ class SimpleCov::Formatter::Codecov CIRCLE = ::T.let(nil, ::T.untyped) CODESHIP = ::T.let(nil, ::T.untyped) DRONEIO = ::T.let(nil, ::T.untyped) + GITHUB = ::T.let(nil, ::T.untyped) GITLAB = ::T.let(nil, ::T.untyped) HEROKU = ::T.let(nil, ::T.untyped) JENKINS = ::T.let(nil, ::T.untyped) @@ -21995,8 +22009,6 @@ class SystemCommand def print_stdout?(); end def sudo?(); end - - def verbose?(); end end module TZInfo @@ -22973,42 +22985,6 @@ end class Tempfile::Remover end -class Thor::Group - def self.banner(); end - - def self.self_command(); end - - def self.self_task(); end -end - -class Thor - def self.banner(command, namespace=T.unsafe(nil), subcommand=T.unsafe(nil)); end - - def self.disable_required_check(); end - - def self.dispatch(meth, given_args, given_opts, config); end - - def self.dynamic_command_class(); end - - def self.find_command_possibilities(meth); end - - def self.find_task_possibilities(meth); end - - def self.normalize_command_name(meth); end - - def self.normalize_task_name(meth); end - - def self.retrieve_command_name(args); end - - def self.retrieve_task_name(args); end - - def self.stop_on_unknown_option(); end - - def self.subcommand_help(cmd); end - - def self.subtask_help(cmd); end -end - module ThreadSafe NULL = ::T.let(nil, ::T.untyped) VERSION = ::T.let(nil, ::T.untyped) diff --git a/Library/Homebrew/style.rb b/Library/Homebrew/style.rb index c7a94df76b..be40a4dd41 100644 --- a/Library/Homebrew/style.rb +++ b/Library/Homebrew/style.rb @@ -16,7 +16,9 @@ module Homebrew check_style_impl(files, :json, **options) end - def check_style_impl(files, output_type, fix: false, except_cops: nil, only_cops: nil, display_cop_names: false) + def check_style_impl(files, output_type, + fix: false, except_cops: nil, only_cops: nil, display_cop_names: false, + debug: false, verbose: false) Homebrew.install_bundler_gems! require "rubocop" require "rubocops" @@ -30,7 +32,8 @@ module Homebrew "--parallel" end - args += ["--extra-details", "--display-cop-names"] if Homebrew.args.verbose? + args += ["--extra-details"] if verbose + args += ["--display-cop-names"] if display_cop_names || verbose if except_cops except_cops.map! { |cop| RuboCop::Cop::Cop.registry.qualified_cop_name(cop.to_s, "") } @@ -77,15 +80,13 @@ module Homebrew case output_type when :print - args << "--debug" if Homebrew.args.debug? - args << "--display-cop-names" if display_cop_names + args << "--debug" if debug args << "--format" << "simple" if files.present? system(cache_env, "rubocop", *args) rubocop_success = $CHILD_STATUS.success? when :json json, err, status = - Open3.capture3(cache_env, "rubocop", - "--format", "json", *args) + Open3.capture3(cache_env, "rubocop", "--format", "json", *args) # exit status of 1 just means violations were found; other numbers mean # execution errors. # exitstatus can also be nil if RuboCop process crashes, e.g. due to diff --git a/Library/Homebrew/system_command.rb b/Library/Homebrew/system_command.rb index 3db2429ab0..c0e91059a1 100644 --- a/Library/Homebrew/system_command.rb +++ b/Library/Homebrew/system_command.rb @@ -8,7 +8,6 @@ require "shellwords" require "extend/io" require "extend/hash_validator" using HashValidator -require "extend/predicable" module Kernel def system_command(*args) @@ -21,6 +20,7 @@ module Kernel end class SystemCommand + include Context extend Predicable attr_reader :pid @@ -34,7 +34,7 @@ class SystemCommand end def run! - puts redact_secrets(command.shelljoin.gsub('\=', "="), @secrets) if verbose? || Homebrew.args.debug? + puts redact_secrets(command.shelljoin.gsub('\=', "="), @secrets) if verbose? || debug? @output = [] @@ -84,7 +84,13 @@ class SystemCommand attr_reader :executable, :args, :input, :options, :env - attr_predicate :sudo?, :print_stdout?, :print_stderr?, :verbose?, :must_succeed? + attr_predicate :sudo?, :print_stdout?, :print_stderr?, :must_succeed? + + def verbose? + return super if @verbose.nil? + + @verbose + end def env_args set_variables = env.reject { |_, value| value.nil? } @@ -160,6 +166,8 @@ class SystemCommand end class Result + include Context + attr_accessor :command, :status, :exit_status def initialize(command, output, status, secrets:) @@ -222,7 +230,7 @@ class SystemCommand end def warn_plist_garbage(garbage) - return unless Homebrew.args.verbose? + return unless verbose? return unless garbage.match?(/\S/) opoo "Received non-XML output from #{Formatter.identifier(command.first)}:" diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index cf5a7bb61e..f9f6779210 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -500,26 +500,6 @@ class Tap @pinned = pinned_symlink_path.directory? end - # Pin this {Tap}. - def pin - raise TapUnavailableError, name unless installed? - raise TapPinStatusError.new(name, true) if pinned? - - pinned_symlink_path.make_relative_symlink(path) - @pinned = true - end - - # Unpin this {Tap}. - def unpin - raise TapUnavailableError, name unless installed? - raise TapPinStatusError.new(name, false) unless pinned? - - pinned_symlink_path.delete - pinned_symlink_path.parent.rmdir_if_possible - pinned_symlink_path.parent.parent.rmdir_if_possible - @pinned = false - end - def to_hash hash = { "name" => name, @@ -533,7 +513,6 @@ class Tap "cask_tokens" => cask_tokens, "cask_files" => cask_files.map(&:to_s), "command_files" => command_files.map(&:to_s), - "pinned" => pinned?, } if installed? diff --git a/Library/Homebrew/test.rb b/Library/Homebrew/test.rb index 2936c20715..a175ca0637 100644 --- a/Library/Homebrew/test.rb +++ b/Library/Homebrew/test.rb @@ -16,9 +16,9 @@ require "dev-cmd/test" TEST_TIMEOUT_SECONDS = 5 * 60 begin - Homebrew.args = Homebrew::CLI::Parser.new.parse(ARGV.dup.freeze, ignore_invalid_options: true) - args = Homebrew.test_args.parse + Context.current = args.context + error_pipe = UNIXSocket.open(ENV["HOMEBREW_ERROR_PIPE"], &:recv_io) error_pipe.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) diff --git a/Library/Homebrew/test/bottle_publisher_spec.rb b/Library/Homebrew/test/bottle_publisher_spec.rb deleted file mode 100644 index ebcea24638..0000000000 --- a/Library/Homebrew/test/bottle_publisher_spec.rb +++ /dev/null @@ -1,48 +0,0 @@ -# frozen_string_literal: true - -require "bottle_publisher" - -describe BottlePublisher do - subject(:bottle_publisher) { - described_class.new( - CoreTap.instance, ["#{CoreTap.instance.name}/hello.rb"], "homebrew", false, false - ) - } - - let(:tap) { CoreTap.new } - - describe "publish_and_check_bottles" do - it "fails if HOMEBREW_DISABLE_LOAD_FORMULA is set to 1" do - ENV["HOMEBREW_DISABLE_LOAD_FORMULA"] = "1" - expect { bottle_publisher.publish_and_check_bottles } - .to raise_error("Need to load formulae to publish them!") - end - - it "returns nil because HOMEBREW_BINTRAY_USER and HOMEBREW_BINTRAY_KEY are not set" do - ENV["HOMEBREW_BINTRAY_USER"] = nil - ENV["HOMEBREW_BINTRAY_KEY"] = nil - expect(bottle_publisher.publish_and_check_bottles) - .to eq nil - end - end - - describe "verify_bintray_published" do - it "returns nil if no formula has been defined" do - expect(bottle_publisher.verify_bintray_published([])) - .to eq nil - end - - it "fails if HOMEBREW_DISABLE_LOAD_FORMULA is set to 1" do - ENV["HOMEBREW_DISABLE_LOAD_FORMULA"] = "1" - stub_formula_loader(formula("foo") { url "foo-1.0" }) - expect { bottle_publisher.verify_bintray_published(["foo"]) } - .to raise_error("Need to load formulae to verify their publication!") - end - - it "checks if a bottle has been published" do - stub_formula_loader(formula("foo") { url "foo-1.0" }) - expect { bottle_publisher.verify_bintray_published(["foo"]) } - .to output("Warning: Cannot publish bottle: Failed reading info for formula foo\n").to_stderr - end - end -end diff --git a/Library/Homebrew/test/cask/audit_spec.rb b/Library/Homebrew/test/cask/audit_spec.rb index 3ddfdcc7ea..7bcbc3b0a2 100644 --- a/Library/Homebrew/test/cask/audit_spec.rb +++ b/Library/Homebrew/test/cask/audit_spec.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "cask/audit" + describe Cask::Audit, :cask do def include_msg?(messages, msg) if msg.is_a?(Regexp) @@ -31,12 +33,14 @@ describe Cask::Audit, :cask do let(:download) { false } let(:token_conflicts) { false } let(:strict) { false } + let(:new_cask) { false } let(:fake_system_command) { class_double(SystemCommand) } let(:audit) { described_class.new(cask, download: download, token_conflicts: token_conflicts, command: fake_system_command, - strict: strict) + strict: strict, + new_cask: new_cask) } describe "#result" do @@ -788,5 +792,58 @@ describe Cask::Audit, :cask do expect(subject).to fail_with(/exception while auditing/) end end + + describe "without description" do + let(:cask_token) { "without-description" } + let(:cask) do + tmp_cask cask_token.to_s, <<~RUBY + cask '#{cask_token}' do + version '1.0' + sha256 '8dd95daa037ac02455435446ec7bc737b34567afe9156af7d20b2a83805c1d8a' + url "https://brew.sh/" + name 'Audit' + homepage 'https://brew.sh/' + app 'Audit.app' + end + RUBY + end + + context "when `new_cask` is true" do + let(:new_cask) { true } + + it "warns" do + expect(subject).to warn_with(/should have a description/) + end + end + + context "when `new_cask` is true" do + let(:new_cask) { false } + + it "does not warn" do + expect(subject).not_to warn_with(/should have a description/) + end + end + end + + context "with description" do + let(:cask_token) { "with-description" } + let(:cask) do + tmp_cask cask_token.to_s, <<~RUBY + cask '#{cask_token}' do + version '1.0' + sha256 '8dd95daa037ac02455435446ec7bc737b34567afe9156af7d20b2a83805c1d8a' + url "https://brew.sh/" + name 'Audit' + desc 'Cask Auditor' + homepage 'https://brew.sh/' + app 'Audit.app' + end + RUBY + end + + it "does not warn" do + expect(subject).not_to warn_with(/should have a description/) + end + end end end diff --git a/Library/Homebrew/test/cask/cmd/create_spec.rb b/Library/Homebrew/test/cask/cmd/create_spec.rb index 3892266be8..ab9a0c95b2 100644 --- a/Library/Homebrew/test/cask/cmd/create_spec.rb +++ b/Library/Homebrew/test/cask/cmd/create_spec.rb @@ -29,15 +29,16 @@ describe Cask::Cmd::Create, :cask do described_class.run("new-cask") template = File.read(Cask::CaskLoader.path("new-cask")) expect(template).to eq <<~RUBY - cask 'new-cask' do - version '' - sha256 '' + cask "new-cask" do + version "" + sha256 "" url "https://" - name '' - homepage '' + name "" + desc "" + homepage "" - app '' + app "" end RUBY end diff --git a/Library/Homebrew/test/cask/cmd/list_spec.rb b/Library/Homebrew/test/cask/cmd/list_spec.rb index 82a486b0d5..b3af63e31f 100644 --- a/Library/Homebrew/test/cask/cmd/list_spec.rb +++ b/Library/Homebrew/test/cask/cmd/list_spec.rb @@ -90,7 +90,7 @@ describe Cask::Cmd::List, :cask do let(:casks) { ["local-caffeine", "local-transmission"] } let(:expected_output) { <<~EOS - [{"token":"local-caffeine","name":[],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}] + [{"token":"local-caffeine","name":[],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/caffeine.zip","appcast":null,"version":"1.2.3","sha256":"67cdb8a02803ef37fdbf7e0be205863172e41a561ca446cd84f0d7ab35a99d94","artifacts":[["Caffeine.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null},{"token":"local-transmission","name":["Transmission"],"desc":null,"homepage":"https://brew.sh/","url":"file:///usr/local/Homebrew/Library/Homebrew/test/support/fixtures/cask/transmission-2.61.dmg","appcast":null,"version":"2.61","sha256":"e44ffa103fbf83f55c8d0b1bea309a43b2880798dae8620b1ee8da5e1095ec68","artifacts":[["Transmission.app"]],"caveats":null,"depends_on":{},"conflicts_with":null,"container":null,"auto_updates":null}] EOS } diff --git a/Library/Homebrew/test/cask/denylist_spec.rb b/Library/Homebrew/test/cask/denylist_spec.rb index 79cae362a4..8c34b5988c 100644 --- a/Library/Homebrew/test/cask/denylist_spec.rb +++ b/Library/Homebrew/test/cask/denylist_spec.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "cask/denylist" + describe Cask::Denylist, :cask do describe "::reason" do matcher :disallow do |name| diff --git a/Library/Homebrew/test/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index 949a1c804f..cebf4c1af7 100644 --- a/Library/Homebrew/test/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -107,6 +107,16 @@ describe Cask::DSL, :cask do end end + describe "desc stanza" do + it "lets you set the description via a desc stanza" do + cask = Cask::Cask.new("desc-cask") do + desc "The package's description" + end + + expect(cask.desc).to eq("The package's description") + end + end + describe "sha256 stanza" do it "lets you set checksum via sha256" do cask = Cask::Cask.new("checksum-cask") do diff --git a/Library/Homebrew/test/cask/quarantine_spec.rb b/Library/Homebrew/test/cask/quarantine_spec.rb index 684587bbdd..33c8f7a975 100644 --- a/Library/Homebrew/test/cask/quarantine_spec.rb +++ b/Library/Homebrew/test/cask/quarantine_spec.rb @@ -1,5 +1,12 @@ # frozen_string_literal: true +require "cask/cmd/audit" +require "cask/cmd/fetch" +require "cask/cmd/install" +require "cask/cask_loader" +require "cask/download" +require "cask/quarantine" + describe Cask::Quarantine, :cask do matcher :be_quarantined do match do |path| diff --git a/Library/Homebrew/test/cmd/--caskroom_spec.rb b/Library/Homebrew/test/cmd/--caskroom_spec.rb new file mode 100644 index 0000000000..058573ac02 --- /dev/null +++ b/Library/Homebrew/test/cmd/--caskroom_spec.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +describe "brew --caskroom", :integration_test do + let(:local_transmission) { + Cask::CaskLoader.load(cask_path("local-transmission")) + } + + let(:local_caffeine) { + Cask::CaskLoader.load(cask_path("local-caffeine")) + } + + it "outputs Homebrew's caskroom" do + expect { brew "--caskroom" } + .to output("#{HOMEBREW_PREFIX/"Caskroom"}\n").to_stdout + .and not_to_output.to_stderr + .and be_a_success + end + + it "outputs the caskroom path of casks" do + expect { brew "--caskroom", cask_path("local-transmission"), cask_path("local-caffeine") } + .to output("#{HOMEBREW_PREFIX/"Caskroom"/"local-transmission"}\n" \ + "#{HOMEBREW_PREFIX/"Caskroom"/"local-caffeine\n"}").to_stdout + .and not_to_output.to_stderr + .and be_a_success + end +end diff --git a/Library/Homebrew/test/dev-cmd/audit_spec.rb b/Library/Homebrew/test/dev-cmd/audit_spec.rb index 965f9f86e5..a574f0c3d5 100644 --- a/Library/Homebrew/test/dev-cmd/audit_spec.rb +++ b/Library/Homebrew/test/dev-cmd/audit_spec.rb @@ -85,10 +85,12 @@ module Homebrew } let(:custom_spdx_id) { "zzz" } + let(:deprecated_spdx_id) { "GPL-1.0" } let(:standard_mismatch_spdx_id) { "0BSD" } let(:license_array) { ["0BSD", "GPL-3.0"] } let(:license_array_mismatch) { ["0BSD", "MIT"] } let(:license_array_nonstandard) { ["0BSD", "zzz", "MIT"] } + let(:license_array_deprecated) { ["0BSD", "GPL-1.0", "MIT"] } it "does not check if the formula is not a new formula" do fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: false @@ -102,14 +104,14 @@ module Homebrew end it "detects no license info" do - fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true + fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true, core_tap: true class Foo < Formula url "https://brew.sh/foo-1.0.tgz" end RUBY fa.audit_license - expect(fa.problems.first).to match "No license specified for package." + expect(fa.problems.first).to match "Formulae in homebrew/core must specify a license." end it "detects if license is not a standard spdx-id" do @@ -124,6 +126,18 @@ module Homebrew expect(fa.problems.first).to match "Formula foo contains non-standard SPDX licenses: [\"zzz\"]." end + it "detects if license is a deprecated spdx-id" do + fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true, strict: true + class Foo < Formula + url "https://brew.sh/foo-1.0.tgz" + license "#{deprecated_spdx_id}" + end + RUBY + + fa.audit_license + expect(fa.problems.first).to match "Formula foo contains deprecated SPDX licenses: [\"GPL-1.0\"]." + end + it "detects if license array contains a non-standard spdx-id" do fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true class Foo < Formula @@ -136,6 +150,18 @@ module Homebrew expect(fa.problems.first).to match "Formula foo contains non-standard SPDX licenses: [\"zzz\"]." end + it "detects if license array contains a deprecated spdx-id" do + fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true, strict: true + class Foo < Formula + url "https://brew.sh/foo-1.0.tgz" + license #{license_array_deprecated} + end + RUBY + + fa.audit_license + expect(fa.problems.first).to match "Formula foo contains deprecated SPDX licenses: [\"GPL-1.0\"]." + end + it "verifies that a license info is a standard spdx id" do fa = formula_auditor "foo", <<~RUBY, spdx_data: spdx_data, new_formula: true class Foo < Formula @@ -174,6 +200,34 @@ module Homebrew expect(fa.problems).to be_empty end + it "checks online and verifies that a standard license id is in the same exempted license group" \ + "as what is indicated on its GitHub repo" do + fa = formula_auditor "cask", <<~RUBY, spdx_data: spdx_data, online: true, new_formula: true + class Cask < Formula + url "https://github.com/cask/cask/archive/v0.8.4.tar.gz" + head "https://github.com/cask/cask.git" + license "GPL-3.0-or-later" + end + RUBY + + fa.audit_license + expect(fa.problems).to be_empty + end + + it "checks online and verifies that a standard license array is in the same exempted license group" \ + "as what is indicated on its GitHub repo" do + fa = formula_auditor "cask", <<~RUBY, spdx_data: spdx_data, online: true, new_formula: true + class Cask < Formula + url "https://github.com/cask/cask/archive/v0.8.4.tar.gz" + head "https://github.com/cask/cask.git" + license ["GPL-3.0-or-later", "MIT"] + end + RUBY + + fa.audit_license + expect(fa.problems).to be_empty + end + it "checks online and detects that a formula-specified license is not "\ "the same as what is indicated on its Github repository" do fa = formula_auditor "cask", <<~RUBY, online: true, spdx_data: spdx_data, core_tap: true, new_formula: true @@ -185,8 +239,8 @@ module Homebrew RUBY fa.audit_license - expect(fa.problems.first).to match "License mismatch - GitHub license is: [\"GPL-3.0\"], "\ - "but Formulae license states: #{Array(standard_mismatch_spdx_id)}." + expect(fa.problems.first).to match "Formula license #{Array(standard_mismatch_spdx_id)} "\ + "does not match GitHub license [\"GPL-3.0\"]." end it "checks online and detects that an array of license does not contain "\ @@ -200,8 +254,8 @@ module Homebrew RUBY fa.audit_license - expect(fa.problems.first).to match "License mismatch - GitHub license is: [\"GPL-3.0\"], "\ - "but Formulae license states: #{Array(license_array_mismatch)}." + expect(fa.problems.first).to match "Formula license #{license_array_mismatch} "\ + "does not match GitHub license [\"GPL-3.0\"]." end it "checks online and verifies that an array of license contains "\ diff --git a/Library/Homebrew/test/dev-cmd/tap-new_spec.rb b/Library/Homebrew/test/dev-cmd/tap-new_spec.rb index 3a9cb57197..24e83443ac 100644 --- a/Library/Homebrew/test/dev-cmd/tap-new_spec.rb +++ b/Library/Homebrew/test/dev-cmd/tap-new_spec.rb @@ -7,13 +7,13 @@ describe "Homebrew.tap_new_args" do end describe "brew tap-new", :integration_test do - it "initializes a new Tap with a ReadMe file and GitHub Actions CI" do + it "initializes a new tap with a README file and GitHub Actions CI" do expect { brew "tap-new", "homebrew/foo", "--verbose" } .to be_a_success .and output(%r{homebrew/foo}).to_stdout .and not_to_output.to_stderr expect(HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-foo/README.md").to exist - expect(HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-foo/.github/workflows/main.yml").to exist + expect(HOMEBREW_LIBRARY/"Taps/homebrew/homebrew-foo/.github/workflows/tests.yml").to exist end end diff --git a/Library/Homebrew/test/download_strategies_spec.rb b/Library/Homebrew/test/download_strategies_spec.rb index f24857652e..07a3f7bc8d 100644 --- a/Library/Homebrew/test/download_strategies_spec.rb +++ b/Library/Homebrew/test/download_strategies_spec.rb @@ -121,7 +121,6 @@ describe GitDownloadStrategy do git_commit_all end - subject.shutup! expect(subject.fetch_last_commit).to eq("f68266e") end end diff --git a/Library/Homebrew/test/exceptions_spec.rb b/Library/Homebrew/test/exceptions_spec.rb index 79dba60a4e..536c63baa1 100644 --- a/Library/Homebrew/test/exceptions_spec.rb +++ b/Library/Homebrew/test/exceptions_spec.rb @@ -117,20 +117,6 @@ describe TapAlreadyTappedError do its(:to_s) { is_expected.to eq("Tap foo already tapped.\n") } end -describe TapPinStatusError do - context "pinned" do - subject { described_class.new("foo", true) } - - its(:to_s) { is_expected.to eq("foo is already pinned.") } - end - - context "unpinned" do - subject { described_class.new("foo", false) } - - its(:to_s) { is_expected.to eq("foo is already unpinned.") } - end -end - describe BuildError do subject { described_class.new(formula, "badprg", %w[arg1 arg2], {}) } diff --git a/Library/Homebrew/test/keg_spec.rb b/Library/Homebrew/test/keg_spec.rb index 2df44f9b1e..060ceb2d42 100644 --- a/Library/Homebrew/test/keg_spec.rb +++ b/Library/Homebrew/test/keg_spec.rb @@ -21,7 +21,6 @@ describe Keg do let(:dst) { HOMEBREW_PREFIX/"bin"/"helloworld" } let(:nonexistent) { Pathname.new("/some/nonexistent/path") } - let(:mode) { OpenStruct.new } let!(:keg) { setup_test_keg("foo", "1.0") } let(:kegs) { [] } @@ -84,11 +83,11 @@ describe Keg do end context "with dry run set to true" do - it "only prints what would be done" do - mode.dry_run = true + let(:options) { { dry_run: true } } + it "only prints what would be done" do expect { - expect(keg.link(mode)).to eq(0) + expect(keg.link(**options)).to eq(0) }.to output(<<~EOF).to_stdout #{HOMEBREW_PREFIX}/bin/goodbye_cruel_world #{HOMEBREW_PREFIX}/bin/helloworld @@ -119,27 +118,27 @@ describe Keg do end context "with overwrite set to true" do + let(:options) { { overwrite: true } } + it "overwrite existing files" do touch dst - mode.overwrite = true - expect(keg.link(mode)).to eq(3) + expect(keg.link(**options)).to eq(3) expect(keg).to be_linked end it "overwrites broken symlinks" do dst.make_symlink "nowhere" - mode.overwrite = true - expect(keg.link(mode)).to eq(3) + expect(keg.link(**options)).to eq(3) expect(keg).to be_linked end it "still supports dryrun" do touch dst - mode.overwrite = true - mode.dry_run = true + + options[:dry_run] = true expect { - expect(keg.link(mode)).to eq(0) + expect(keg.link(**options)).to eq(0) }.to output(<<~EOF).to_stdout #{dst} EOF diff --git a/Library/Homebrew/test/livecheck_spec.rb b/Library/Homebrew/test/livecheck_spec.rb index 4a326066d3..e5ed4a57c9 100644 --- a/Library/Homebrew/test/livecheck_spec.rb +++ b/Library/Homebrew/test/livecheck_spec.rb @@ -4,60 +4,119 @@ require "formula" require "livecheck" describe Livecheck do + HOMEPAGE_URL = "https://example.com/" + STABLE_URL = "https://example.com/example-1.2.3.tar.gz" + HEAD_URL = "https://example.com/example.git" + let(:f) do formula do - url "https://brew.sh/test-0.1.tbz" + homepage HOMEPAGE_URL + url STABLE_URL + head HEAD_URL end end let(:livecheckable) { described_class.new(f) } describe "#regex" do - it "returns nil if unset" do + it "returns nil if not set" do expect(livecheckable.regex).to be nil end - it "returns the Regex if set" do + it "returns the Regexp if set" do livecheckable.regex(/foo/) expect(livecheckable.regex).to eq(/foo/) end + + it "raises a TypeError if the argument isn't a Regexp" do + expect { + livecheckable.regex("foo") + }.to raise_error(TypeError, "Livecheck#regex expects a Regexp") + end end describe "#skip" do - it "sets the instance variable skip to true and skip_msg to nil when the argument is not present" do - livecheckable.skip + it "sets @skip to true when no argument is provided" do + expect(livecheckable.skip).to be true expect(livecheckable.instance_variable_get(:@skip)).to be true expect(livecheckable.instance_variable_get(:@skip_msg)).to be nil end - it "sets the instance variable skip to true and skip_msg to the argument when present" do - livecheckable.skip("foo") + it "sets @skip to true and @skip_msg to the provided String" do + expect(livecheckable.skip("foo")).to be true expect(livecheckable.instance_variable_get(:@skip)).to be true expect(livecheckable.instance_variable_get(:@skip_msg)).to eq("foo") end + + it "raises a TypeError if the argument isn't a String" do + expect { + livecheckable.skip(/foo/) + }.to raise_error(TypeError, "Livecheck#skip expects a String") + end end describe "#skip?" do - it "returns the value of the instance variable skip" do + it "returns the value of @skip" do expect(livecheckable.skip?).to be false + livecheckable.skip expect(livecheckable.skip?).to be true end end + describe "#strategy" do + it "returns nil if not set" do + expect(livecheckable.strategy).to be nil + end + + it "returns the Symbol if set" do + livecheckable.strategy(:page_match) + expect(livecheckable.strategy).to eq(:page_match) + end + + it "raises a TypeError if the argument isn't a Symbol" do + expect { + livecheckable.strategy("page_match") + }.to raise_error(TypeError, "Livecheck#strategy expects a Symbol") + end + end + describe "#url" do - it "returns nil if unset" do + it "returns nil if not set" do expect(livecheckable.url).to be nil end it "returns the URL if set" do livecheckable.url("foo") expect(livecheckable.url).to eq("foo") + + livecheckable.url(:homepage) + expect(livecheckable.url).to eq(HOMEPAGE_URL) + + livecheckable.url(:stable) + expect(livecheckable.url).to eq(STABLE_URL) + + livecheckable.url(:head) + expect(livecheckable.url).to eq(HEAD_URL) + end + + it "raises a TypeError if the argument isn't a String or Symbol" do + expect { + livecheckable.url(/foo/) + }.to raise_error(TypeError, "Livecheck#url expects a String or valid Symbol") end end describe "#to_hash" do it "returns a Hash of all instance variables" do - expect(livecheckable.to_hash).to eq({ "regex"=>nil, "skip"=>false, "skip_msg"=>nil, "url"=>nil }) + expect(livecheckable.to_hash).to eq( + { + "regex" => nil, + "skip" => false, + "skip_msg" => nil, + "strategy" => nil, + "url" => nil, + }, + ) end end end diff --git a/Library/Homebrew/test/os/linux/pathname_spec.rb b/Library/Homebrew/test/os/linux/pathname_spec.rb index d614b98204..d0281ddcdd 100644 --- a/Library/Homebrew/test/os/linux/pathname_spec.rb +++ b/Library/Homebrew/test/os/linux/pathname_spec.rb @@ -2,7 +2,7 @@ require "extend/pathname" -describe Pathname, skip: HOMEBREW_PATCHELF_RB.blank? do +describe Pathname do let(:elf_dir) { described_class.new "#{TEST_FIXTURE_DIR}/elf" } let(:sho) { elf_dir/"libhello.so.0" } let(:exec) { elf_dir/"hello" } diff --git a/Library/Homebrew/test/rubocops/cask/desc_spec.rb b/Library/Homebrew/test/rubocops/cask/desc_spec.rb new file mode 100644 index 0000000000..28a2b6d3f7 --- /dev/null +++ b/Library/Homebrew/test/rubocops/cask/desc_spec.rb @@ -0,0 +1,52 @@ +# frozen_string_literal: true + +require "rubocops/rubocop-cask" +require "test/rubocops/cask/shared_examples/cask_cop" + +describe RuboCop::Cop::Cask::Desc do + include CaskCop + + subject(:cop) { described_class.new } + + context "with incorrect `desc` stanza" do + let(:source) { + <<~RUBY + cask "foo" do + desc "A bar program" + end + RUBY + } + let(:correct_source) { + <<~RUBY + cask "foo" do + desc "Bar program" + end + RUBY + } + let(:expected_offenses) do + [{ + message: "Description shouldn't start with an indefinite article, i.e. \"A\".", + severity: :convention, + line: 2, + column: 8, + source: "A", + }] + end + + include_examples "reports offenses" + + include_examples "autocorrects source" + end + + context "with correct `desc` stanza" do + let(:source) { + <<~RUBY + cask "foo" do + desc "Bar program" + end + RUBY + } + + include_examples "does not report any offenses" + end +end diff --git a/Library/Homebrew/test/rubocops/cask/no_dsl_version_spec.rb b/Library/Homebrew/test/rubocops/cask/no_dsl_version_spec.rb index 9f52bd7bf2..2f6d5747c7 100644 --- a/Library/Homebrew/test/rubocops/cask/no_dsl_version_spec.rb +++ b/Library/Homebrew/test/rubocops/cask/no_dsl_version_spec.rb @@ -8,31 +8,27 @@ describe RuboCop::Cop::Cask::NoDslVersion do subject(:cop) { described_class.new } - context "with header method `cask`" do - let(:header_method) { "cask" } + context "with no dsl version" do + let(:source) { "cask 'foo' do; end" } - context "with no dsl version" do - let(:source) { "cask 'foo' do; end" } + include_examples "does not report any offenses" + end - include_examples "does not report any offenses" + context "with dsl version" do + let(:source) { "cask :v1 => 'foo' do; end" } + let(:correct_source) { "cask 'foo' do; end" } + let(:expected_offenses) do + [{ + message: "Use `cask 'foo'` instead of `cask :v1 => 'foo'`", + severity: :convention, + line: 1, + column: 0, + source: "cask :v1 => 'foo'", + }] end - context "with dsl version" do - let(:source) { "cask :v1 => 'foo' do; end" } - let(:correct_source) { "cask 'foo' do; end" } - let(:expected_offenses) do - [{ - message: "Use `cask 'foo'` instead of `cask :v1 => 'foo'`", - severity: :convention, - line: 1, - column: 0, - source: "cask :v1 => 'foo'", - }] - end + include_examples "reports offenses" - include_examples "reports offenses" - - include_examples "autocorrects source" - end + include_examples "autocorrects source" end end diff --git a/Library/Homebrew/test/rubocops/formula_desc_spec.rb b/Library/Homebrew/test/rubocops/formula_desc_spec.rb index 0b9f7dcb28..8f7ea8f806 100644 --- a/Library/Homebrew/test/rubocops/formula_desc_spec.rb +++ b/Library/Homebrew/test/rubocops/formula_desc_spec.rb @@ -15,7 +15,7 @@ describe RuboCop::Cop::FormulaAudit::Desc do RUBY end - it "reports an offense when desc is an empty string" do + it "When desc is an empty string" do expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' @@ -30,81 +30,30 @@ describe RuboCop::Cop::FormulaAudit::Desc do class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' desc 'Bar#{"bar" * 29}' - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Description is too long. "name: desc" should be less than 80 characters. Length is calculated as foo + desc. (currently 95) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Description is too long. "name: desc" should be less than 80 characters. The current combined length is 95. end RUBY end - it "When desc is multiline string" do + it "When desc is a multiline string" do expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' desc 'Bar#{"bar" * 9}'\ '#{"foo" * 21}' - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Description is too long. "name: desc" should be less than 80 characters. Length is calculated as foo + desc. (currently 98) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Description is too long. "name: desc" should be less than 80 characters. The current combined length is 98. end RUBY end end context "When auditing formula desc" do - it "When wrong \"command-line\" usage in desc" do - expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") - class Foo < Formula - url 'https://brew.sh/foo-1.0.tgz' - desc 'command line' - ^ Description should start with a capital letter - ^^^^^^^^^^^^ Description should use \"command-line\" instead of \"command line\" - end - RUBY - end - - it "When an article is used in desc" do - expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") - class Foo < Formula - url 'https://brew.sh/foo-1.0.tgz' - desc 'An aardvark' - ^^^ Description shouldn\'t start with an indefinite article, i.e. \"An\" - end - RUBY - end - - it "When an lowercase letter starts a desc" do - expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") - class Foo < Formula - url 'https://brew.sh/foo-1.0.tgz' - desc 'bar' - ^ Description should start with a capital letter - end - RUBY - end - - it "When formula name is in desc" do - expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") - class Foo < Formula - url 'https://brew.sh/foo-1.0.tgz' - desc 'Foo is a foobar' - ^^^^ Description shouldn\'t start with the formula name - end - RUBY - end - - it "When the description ends with a full stop" do - expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") - class Foo < Formula - url 'https://brew.sh/foo-1.0.tgz' - desc 'Description with a full stop at the end.' - ^ Description shouldn\'t end with a full stop - end - RUBY - end - it "When the description starts with a leading space" do expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' desc ' Description with a leading space' - ^ Description shouldn\'t have a leading space + ^ Description shouldn\'t have leading spaces. end RUBY end @@ -114,7 +63,58 @@ describe RuboCop::Cop::FormulaAudit::Desc do class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' desc 'Description with a trailing space ' - ^ Description shouldn\'t have a trailing space + ^ Description shouldn\'t have trailing spaces. + end + RUBY + end + + it "When \"command-line\" is incorrectly spelled in the desc" do + expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + desc 'command line' + ^ Description should start with a capital letter. + ^^^^^^^^^^^^ Description should use \"command-line\" instead of \"command line\". + end + RUBY + end + + it "When an article is used in the desc" do + expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + desc 'An aardvark' + ^^ Description shouldn\'t start with an indefinite article, i.e. \"An\". + end + RUBY + end + + it "When the desc starts with a lowercase letter" do + expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + desc 'bar' + ^ Description should start with a capital letter. + end + RUBY + end + + it "When the desc starts with the formula name" do + expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + desc 'Foo is a foobar' + ^^^^ Description shouldn\'t start with the formula name. + end + RUBY + end + + it "When the description ends with a full stop" do + expect_offense(<<~RUBY, "/homebrew-core/Formula/foo.rb") + class Foo < Formula + url 'https://brew.sh/foo-1.0.tgz' + desc 'Description with a full stop at the end.' + ^ Description shouldn\'t end with a full stop. end RUBY end @@ -130,7 +130,7 @@ describe RuboCop::Cop::FormulaAudit::Desc do correct_source = <<~RUBY class Foo < Formula url 'https://brew.sh/foo-1.0.tgz' - desc 'an bar: command-line' + desc 'Bar: command-line' end RUBY diff --git a/Library/Homebrew/test/rubocops/homepage_spec.rb b/Library/Homebrew/test/rubocops/homepage_spec.rb index 27de067d59..fcdc6b9a11 100644 --- a/Library/Homebrew/test/rubocops/homepage_spec.rb +++ b/Library/Homebrew/test/rubocops/homepage_spec.rb @@ -62,6 +62,8 @@ describe RuboCop::Cop::FormulaAudit::Homepage do "sf3" => "http://foo.sf.net/", "sf4" => "http://foo.sourceforge.io/", "waldo" => "http://www.gnu.org/waldo", + "dotgit" => "https://github.com/foo/bar.git", + "rtd" => "https://foo.readthedocs.org", } formula_homepages.each do |name, homepage| @@ -101,6 +103,18 @@ describe RuboCop::Cop::FormulaAudit::Homepage do line: 2, column: 2, source: source }] + elsif homepage.match?("https://github.com/foo/bar.git") + expected_offenses = [{ message: "GitHub homepages (`#{homepage}`) should not end with .git", + severity: :convention, + line: 2, + column: 11, + source: source }] + elsif homepage.match?("https://foo.readthedocs.org") + expected_offenses = [{ message: "#{homepage} should be `https://foo.readthedocs.io`", + severity: :convention, + line: 2, + column: 11, + source: source }] else expected_offenses = [{ message: "Please use https:// for #{homepage}", severity: :convention, diff --git a/Library/Homebrew/test/rubocops/lines_spec.rb b/Library/Homebrew/test/rubocops/lines_spec.rb index 46d24fab94..404617524b 100644 --- a/Library/Homebrew/test/rubocops/lines_spec.rb +++ b/Library/Homebrew/test/rubocops/lines_spec.rb @@ -821,18 +821,6 @@ describe RuboCop::Cop::FormulaAudit::Miscellaneous do RUBY end - it "Using ARGV to check options" do - expect_no_offenses(<<~RUBY) - class Foo < Formula - desc "foo" - url 'https://brew.sh/foo-1.0.tgz' - def install - verbose = Homebrew.args.verbose? - end - end - RUBY - end - it 'man+"man8" usage' do expect_offense(<<~RUBY) class Foo < Formula diff --git a/Library/Homebrew/test/support/fixtures/cask/Casks/with-languages.rb b/Library/Homebrew/test/support/fixtures/cask/Casks/with-languages.rb index 2bbafea7a1..09649ba656 100644 --- a/Library/Homebrew/test/support/fixtures/cask/Casks/with-languages.rb +++ b/Library/Homebrew/test/support/fixtures/cask/Casks/with-languages.rb @@ -5,7 +5,6 @@ cask "with-languages" do sha256 "abc123" "zh-CN" end - language "en-US", default: true do sha256 "xyz789" "en-US" diff --git a/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb index e0b01d9afe..2f414c643a 100644 --- a/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb +++ b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require "cask/all" +require "cask/config" require "test/support/helper/cask/fake_system_command" require "test/support/helper/cask/install_helper" diff --git a/Library/Homebrew/test/system_command_result_spec.rb b/Library/Homebrew/test/system_command_result_spec.rb index a424661c39..bc48fcdd75 100644 --- a/Library/Homebrew/test/system_command_result_spec.rb +++ b/Library/Homebrew/test/system_command_result_spec.rb @@ -120,7 +120,7 @@ describe SystemCommand::Result do context "when verbose" do before do - allow(Homebrew).to receive(:args).and_return(OpenStruct.new("verbose?" => true)) + allow(Context).to receive(:current).and_return(Context::ContextStruct.new(verbose: true)) end it "warns about garbage" do @@ -144,7 +144,7 @@ describe SystemCommand::Result do context "when verbose" do before do - allow(Homebrew).to receive(:args).and_return(OpenStruct.new("verbose?" => true)) + allow(Context).to receive(:current).and_return(Context::ContextStruct.new(verbose: true)) end it "warns about garbage" do diff --git a/Library/Homebrew/test/tap_spec.rb b/Library/Homebrew/test/tap_spec.rb index 25d3552bad..19478511bd 100644 --- a/Library/Homebrew/test/tap_spec.rb +++ b/Library/Homebrew/test/tap_spec.rb @@ -304,16 +304,6 @@ describe Tap do (HOMEBREW_PREFIX/"share").rmtree if (HOMEBREW_PREFIX/"share").exist? end - specify "#pin and #unpin" do - expect(subject).not_to be_pinned - expect { subject.unpin }.to raise_error(TapPinStatusError) - subject.pin - expect(subject).to be_pinned - expect { subject.pin }.to raise_error(TapPinStatusError) - subject.unpin - expect(subject).not_to be_pinned - end - specify "#config" do setup_git_repo diff --git a/Library/Homebrew/test/utils/spdx_spec.rb b/Library/Homebrew/test/utils/spdx_spec.rb new file mode 100644 index 0000000000..e99cc5e610 --- /dev/null +++ b/Library/Homebrew/test/utils/spdx_spec.rb @@ -0,0 +1,32 @@ +# frozen_string_literal: true + +require "utils/spdx" + +describe SPDX do + describe ".spdx_data" do + it "has the license list version" do + expect(described_class.spdx_data["licenseListVersion"]).not_to eq(nil) + end + + it "has the release date" do + expect(described_class.spdx_data["releaseDate"]).not_to eq(nil) + end + + it "has licenses" do + expect(described_class.spdx_data["licenses"].length).not_to eq(0) + end + end + + describe ".download_latest_license_data!", :needs_network do + let(:tmp_json_path) { Pathname.new("#{TEST_TMPDIR}/spdx.json") } + + after do + FileUtils.rm tmp_json_path + end + + it "downloads latest license data" do + described_class.download_latest_license_data! to: tmp_json_path + expect(tmp_json_path).to exist + end + end +end diff --git a/Library/Homebrew/test/version_spec.rb b/Library/Homebrew/test/version_spec.rb index 03b9ab7e88..d83b25d869 100644 --- a/Library/Homebrew/test/version_spec.rb +++ b/Library/Homebrew/test/version_spec.rb @@ -16,6 +16,28 @@ describe Version::Token do specify "#to_s" do expect(described_class.new("foo").to_s).to eq("foo") end + + it "can be compared against nil" do + expect(described_class.create("2")).to be > nil + expect(described_class.create("p194")).to be > nil + end + + it "can be compared against Version::NULL_TOKEN" do + expect(described_class.create("2")).to be > Version::NULL_TOKEN + expect(described_class.create("p194")).to be > Version::NULL_TOKEN + end + + it "can be compared against strings" do + expect(described_class.create("2")).to be == "2" + expect(described_class.create("p194")).to be == "p194" + expect(described_class.create("1")).to be == 1 + end + + specify "comparison returns nil for non-token" do + v = described_class.create("1") + expect(v <=> Object.new).to be nil + expect { v > Object.new }.to raise_error(ArgumentError) + end end describe Version::NULL do @@ -649,6 +671,27 @@ describe Version do .to be_detected_from("https://ftpmirror.gnu.org/libidn/libidn-1.29-win64.zip") end + specify "breseq version style" do + expect(described_class.create("0.35.1")) + .to be_detected_from( + "https://github.com/barricklab/breseq" \ + "/releases/download/v0.35.1/breseq-0.35.1.Source.tar.gz", + ) + end + + specify "wildfly version style" do + expect(described_class.create("20.0.1")) + .to be_detected_from("https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz") + end + + specify "trinity version style" do + expect(described_class.create("2.10.0")) + .to be_detected_from( + "https://github.com/trinityrnaseq/trinityrnaseq" \ + "/releases/download/v2.10.0/trinityrnaseq-v2.10.0.FULL.tar.gz", + ) + end + specify "with arch" do expect(described_class.create("4.0.18-1")) .to be_detected_from("https://ftpmirror.gnu.org/mtools/mtools-4.0.18-1.i686.rpm") diff --git a/Library/Homebrew/upgrade.rb b/Library/Homebrew/upgrade.rb index d447331884..752f06e585 100644 --- a/Library/Homebrew/upgrade.rb +++ b/Library/Homebrew/upgrade.rb @@ -63,9 +63,9 @@ module Homebrew options |= f.build.used_options options &= f.options - fi = FormulaInstaller.new(f, force_bottle: args.force_bottle?, - include_test_formulae: args.include_test_formulae, - build_from_source_formulae: args.build_from_source_formulae) + fi = FormulaInstaller.new(f, force_bottle: args.force_bottle?, + build_from_source_formulae: args.build_from_source_formulae, + debug: args.debug?, quiet: args.quiet?, verbose: args.verbose?) fi.options = options fi.force = args.force? fi.keep_tmp = args.keep_tmp? @@ -102,7 +102,7 @@ module Homebrew rescue CannotInstallFormulaError => e ofail e rescue BuildError => e - e.dump + e.dump(verbose: args.verbose?) puts Homebrew.failed = true rescue DownloadError => e @@ -225,7 +225,7 @@ module Homebrew rescue CannotInstallFormulaError => e ofail e rescue BuildError => e - e.dump + e.dump(verbose: args.verbose?) puts Homebrew.failed = true rescue DownloadError => e diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 2ca681e3e1..7533e66b6e 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -18,6 +18,8 @@ require "tap_constants" require "time" module Homebrew + extend Context + module_function def _system(cmd, *args, **options) @@ -36,7 +38,7 @@ module Homebrew end def system(cmd, *args, **options) - if Homebrew.args.verbose? + if verbose? puts "#{cmd} #{args * " "}".gsub(RUBY_PATH, "ruby") .gsub($LOAD_PATH.join(File::PATH_SEPARATOR).to_s, "$LOAD_PATH") end @@ -88,7 +90,13 @@ module Kernel end def ohai_title(title) - title = Tty.truncate(title) if $stdout.tty? && !Homebrew.args.verbose? + verbose = if respond_to?(:verbose?) + verbose? + else + Context.current.verbose? + end + + title = Tty.truncate(title) if $stdout.tty? && !verbose Formatter.headline(title, color: :blue) end @@ -97,15 +105,27 @@ module Kernel puts sput end - def odebug(title, *sput) - return unless Homebrew.args.debug? + def odebug(title, *sput, always_display: false) + debug = if respond_to?(:debug) + debug? + else + Context.current.debug? + end + + return unless debug || always_display puts Formatter.headline(title, color: :magenta) puts sput unless sput.empty? end - def oh1(title, options = {}) - title = Tty.truncate(title) if $stdout.tty? && !Homebrew.args.verbose? && options.fetch(:truncate, :auto) == :auto + def oh1(title, truncate: :auto) + verbose = if respond_to?(:verbose?) + verbose? + else + Context.current.verbose? + end + + title = Tty.truncate(title) if $stdout.tty? && !verbose && truncate == :auto puts Formatter.headline(title, color: :green) end @@ -371,12 +391,12 @@ module Kernel end def nostdout - if Homebrew.args.verbose? + if verbose? yield else begin out = $stdout.dup - $stdout.reopen("/dev/null") + $stdout.reopen(File::NULL) yield ensure $stdout.reopen(out) diff --git a/Library/Homebrew/utils/analytics.rb b/Library/Homebrew/utils/analytics.rb index 7921136a5c..8f0e7e0e4d 100644 --- a/Library/Homebrew/utils/analytics.rb +++ b/Library/Homebrew/utils/analytics.rb @@ -5,6 +5,8 @@ require "erb" module Utils module Analytics class << self + include Context + def report(type, metadata = {}) return if not_this_run? return if disabled? @@ -148,7 +150,7 @@ module Utils end def get_analytics(json, args:) - full_analytics = args.analytics? || Homebrew.args.verbose? + full_analytics = args.analytics? || verbose? ohai "Analytics" json["analytics"].each do |category, value| diff --git a/Library/Homebrew/utils/curl.rb b/Library/Homebrew/utils/curl.rb index e28265867e..2318579ee0 100644 --- a/Library/Homebrew/utils/curl.rb +++ b/Library/Homebrew/utils/curl.rb @@ -34,7 +34,7 @@ def curl_args(*extra_args, show_output: false, user_agent: :default) unless show_output args << "--fail" - args << "--progress-bar" unless Homebrew.args.verbose? + args << "--progress-bar" unless Context.current.verbose? args << "--verbose" if Homebrew::EnvConfig.curl_verbose? args << "--silent" unless $stdout.tty? end diff --git a/Library/Homebrew/utils/pypi.rb b/Library/Homebrew/utils/pypi.rb index 4393d8d217..c24b3aa6a5 100644 --- a/Library/Homebrew/utils/pypi.rb +++ b/Library/Homebrew/utils/pypi.rb @@ -5,6 +5,16 @@ module PyPI PYTHONHOSTED_URL_PREFIX = "https://files.pythonhosted.org/packages/" + AUTOMATIC_RESOURCE_UPDATE_BLOCKLIST = %w[ + ansible + ansible@2.8 + cdk8s + cloudformation-cli + diffoscope + dxpy + molecule + ].freeze + @pipgrip_installed = nil def url_to_pypi_package_name(url) @@ -43,6 +53,11 @@ module PyPI def update_python_resources!(formula, version = nil, print_only: false, silent: false, ignore_non_pypi_packages: false) + if !print_only && AUTOMATIC_RESOURCE_UPDATE_BLOCKLIST.include?(formula.full_name) + odie "The resources for \"#{formula.name}\" need special attention. Please update them manually." + return + end + # PyPI package name isn't always the same as the formula name. Try to infer from the URL. pypi_name = if formula.stable.url.start_with?(PYTHONHOSTED_URL_PREFIX) url_to_pypi_package_name formula.stable.url @@ -68,7 +83,7 @@ module PyPI @pipgrip_installed ||= Formula["pipgrip"].any_version_installed? odie '"pipgrip" must be installed (`brew install pipgrip`)' unless @pipgrip_installed - ohai "Retrieving PyPI dependencies for \"#{pypi_name}==#{version}\"" if !print_only && !silent + ohai "Retrieving PyPI dependencies for \"#{pypi_name}==#{version}\"..." if !print_only && !silent pipgrip_output = Utils.popen_read Formula["pipgrip"].bin/"pipgrip", "--json", "--no-cache-dir", "#{pypi_name}==#{version}" unless $CHILD_STATUS.success? @@ -89,6 +104,7 @@ module PyPI new_resource_blocks = "" packages.each do |package, package_version| + ohai "Getting PyPI info for \"#{package}==#{package_version}\"" if !print_only && !silent name, url, checksum = get_pypi_info package, package_version # Fail if unable to find name, url or checksum for any resource if name.blank? diff --git a/Library/Homebrew/utils/spdx.rb b/Library/Homebrew/utils/spdx.rb new file mode 100644 index 0000000000..4ee6b59eb4 --- /dev/null +++ b/Library/Homebrew/utils/spdx.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require "utils/github" + +module SPDX + module_function + + JSON_PATH = (HOMEBREW_LIBRARY_PATH/"data/spdx.json").freeze + API_URL = "https://api.github.com/repos/spdx/license-list-data/releases/latest" + + def spdx_data + @spdx_data ||= JSON.parse(JSON_PATH.read) + end + + def download_latest_license_data!(to: JSON_PATH) + latest_tag = GitHub.open_api(API_URL)["tag_name"] + data_url = "https://raw.githubusercontent.com/spdx/license-list-data/#{latest_tag}/json/licenses.json" + curl_download(data_url, to: to, partial: false) + end +end diff --git a/Library/Homebrew/vendor/bundle/bundler/setup.rb b/Library/Homebrew/vendor/bundle/bundler/setup.rb index b1f775dbe2..85773da1b8 100644 --- a/Library/Homebrew/vendor/bundle/bundler/setup.rb +++ b/Library/Homebrew/vendor/bundle/bundler/setup.rb @@ -3,7 +3,7 @@ require 'rbconfig' ruby_engine = defined?(RUBY_ENGINE) ? RUBY_ENGINE : 'ruby' ruby_version = RbConfig::CONFIG["ruby_version"] path = File.expand_path('..', __FILE__) -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/i18n-1.8.5/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/minitest-5.14.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/thread_safe-0.3.6/lib" @@ -21,7 +21,10 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/json-2.3.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/docile-1.3.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-html-0.12.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/simplecov-0.18.5/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/codecov-0.2.2/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/codecov-0.2.5/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/coderay-1.1.3/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/highline-2.0.3/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/commander-4.5.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/connection_pool-2.2.3/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/diff-lcs-1.4.4/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-19/2.6.0/unf_ext-0.0.7.7" @@ -42,13 +45,17 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/nokogiri-1.10.10/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ntlm-http-0.1.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/webrobots-0.1.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/mechanize-2.7.6/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/method_source-1.0.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/mustache-1.1.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel-1.19.2/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-3.0.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parallel_tests-3.1.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parser-2.7.1.4/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/patchelf-1.1.1/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/plist-3.5.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rainbow-3.0.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-runtime-0.5.5823/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/parlour-4.0.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/patchelf-1.2.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/plist-3.5.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/pry-0.13.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/extensions/universal-darwin-19/2.6.0/rdiscount-2.2.0.1" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rdiscount-2.2.0.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/regexp_parser-1.7.1/lib" @@ -62,10 +69,14 @@ $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-3.9.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-its-1.3.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-retry-0.6.2/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rspec-wait-0.0.9/lib" -$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-ast-0.2.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-ast-0.3.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-progressbar-1.10.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/unicode-display_width-1.7.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-0.88.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-performance-1.7.1/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/rubocop-rspec-1.42.0/lib" $:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/ruby-macho-2.2.0/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-static-0.5.5823-universal-darwin-19/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/sorbet-0.5.5823/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/thor-1.0.1/lib" +$:.unshift "#{path}/../#{ruby_engine}/#{ruby_version}/gems/tapioca-0.4.1/lib" diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concurrent_ruby.jar b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concurrent_ruby.jar deleted file mode 100644 index 78e00a0e0b..0000000000 Binary files a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concurrent_ruby.jar and /dev/null differ diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/version.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/version.rb deleted file mode 100644 index 2539b154dd..0000000000 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/version.rb +++ /dev/null @@ -1,3 +0,0 @@ -module Concurrent - VERSION = '1.1.6' -end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent-ruby.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent-ruby.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent-ruby.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent-ruby.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/agent.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/agent.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/agent.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/agent.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/array.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/array.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/array.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/array.rb index ffd1ca293e..60e5b5689d 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/array.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/array.rb @@ -16,7 +16,7 @@ module Concurrent # operation therefore when two `+=` operations are executed concurrently updates # may be lost. Use `#concat` instead. # - # @see http://ruby-doc.org/core-2.2.0/Array.html Ruby standard library `Array` + # @see http://ruby-doc.org/core/Array.html Ruby standard library `Array` # @!macro internal_implementation_note ArrayImplementation = case diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/async.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/async.rb similarity index 97% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/async.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/async.rb index 8fd4886cdd..5e125e4a09 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/async.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/async.rb @@ -58,26 +58,6 @@ module Concurrent # end # ``` # - # When defining a constructor it is critical that the first line be a call to - # `super` with no arguments. The `super` method initializes the background - # thread and other asynchronous components. - # - # ``` - # class BackgroundLogger - # include Concurrent::Async - # - # def initialize(level) - # super() - # @logger = Logger.new(STDOUT) - # @logger.level = level - # end - # - # def info(msg) - # @logger.info(msg) - # end - # end - # ``` - # # Mixing this module into a class provides each object two proxy methods: # `async` and `await`. These methods are thread safe with respect to the # enclosing object. The former proxy allows methods to be called @@ -309,6 +289,7 @@ module Concurrent @delegate = delegate @queue = [] @executor = Concurrent.global_io_executor + @ruby_pid = $$ end # Delegates method calls to the wrapped object. @@ -326,6 +307,7 @@ module Concurrent ivar = Concurrent::IVar.new synchronize do + reset_if_forked @queue.push [ivar, method, args, block] @executor.post { perform } if @queue.length == 1 end @@ -361,6 +343,13 @@ module Concurrent end end end + + def reset_if_forked + if $$ != @ruby_pid + @queue.clear + @ruby_pid = $$ + end + end end private_constant :AsyncDelegator diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atom.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atom.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atom.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atom.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/abstract_thread_local_var.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/abstract_thread_local_var.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/abstract_thread_local_var.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/abstract_thread_local_var.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_boolean.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_fixnum.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_markable_reference.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/atomic_reference.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/count_down_latch.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/cyclic_barrier.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/event.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/event.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/event.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/event.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/java_count_down_latch.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_thread_local_var.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/java_thread_local_var.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/java_thread_local_var.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/java_thread_local_var.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_boolean.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_atomic_fixnum.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_count_down_latch.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/mutex_semaphore.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/read_write_lock.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/reentrant_read_write_lock.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb similarity index 72% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb index 55bcca7c57..6d7601afda 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/ruby_thread_local_var.rb @@ -28,38 +28,27 @@ module Concurrent # But when a Thread is GC'd, we need to drop the reference to its thread-local # array, so we don't leak memory - # @!visibility private - FREE = [] - LOCK = Mutex.new - ARRAYS = {} # used as a hash set - # noinspection RubyClassVariableUsageInspection - @@next = 0 - QUEUE = Queue.new - THREAD = Thread.new do - while true - method, i = QUEUE.pop - case method - when :thread_local_finalizer - LOCK.synchronize do - FREE.push(i) - # The cost of GC'ing a TLV is linear in the number of threads using TLVs - # But that is natural! More threads means more storage is used per TLV - # So naturally more CPU time is required to free more storage - ARRAYS.each_value do |array| - array[i] = nil - end - end - when :thread_finalizer - LOCK.synchronize do - # The thread which used this thread-local array is now gone - # So don't hold onto a reference to the array (thus blocking GC) - ARRAYS.delete(i) - end - end + FREE = [] + LOCK = Mutex.new + THREAD_LOCAL_ARRAYS = {} # used as a hash set + + # synchronize when not on MRI + # on MRI using lock in finalizer leads to "can't be called from trap context" error + # so the code is carefully written to be tread-safe on MRI relying on GIL + + if Concurrent.on_cruby? + # @!visibility private + def self.semi_sync(&block) + block.call + end + else + # @!visibility private + def self.semi_sync(&block) + LOCK.synchronize(&block) end end - private_constant :FREE, :LOCK, :ARRAYS, :QUEUE, :THREAD + private_constant :FREE, :LOCK, :THREAD_LOCAL_ARRAYS # @!macro thread_local_var_method_get def value @@ -85,7 +74,7 @@ module Concurrent # Using Ruby's built-in thread-local storage is faster unless (array = get_threadlocal_array(me)) array = set_threadlocal_array([], me) - LOCK.synchronize { ARRAYS[array.object_id] = array } + self.class.semi_sync { THREAD_LOCAL_ARRAYS[array.object_id] = array } ObjectSpace.define_finalizer(me, self.class.thread_finalizer(array.object_id)) end array[@index] = (value.nil? ? NULL : value) @@ -95,32 +84,50 @@ module Concurrent protected # @!visibility private - # noinspection RubyClassVariableUsageInspection def allocate_storage - @index = LOCK.synchronize do - FREE.pop || begin - result = @@next - @@next += 1 - result - end - end + @index = FREE.pop || next_index + ObjectSpace.define_finalizer(self, self.class.thread_local_finalizer(@index)) end # @!visibility private def self.thread_local_finalizer(index) - # avoid error: can't be called from trap context - proc { QUEUE.push [:thread_local_finalizer, index] } + proc do + semi_sync do + # The cost of GC'ing a TLV is linear in the number of threads using TLVs + # But that is natural! More threads means more storage is used per TLV + # So naturally more CPU time is required to free more storage + THREAD_LOCAL_ARRAYS.each_value { |array| array[index] = nil } + # free index has to be published after the arrays are cleared + FREE.push(index) + end + end end # @!visibility private def self.thread_finalizer(id) - # avoid error: can't be called from trap context - proc { QUEUE.push [:thread_finalizer, id] } + proc do + semi_sync do + # The thread which used this thread-local array is now gone + # So don't hold onto a reference to the array (thus blocking GC) + THREAD_LOCAL_ARRAYS.delete(id) + end + end end private + # noinspection RubyClassVariableUsageInspection + @@next = 0 + # noinspection RubyClassVariableUsageInspection + def next_index + LOCK.synchronize do + result = @@next + @@next += 1 + result + end + end + if Thread.instance_methods.include?(:thread_variable_get) def get_threadlocal_array(thread = Thread.current) diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/semaphore.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/semaphore.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/semaphore.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/semaphore.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic/thread_local_var.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic_reference/mutex_atomic.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomic_reference/numeric_cas_wrapper.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomics.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomics.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/atomics.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/atomics.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/copy_on_notify_observer_set.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/copy_on_write_observer_set.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/java_non_concurrent_priority_queue.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/lock_free_stack.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/atomic_reference_map_backend.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb similarity index 92% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb index d5d809dfc1..903c1f2f47 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/mri_map_backend.rb @@ -19,7 +19,7 @@ module Concurrent end def compute_if_absent(key) - if stored_value = _get(key) # fast non-blocking path for the most likely case + if NULL != (stored_value = @backend.fetch(key, NULL)) # fast non-blocking path for the most likely case stored_value else @write_lock.synchronize { super } diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/non_concurrent_map_backend.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/map/synchronized_map_backend.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/non_concurrent_priority_queue.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/collection/ruby_non_concurrent_priority_queue.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/deprecation.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/deprecation.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/deprecation.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/deprecation.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/dereferenceable.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/logging.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/logging.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/logging.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/logging.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/obligation.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/obligation.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/obligation.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/obligation.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/observable.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/observable.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/concern/observable.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concern/observable.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concurrent_ruby.jar b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concurrent_ruby.jar new file mode 100644 index 0000000000..bd2b279265 Binary files /dev/null and b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/concurrent_ruby.jar differ diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/configuration.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/configuration.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/configuration.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/configuration.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/constants.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/constants.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/constants.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/constants.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/dataflow.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/dataflow.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/dataflow.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/dataflow.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/delay.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/delay.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/delay.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/delay.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/errors.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/errors.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/errors.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/errors.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/exchanger.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/exchanger.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/exchanger.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/exchanger.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/abstract_executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/cached_thread_pool.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb index 681fe21fbd..b665f6c569 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/fixed_thread_pool.rb @@ -16,6 +16,9 @@ module Concurrent # Default maximum number of seconds a thread in the pool may remain idle # before being reclaimed. + # @!macro thread_pool_executor_constant_default_synchronous + # Default value of the :synchronous option. + # @!macro thread_pool_executor_attr_reader_max_length # The maximum number of threads that may be created in the pool. # @return [Integer] The maximum number of threads that may be created in the pool. @@ -40,6 +43,10 @@ module Concurrent # The number of seconds that a thread may be idle before being reclaimed. # @return [Integer] The number of seconds that a thread may be idle before being reclaimed. + # @!macro thread_pool_executor_attr_reader_synchronous + # Whether or not a value of 0 for :max_queue option means the queue must perform direct hand-off or rather unbounded queue. + # @return [true, false] + # @!macro thread_pool_executor_attr_reader_max_queue # The maximum number of tasks that may be waiting in the work queue at any one time. # When the queue size reaches `max_queue` subsequent tasks will be rejected in diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/immediate_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/indirect_immediate_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_single_thread_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb similarity index 87% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb index b8cb5f1d5e..e67066385e 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/java_thread_pool_executor.rb @@ -21,12 +21,18 @@ if Concurrent.on_jruby? # @!macro thread_pool_executor_constant_default_thread_timeout DEFAULT_THREAD_IDLETIMEOUT = 60 + # @!macro thread_pool_executor_constant_default_synchronous + DEFAULT_SYNCHRONOUS = false + # @!macro thread_pool_executor_attr_reader_max_length attr_reader :max_length # @!macro thread_pool_executor_attr_reader_max_queue attr_reader :max_queue + # @!macro thread_pool_executor_attr_reader_synchronous + attr_reader :synchronous + # @!macro thread_pool_executor_method_initialize def initialize(opts = {}) super(opts) @@ -94,8 +100,10 @@ if Concurrent.on_jruby? max_length = opts.fetch(:max_threads, DEFAULT_MAX_POOL_SIZE).to_i idletime = opts.fetch(:idletime, DEFAULT_THREAD_IDLETIMEOUT).to_i @max_queue = opts.fetch(:max_queue, DEFAULT_MAX_QUEUE_SIZE).to_i + @synchronous = opts.fetch(:synchronous, DEFAULT_SYNCHRONOUS) @fallback_policy = opts.fetch(:fallback_policy, :abort) + raise ArgumentError.new("`synchronous` cannot be set unless `max_queue` is 0") if @synchronous && @max_queue > 0 raise ArgumentError.new("`max_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE}") if max_length < DEFAULT_MIN_POOL_SIZE raise ArgumentError.new("`max_threads` cannot be greater than #{DEFAULT_MAX_POOL_SIZE}") if max_length > DEFAULT_MAX_POOL_SIZE raise ArgumentError.new("`min_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE}") if min_length < DEFAULT_MIN_POOL_SIZE @@ -103,7 +111,11 @@ if Concurrent.on_jruby? raise ArgumentError.new("#{fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICY_CLASSES.include?(@fallback_policy) if @max_queue == 0 - queue = java.util.concurrent.LinkedBlockingQueue.new + if @synchronous + queue = java.util.concurrent.SynchronousQueue.new + else + queue = java.util.concurrent.LinkedBlockingQueue.new + end else queue = java.util.concurrent.LinkedBlockingQueue.new(@max_queue) end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_single_thread_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb index 0044fb40ad..dc20d765b0 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/ruby_thread_pool_executor.rb @@ -23,6 +23,9 @@ module Concurrent # @!macro thread_pool_executor_constant_default_thread_timeout DEFAULT_THREAD_IDLETIMEOUT = 60 + # @!macro thread_pool_executor_constant_default_synchronous + DEFAULT_SYNCHRONOUS = false + # @!macro thread_pool_executor_attr_reader_max_length attr_reader :max_length @@ -35,6 +38,9 @@ module Concurrent # @!macro thread_pool_executor_attr_reader_max_queue attr_reader :max_queue + # @!macro thread_pool_executor_attr_reader_synchronous + attr_reader :synchronous + # @!macro thread_pool_executor_method_initialize def initialize(opts = {}) super(opts) @@ -114,9 +120,11 @@ module Concurrent @max_length = opts.fetch(:max_threads, DEFAULT_MAX_POOL_SIZE).to_i @idletime = opts.fetch(:idletime, DEFAULT_THREAD_IDLETIMEOUT).to_i @max_queue = opts.fetch(:max_queue, DEFAULT_MAX_QUEUE_SIZE).to_i + @synchronous = opts.fetch(:synchronous, DEFAULT_SYNCHRONOUS) @fallback_policy = opts.fetch(:fallback_policy, :abort) - raise ArgumentError.new("#{@fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICIES.include?(@fallback_policy) + raise ArgumentError.new("`synchronous` cannot be set unless `max_queue` is 0") if @synchronous && @max_queue > 0 + raise ArgumentError.new("#{@fallback_policy} is not a valid fallback policy") unless FALLBACK_POLICIES.include?(@fallback_policy) raise ArgumentError.new("`max_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE}") if @max_length < DEFAULT_MIN_POOL_SIZE raise ArgumentError.new("`max_threads` cannot be greater than #{DEFAULT_MAX_POOL_SIZE}") if @max_length > DEFAULT_MAX_POOL_SIZE raise ArgumentError.new("`min_threads` cannot be less than #{DEFAULT_MIN_POOL_SIZE}") if @min_length < DEFAULT_MIN_POOL_SIZE @@ -201,6 +209,8 @@ module Concurrent # # @!visibility private def ns_enqueue(*args, &task) + return false if @synchronous + if !ns_limited_queue? || @queue.size < @max_queue @queue << [task, args] true diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/safe_task_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serial_executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serialized_execution.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/serialized_execution_delegator.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/simple_executor_service.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/single_thread_executor.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb similarity index 95% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb index 72e1bae857..253d46a9d1 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/thread_pool_executor.rb @@ -73,7 +73,8 @@ module Concurrent # @option opts [Symbol] :fallback_policy (:abort) the policy for handling new # tasks that are received when the queue size has reached # `max_queue` or the executor has shut down - # + # @option opts [Boolean] :synchronous (DEFAULT_SYNCHRONOUS) whether or not a value of 0 + # for :max_queue means the queue must perform direct hand-off rather than unbounded. # @raise [ArgumentError] if `:max_threads` is less than one # @raise [ArgumentError] if `:min_threads` is less than zero # @raise [ArgumentError] if `:fallback_policy` is not one of the values specified diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/timer_set.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executor/timer_set.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executor/timer_set.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executors.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executors.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/executors.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/executors.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/future.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/future.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/future.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/future.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/hash.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/hash.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/hash.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/hash.rb index 9816ca39a9..92df66b790 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/hash.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/hash.rb @@ -10,7 +10,7 @@ module Concurrent # or writing at a time. This includes iteration methods like `#each`, # which takes the lock repeatedly when reading an item. # - # @see http://ruby-doc.org/core-2.2.0/Hash.html Ruby standard library `Hash` + # @see http://ruby-doc.org/core/Hash.html Ruby standard library `Hash` # @!macro internal_implementation_note HashImplementation = case diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/immutable_struct.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/immutable_struct.rb similarity index 96% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/immutable_struct.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/immutable_struct.rb index ab64824be5..d2755951f5 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/immutable_struct.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/immutable_struct.rb @@ -5,7 +5,7 @@ module Concurrent # A thread-safe, immutable variation of Ruby's standard `Struct`. # - # @see http://ruby-doc.org/core-2.2.0/Struct.html Ruby standard library `Struct` + # @see http://ruby-doc.org/core/Struct.html Ruby standard library `Struct` module ImmutableStruct include Synchronization::AbstractStruct diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/ivar.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/ivar.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/ivar.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/ivar.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/map.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/map.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/map.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/map.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/maybe.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/maybe.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/maybe.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/maybe.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mutable_struct.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/mutable_struct.rb similarity index 97% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mutable_struct.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/mutable_struct.rb index c2ad43e500..55361e753f 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mutable_struct.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/mutable_struct.rb @@ -6,7 +6,7 @@ module Concurrent # An thread-safe variation of Ruby's standard `Struct`. Values can be set at # construction or safely changed at any time during the object's lifecycle. # - # @see http://ruby-doc.org/core-2.2.0/Struct.html Ruby standard library `Struct` + # @see http://ruby-doc.org/core/Struct.html Ruby standard library `Struct` module MutableStruct include Synchronization::AbstractStruct @@ -40,7 +40,7 @@ module Concurrent # struct. Unset parameters default to nil. Passing more parameters than number of attributes # will raise an `ArgumentError`. # - # @see http://ruby-doc.org/core-2.2.0/Struct.html#method-c-new Ruby standard library `Struct#new` + # @see http://ruby-doc.org/core/Struct.html#method-c-new Ruby standard library `Struct#new` # @!macro struct_values # diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mvar.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/mvar.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/mvar.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/mvar.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/options.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/options.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/options.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/options.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promise.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promise.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promise.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promise.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promises.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promises.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/promises.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/promises.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/re_include.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/re_include.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/re_include.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/re_include.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/scheduled_task.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/scheduled_task.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/scheduled_task.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/scheduled_task.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/set.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/set.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/set.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/set.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/settable_struct.rb similarity index 97% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/settable_struct.rb index 238f1e097b..00123523cc 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/settable_struct.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/settable_struct.rb @@ -9,7 +9,7 @@ module Concurrent # or any time thereafter. Attempting to assign a value to a member # that has already been set will result in a `Concurrent::ImmutabilityError`. # - # @see http://ruby-doc.org/core-2.2.0/Struct.html Ruby standard library `Struct` + # @see http://ruby-doc.org/core/Struct.html Ruby standard library `Struct` # @see http://en.wikipedia.org/wiki/Final_(Java) Java `final` keyword module SettableStruct include Synchronization::AbstractStruct diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_lockable_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/abstract_struct.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/condition.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/condition.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/condition.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/condition.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/jruby_lockable_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/jruby_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lock.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/lock.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lock.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/lock.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb similarity index 94% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb index 34cc8d974a..cdbe4d4377 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/lockable_object.rb @@ -26,8 +26,8 @@ module Concurrent # the classes using it. Use {Synchronization::Object} not this abstract class. # # @note this object does not support usage together with - # [`Thread#wakeup`](http://ruby-doc.org/core-2.2.0/Thread.html#method-i-wakeup) - # and [`Thread#raise`](http://ruby-doc.org/core-2.2.0/Thread.html#method-i-raise). + # [`Thread#wakeup`](http://ruby-doc.org/core/Thread.html#method-i-wakeup) + # and [`Thread#raise`](http://ruby-doc.org/core/Thread.html#method-i-raise). # `Thread#sleep` and `Thread#wakeup` will work as expected but mixing `Synchronization::Object#wait` and # `Thread#wakeup` will not work on all platforms. # diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mri_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mri_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mri_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mri_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/mutex_lockable_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/rbx_lockable_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/rbx_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/truffleruby_object.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/volatile.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/volatile.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/synchronization/volatile.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/synchronization/volatile.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/synchronized_delegator.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/adder.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/cheap_lockable.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/data_structures.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/power_of_two_tuple.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb similarity index 98% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb index 5530e977c9..4169c3d366 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/striped64.rb @@ -97,7 +97,7 @@ module Concurrent # TODO: this only adds padding after the :value slot, need to find a way to add padding before the slot # TODO (pitr-ch 28-Jul-2018): the padding instance vars may not be created # hide from yardoc in a method - attr_reader *(12.times.collect{ |i| "padding_#{i}".to_sym }) + attr_reader :padding_0, :padding_1, :padding_2, :padding_3, :padding_4, :padding_5, :padding_6, :padding_7, :padding_8, :padding_9, :padding_10, :padding_11 end padding end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/volatile.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/thread_safe/util/xor_shift_random.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/timer_task.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/timer_task.rb similarity index 99% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/timer_task.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/timer_task.rb index e766f2e6a3..a0b7233335 100644 --- a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/timer_task.rb +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/timer_task.rb @@ -325,7 +325,6 @@ module Concurrent def timeout_task(completion) return unless @running.true? if completion.try? - self.value = value schedule_next_task observers.notify_observers(Time.now, nil, Concurrent::TimeoutError.new) end diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tuple.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/tuple.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tuple.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/tuple.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tvar.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/tvar.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/tvar.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/tvar.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/engine.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/engine.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/engine.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/engine.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/monotonic_time.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/native_extension_loader.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_integer.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/native_integer.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/native_integer.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/native_integer.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/processor_counter.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/processor_counter.rb similarity index 100% rename from Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby/concurrent/utility/processor_counter.rb rename to Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/utility/processor_counter.rb diff --git a/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/version.rb b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/version.rb new file mode 100644 index 0000000000..d18c0389dd --- /dev/null +++ b/Library/Homebrew/vendor/bundle/ruby/2.6.0/gems/concurrent-ruby-1.1.7/lib/concurrent-ruby/concurrent/version.rb @@ -0,0 +1,3 @@ +module Concurrent + VERSION = '1.1.7' +end diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 3a385f0868..50f1b67082 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -12,6 +12,30 @@ class Version class Token include Comparable + def self.create(val) + raise TypeError, "Token value must be a string; got a #{val.class} (#{val})" unless val.respond_to?(:to_str) + + case val + when /\A#{AlphaToken::PATTERN}\z/o then AlphaToken + when /\A#{BetaToken::PATTERN}\z/o then BetaToken + when /\A#{RCToken::PATTERN}\z/o then RCToken + when /\A#{PreToken::PATTERN}\z/o then PreToken + when /\A#{PatchToken::PATTERN}\z/o then PatchToken + when /\A#{NumericToken::PATTERN}\z/o then NumericToken + when /\A#{StringToken::PATTERN}\z/o then StringToken + end.new(val) + end + + def self.from(val) + case val + when Token then val + when String then Token.create(val) + when Integer then Token.create(val.to_s) + when nil then NULL_TOKEN + else NULL_TOKEN if val.respond_to?(:null?) && val.null? + end + end + attr_reader :value def initialize(value) @@ -37,6 +61,8 @@ class Version end def <=>(other) + return unless other = Token.from(other) + case other when NullToken 0 @@ -64,6 +90,8 @@ class Version end def <=>(other) + return unless other = Token.from(other) + case other when StringToken value <=> other.value @@ -81,6 +109,8 @@ class Version end def <=>(other) + return unless other = Token.from(other) + case other when NumericToken value <=> other.value @@ -106,6 +136,8 @@ class Version PATTERN = /alpha[0-9]*|a[0-9]+/i.freeze def <=>(other) + return unless other = Token.from(other) + case other when AlphaToken rev <=> other.rev @@ -121,6 +153,8 @@ class Version PATTERN = /beta[0-9]*|b[0-9]+/i.freeze def <=>(other) + return unless other = Token.from(other) + case other when BetaToken rev <=> other.rev @@ -138,6 +172,8 @@ class Version PATTERN = /pre[0-9]*/i.freeze def <=>(other) + return unless other = Token.from(other) + case other when PreToken rev <=> other.rev @@ -155,6 +191,8 @@ class Version PATTERN = /rc[0-9]*/i.freeze def <=>(other) + return unless other = Token.from(other) + case other when RCToken rev <=> other.rev @@ -172,6 +210,8 @@ class Version PATTERN = /p[0-9]*/i.freeze def <=>(other) + return unless other = Token.from(other) + case other when PatchToken rev <=> other.rev @@ -261,7 +301,7 @@ class Version # e.g. foobar-4.5.1-1 # e.g. unrtf_0.20.4-1 # e.g. ruby-1.9.1-p243 - m = /[-_]((?:\d+\.)*\d+\.\d+-(?:p|rc|RC)?\d+)(?:[-._](?:bin|dist|stable|src|sources))?$/.match(stem) + m = /[-_]((?:\d+\.)*\d+\.\d+-(?:p|rc|RC)?\d+)(?:[-._](?i:bin|dist|stable|src|sources?|final|full))?$/.match(stem) return m.captures.first unless m.nil? # URL with no extension @@ -319,7 +359,7 @@ class Version return m.captures.first unless m.nil? # e.g. foobar-4.5.0-bin - m = /-((?:\d+\.)+\d+[abc]?)[-._](?:bin|dist|stable|src|sources?)$/.match(stem) + m = /[-vV]((?:\d+\.)+\d+[abc]?)[-._](?i:bin|dist|stable|src|sources?|final|full)$/.match(stem) return m.captures.first unless m.nil? # dash version style @@ -465,17 +505,7 @@ class Version end def tokenize - version.scan(SCAN_PATTERN).map! do |token| - case token - when /\A#{AlphaToken::PATTERN}\z/o then AlphaToken - when /\A#{BetaToken::PATTERN}\z/o then BetaToken - when /\A#{RCToken::PATTERN}\z/o then RCToken - when /\A#{PreToken::PATTERN}\z/o then PreToken - when /\A#{PatchToken::PATTERN}\z/o then PatchToken - when /\A#{NumericToken::PATTERN}\z/o then NumericToken - when /\A#{StringToken::PATTERN}\z/o then StringToken - end.new(token) - end + version.scan(SCAN_PATTERN).map { |token| Token.create(token) } end end diff --git a/bin/brew b/bin/brew index 7d4c6d28ec..1e01a22ce5 100755 --- a/bin/brew +++ b/bin/brew @@ -79,15 +79,14 @@ then export HOMEBREW_EDITOR="$VISUAL" fi -# Set CI variable for GitHub Actions, Azure Pipelines, Jenkins +# Set CI variable for Azure Pipelines and Jenkins # (Set by default on Circle and Travis CI) -if [[ -n "$GITHUB_ACTIONS" || -n "$TF_BUILD" || -n "$JENKINS_HOME" ]] +if [[ -z "$CI" ]] && [[ -n "$TF_BUILD" || -n "$JENKINS_HOME" ]] then export CI="1" fi -# test-bot does environment filtering itself -if [[ -z "$HOMEBREW_NO_ENV_FILTERING" && "$1" != "test-bot" ]] +if [[ -z "$HOMEBREW_NO_ENV_FILTERING" ]] then PATH="/usr/bin:/bin:/usr/sbin:/sbin" @@ -95,6 +94,8 @@ then # Filter all but the specific variables. for VAR in HOME SHELL PATH TERM TERMINFO COLUMNS DISPLAY LOGNAME USER CI SSH_AUTH_SOCK SUDO_ASKPASS \ http_proxy https_proxy ftp_proxy no_proxy all_proxy HTTPS_PROXY FTP_PROXY ALL_PROXY \ + GITHUB_ACTIONS GITHUB_ACTIONS_HOMEBREW_SELF_HOSTED \ + GITHUB_REPOSITORY GITHUB_RUN_ID GITHUB_SHA GITHUB_HEAD_REF GITHUB_BASE_REF GITHUB_REF \ "${!HOMEBREW_@}" do # Skip if variable value is empty. diff --git a/completions/bash/brew b/completions/bash/brew index 25014fe940..f4dba799d0 100644 --- a/completions/bash/brew +++ b/completions/bash/brew @@ -453,7 +453,7 @@ _brew_search() { local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in -*) - __brewcomp "--casks --debian --desc --fedora --fink --macports --opensuse --ubuntu" + __brewcomp "--cask --debian --desc --fedora --fink --macports --opensuse --ubuntu" return ;; esac @@ -876,7 +876,6 @@ _brew() { switch) _brew_switch ;; tap) _brew_tap ;; tap-info) _brew_tap_info ;; - tap-pin) __brew_complete_tapped ;; tap-new) _brew_tap_new ;; tap-unpin) _brew_tap_unpin ;; test) __brew_complete_installed ;; diff --git a/completions/fish/brew.fish b/completions/fish/brew.fish index aeb394daf5..ae1eb3ad8f 100644 --- a/completions/fish/brew.fish +++ b/completions/fish/brew.fish @@ -208,7 +208,7 @@ function __fish_brew_suggest_casks_outdated -d "Lists outdated casks with the in end function __fish_brew_suggest_casks_all -d "Lists locally available casks" - brew search --casks + brew search --cask end @@ -532,14 +532,6 @@ __fish_brew_complete_arg 'tap-info; and not __fish_brew_opt --installed' -l inst __fish_brew_complete_arg 'tap-info; and not __fish_brew_opt --json=v1' -l json=v1 -d "Format output in JSON format" -__fish_brew_complete_cmd 'tap-pin' "Prioritize tap's formulae over core" -__fish_brew_complete_arg 'tap-pin' -a '(__fish_brew_suggest_taps_installed)' - - -__fish_brew_complete_cmd 'tap-unpin' "Don't prioritize tap's formulae over core anymore" -__fish_brew_complete_arg 'tap-unpin' -a '(__fish_brew_suggest_taps_pinned)' - - __fish_brew_complete_cmd 'uninstall' "Uninstall formula" # FIXME: uninstall has a weird alias uninstal (with single l), probably it should also be supported __fish_brew_complete_arg 'uninstall remove rm' -a '(__fish_brew_suggest_formulae_installed)' diff --git a/completions/internal_commands_list.txt b/completions/internal_commands_list.txt index fe29d6ec39..474f832272 100644 --- a/completions/internal_commands_list.txt +++ b/completions/internal_commands_list.txt @@ -1,4 +1,5 @@ --cache +--caskroom --cellar --config --env diff --git a/completions/zsh/_brew b/completions/zsh/_brew index ff75d1ab09..742fda0c41 100644 --- a/completions/zsh/_brew +++ b/completions/zsh/_brew @@ -123,8 +123,6 @@ __brew_common_commands() { 'switch:switch between different versions of a formula' 'tap:tap a new formula repository from GitHub, or list existing taps' 'tap-info:information about a tap' - 'tap-pin:pin a tap' - 'tap-unpin:unpin a tap' 'test-bot:test a formula and build a bottle' 'uninstall:uninstall a formula' 'unlink:unlink a formula' @@ -679,11 +677,6 @@ _brew_tap_info() { '(--installed)*:taps:__brew_installed_taps' } -# brew tap-pin tap: -_brew_tap_pin() { - __brew_installed_taps -} - # brew tap_readme [-v] name: # TODO missing argument docs (verbose perhaps) _brew_tap_readme() { @@ -692,11 +685,6 @@ _brew_tap_readme() { ':name: ' } -# brew tap-unpin tap: -_brew_tap_unpin() { - __brew_pinned_taps -} - # brew test [--devel|--HEAD] [--debug] [--keep-tmp] formulae: _brew_test() { _arguments \ diff --git a/completions/zsh/_brew_cask b/completions/zsh/_brew_cask index 1a62163294..78bcbfb8f6 100644 --- a/completions/zsh/_brew_cask +++ b/completions/zsh/_brew_cask @@ -22,7 +22,7 @@ __brew_all_casks() { local comp_cachename=brew_casks if ! _retrieve_cache $comp_cachename; then - list=( $(brew search --casks) ) + list=( $(brew search --cask) ) _store_cache $comp_cachename list fi diff --git a/docs/Formula-Cookbook.md b/docs/Formula-Cookbook.md index 19f38b0a2e..bdc44a8e89 100644 --- a/docs/Formula-Cookbook.md +++ b/docs/Formula-Cookbook.md @@ -54,6 +54,7 @@ class Foo < Formula homepage "" url "https://example.com/foo-0.1.tar.gz" sha256 "85cc828a96735bdafcf29eb6291ca91bac846579bcef7308536e0c875d6c81d7" + license "" # depends_on "cmake" => :build @@ -86,6 +87,22 @@ An SSL/TLS (https) [`homepage`](https://rubydoc.brew.sh/Formula#homepage%3D-clas Try to summarise from the [`homepage`](https://rubydoc.brew.sh/Formula#homepage%3D-class_method) what the formula does in the [`desc`](https://rubydoc.brew.sh/Formula#desc%3D-class_method)ription. Note that the [`desc`](https://rubydoc.brew.sh/Formula#desc%3D-class_method)ription is automatically prepended with the formula name. +### Fill in the `license` + +**We don’t accept new formulae into Homebrew/homebrew-core without a [`license`](https://rubydoc.brew.sh/Formula#license-class_method)!** + +We only accept formulae that use a [Debian Free Software Guidelines license](https://wiki.debian.org/DFSGLicenses) or are released into the public domain following [DFSG Guidelines on Public Domain software](https://wiki.debian.org/DFSGLicenses#Public_Domain). + +Use the license identifier from the [SPDX License List](https://spdx.org/licenses/) e.g. `license "BSD-2-Clause"`, or use `license :public_domain` for public domain software. + +If the software is available under multiple licenses, you should list them all in an array: + +```ruby +license ["MIT", "GPL-2.0"] +``` + +Note: only specify multiple licenses if the formula gives the user a choice between the licenses. Formulae that have different licenses for different parts of their software should specify only the more restrictive license. For help determining which license is more restrictive, take a look [https://choosealicense.com](https://choosealicense.com/licenses/) or the [Comparison of free and open-source software licences Wikipedia page](https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licences). + ### Check the build system ```sh @@ -237,7 +254,7 @@ end [`jrnl`](https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/jrnl.rb) is an example of a formula that does this well. The end result means the user doesn't have to use `pip` or Python and can just run `jrnl`. -[homebrew-pypi-poet](https://github.com/tdsmith/homebrew-pypi-poet) can help you generate [`resource`](https://rubydoc.brew.sh/Formula#resource-class_method) stanzas for the dependencies of your Python application. +For Python formulae, running `brew update-python-resources ` will automatically add the necessary [`resource`](https://rubydoc.brew.sh/Formula#resource-class_method) stanzas for the dependencies of your Python application to the formula. Note that `brew update-python-resources` is run automatically by `brew create` if you pass the `--python` flag. If `brew update-python-resources` is unable to determine the correct `resource` stanzas, [homebrew-pypi-poet](https://github.com/tdsmith/homebrew-pypi-poet) is a good third-party alternative that may help. ### Install the formula diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index d42d49c71b..56227cfe0b 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -16,9 +16,9 @@ GEM colorator (1.1.0) commonmarker (0.17.13) ruby-enum (~> 0.5) - concurrent-ruby (1.1.6) - dnsruby (1.61.3) - addressable (~> 2.5) + concurrent-ruby (1.1.7) + dnsruby (1.61.4) + simpleidn (~> 0.1) em-websocket (0.5.1) eventmachine (>= 0.12.9) http_parser.rb (~> 0.6.0) @@ -31,9 +31,9 @@ GEM ffi (1.13.1) forwardable-extended (2.6.0) gemoji (3.0.1) - github-pages (206) + github-pages (207) github-pages-health-check (= 1.16.1) - jekyll (= 3.8.7) + jekyll (= 3.9.0) jekyll-avatar (= 0.7.0) jekyll-coffeescript (= 1.1.1) jekyll-commonmark-ghpages (= 0.1.6) @@ -67,7 +67,8 @@ GEM jekyll-theme-time-machine (= 0.1.1) jekyll-titles-from-headings (= 0.5.3) jemoji (= 0.11.1) - kramdown (= 1.17.0) + kramdown (= 2.3.0) + kramdown-parser-gfm (= 1.1.0) liquid (= 4.0.3) mercenary (~> 0.3) minima (= 2.5.1) @@ -94,14 +95,14 @@ GEM http_parser.rb (0.6.0) i18n (0.9.5) concurrent-ruby (~> 1.0) - jekyll (3.8.7) + jekyll (3.9.0) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) i18n (~> 0.7) jekyll-sass-converter (~> 1.0) jekyll-watch (~> 2.0) - kramdown (~> 1.14) + kramdown (>= 1.17, < 3) liquid (~> 4.0) mercenary (~> 0.3.3) pathutil (~> 0.9) @@ -199,7 +200,10 @@ GEM gemoji (~> 3.0) html-pipeline (~> 2.2) jekyll (>= 3.0, < 5.0) - kramdown (1.17.0) + kramdown (2.3.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) liquid (4.0.3) listen (3.2.1) rb-fsevent (~> 0.10, >= 0.10.3) @@ -228,6 +232,7 @@ GEM rb-fsevent (0.10.4) rb-inotify (0.10.1) ffi (~> 1.0) + rexml (3.2.4) rouge (3.19.0) ruby-enum (0.8.0) i18n @@ -241,6 +246,8 @@ GEM sawyer (0.8.2) addressable (>= 2.3.5) faraday (> 0.8, < 2.0) + simpleidn (0.1.1) + unf (~> 0.1.4) terminal-table (1.8.0) unicode-display_width (~> 1.1, >= 1.1.1) thread_safe (0.3.6) @@ -248,6 +255,9 @@ GEM ethon (>= 0.9.0) tzinfo (1.2.7) thread_safe (~> 0.1) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) unicode-display_width (1.7.0) yell (2.2.2) zeitwerk (2.4.0) diff --git a/docs/Manpage.md b/docs/Manpage.md index dbcf6fa4e7..eb7603dba3 100644 --- a/docs/Manpage.md +++ b/docs/Manpage.md @@ -274,9 +274,9 @@ automatically when you install formulae but can be useful for DIY installations. * `-f`, `--force`: Allow keg-only formulae to be linked. -### `list`, `ls` [*`options`*] [*`formula`*] +### `list`, `ls` [*`options`*] [*`formula|cask`*] -List all installed formulae. +List all installed formulae or casks If *`formula`* is provided, summarise the paths within its current keg. @@ -290,8 +290,10 @@ If *`formula`* is provided, summarise the paths within its current keg. Only show formulae with multiple versions installed. * `--pinned`: Show the versions of pinned formulae, or only the specified (pinned) formulae if *`formula`* are provided. See also `pin`, `unpin`. +* `--formula`: + List only formulae. * `--cask`: - List casks + List only casks. * `-1`: Force output to be one entry per line. This is the default when output is not to a terminal. * `-l`: @@ -347,26 +349,26 @@ Show install options specific to *`formula`*. * `--command`: Show options for the specified *`command`*. -### `outdated` [*`options`*] [*`formula`*] +### `outdated` [*`options`*] [*`formula`*|*`cask`*] -List installed formulae that have an updated version available. By default, -version information is displayed in interactive shells, and suppressed +List installed casks and formulae that have an updated version available. By +default, version information is displayed in interactive shells, and suppressed otherwise. * `-q`, `--quiet`: List only the names of outdated kegs (takes precedence over `--verbose`). * `-v`, `--verbose`: Include detailed version information. +* `--formula`: + Only output outdated formulae. +* `--cask`: + Only output outdated casks. * `--json`: Print output in JSON format. There are two versions: v1 and v2. v1 is deprecated and is currently the default if no version is specified. v2 prints outdated formulae and casks. * `--fetch-HEAD`: Fetch the upstream repository to detect if the HEAD installation of the formula is outdated. Otherwise, the repository's HEAD will only be checked for updates when a new stable or development version has been released. * `--greedy`: Print outdated casks with `auto_updates` or `version :latest`. -* `--formula`: - Treat all arguments as formulae. -* `--cask`: - Treat all arguments as casks. ### `pin` *`formula`* @@ -423,9 +425,9 @@ search for *`text`* is extended online to `homebrew/core` and `homebrew/cask`. If no *`text`* is provided, list all locally available formulae (including tapped ones). No online search is performed. -* `--formulae`: +* `--formula`: Without *`text`*, list all locally available formulae (no online search is performed). With *`text`*, search online and locally for formulae. -* `--casks`: +* `--cask`: Without *`text`*, list all locally available casks (including tapped ones, no online search is performed). With *`text`*, search online and locally for casks. * `--desc`: Search for formulae with a description matching *`text`* and casks with a name matching *`text`*. @@ -536,18 +538,22 @@ Fetch and reset Homebrew and all tap repositories (or any specified *`repository *Note:* this will destroy all your uncommitted or committed changes. -### `upgrade` [*`options`*] [*`formula`*] +### `upgrade` [*`options`*] [*`formula`*|*`cask`*] -Upgrade outdated, unpinned formulae using the same options they were originally -installed with, plus any appended brew formula options. If *`formula`* are -specified, upgrade only the given *`formula`* kegs (unless they are pinned; see -`pin`, `unpin`). +Upgrade outdated casks and outdated, unpinned formulae using the same options +they were originally installed with, plus any appended brew formula options. If +*`cask`* or *`formula`* are specified, upgrade only the given *`cask`* or *`formula`* +kegs (unless they are pinned; see `pin`, `unpin`). Unless `HOMEBREW_NO_INSTALL_CLEANUP` is set, `brew cleanup` will then be run for the upgraded formulae or, every 30 days, for all formulae. * `-d`, `--debug`: If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory. +* `--formula`: + Only upgrade outdated formulae. +* `--cask`: + Only upgrade outdated casks. * `-s`, `--build-from-source`: Compile *`formula`* from source even if a bottle is available. * `-i`, `--interactive`: @@ -595,7 +601,7 @@ formulae that use *`formula`*. By default, `uses` shows all formulae that specif * `--HEAD`: Show usage of *`formula`* by HEAD builds. -### `--cache` [*`options`*] [*`formula`*] +### `--cache` [*`options`*] [*`formula|cask`*] Display Homebrew's download cache. See also `HOMEBREW_CACHE`. @@ -610,6 +616,13 @@ If *`formula`* is provided, display the file or directory used to cache *`formul * `--cask`: Only show cache files for casks. +### `--caskroom` [*`cask`*] + +Display Homebrew's Caskroom path. + +If *`cask`* is provided, display the location in the Caskroom where *`cask`* would +be installed, without any sort of versioned directory as the last path. + ### `--cellar` [*`formula`*] Display Homebrew's Cellar path. *Default:* `$(brew --prefix)/Cellar`, or if that @@ -667,6 +680,8 @@ any errors are found. Run additional, slower style checks that require a network connection. * `--new-formula`: Run various additional style checks to determine if a new formula is eligible for Homebrew. This should be used when creating new formula and implies `--strict` and `--online`. +* `--tap`: + Check the formulae within the given tap, specified as *`user`*`/`*`repo`*. * `--fix`: Fix style violations automatically using RuboCop's auto-correct feature. * `--display-cop-names`: @@ -674,7 +689,7 @@ any errors are found. * `--display-filename`: Prefix every line of output with the file or formula name being audited, to make output easy to grep. * `--skip-style`: - Skip running non-RuboCop style checks. Useful if you plan on running `brew style` separately. + Skip running non-RuboCop style checks. Useful if you plan on running `brew style` separately. Default unless a formula is specified by name * `-D`, `--audit-debug`: Enable debugging and profiling of audit methods. * `--only`: @@ -976,7 +991,7 @@ Apply the bottle commit and publish bottles to Bintray. * `--root-url`: Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default. -### `prof` *`command`* +### `prof` [*`command`*] Run Homebrew with the Ruby profiler, e.g. `brew prof readall`. @@ -1214,11 +1229,11 @@ flags which will help find keg-only dependencies like `openssl`, `icu4c`, etc. `install` won't output a `Brewfile.lock.json`. * `--all`: `list` all dependencies. -* `--brews`: +* `--formula`: `list` Homebrew dependencies. -* `--casks`: +* `--cask`: `list` Homebrew Cask dependencies. -* `--taps`: +* `--tap`: `list` tap dependencies. * `--mas`: `list` Mac App Store dependencies. @@ -1401,6 +1416,9 @@ Note that environment variables must have a value set to be detected. For exampl *Default:* macOS: `$HOME/Library/Caches/Homebrew`, Linux: `$XDG_CACHE_HOME/Homebrew` or `$HOME/.cache/Homebrew`. + * `HOMEBREW_CASK_OPTS`: + Options which should be used for all `cask` commands. + * `HOMEBREW_CLEANUP_MAX_AGE_DAYS`: Cleanup all cached files older than this many days. diff --git a/docs/Python-for-Formula-Authors.md b/docs/Python-for-Formula-Authors.md index 022f2b827e..04dd8039f0 100644 --- a/docs/Python-for-Formula-Authors.md +++ b/docs/Python-for-Formula-Authors.md @@ -26,7 +26,9 @@ Applications should be installed into a Python [virtualenv](https://virtualenv.p All of the Python module dependencies of the application (and their dependencies, recursively) should be declared as `resource`s in the formula and installed into the virtualenv, as well. Each dependency should be explicitly specified; please do not rely on `setup.py` or `pip` to perform automatic dependency resolution, for the [reasons described here](Acceptable-Formulae.md#we-dont-like-install-scripts-that-download-unversioned-things). -You can use [homebrew-pypi-poet](https://pypi.python.org/pypi/homebrew-pypi-poet) to help you write resource stanzas. To use it, set up a virtualenv and install your package and all its dependencies. Then, `pip install homebrew-pypi-poet` into the same virtualenv. Running `poet some_package` will generate the necessary resource stanzas. You can do this like: +You can use `brew update-python-resources` to help you write resource stanzas. To use it, simply run `brew update-python-resources `. Sometimes, `brew update-python-resources` won't be able to automatically update the resources. If this happens, try running `brew update-python-resources --print-only ` to print the resource stanzas instead of applying the changes directly to the file. You can then copy and paste resources as needed. + +If using `brew update-python-resources` doesn't work, you can use [homebrew-pypi-poet](https://pypi.python.org/pypi/homebrew-pypi-poet) to help you write resource stanzas. To use it, set up a virtualenv and install your package and all its dependencies. Then, `pip install homebrew-pypi-poet` into the same virtualenv. Running `poet some_package` will generate the necessary resource stanzas. You can do this like: ```sh # Install virtualenvwrapper diff --git a/manpages/brew-cask.1 b/manpages/brew-cask.1 index f00c80f3ed..f35a505d79 100644 --- a/manpages/brew-cask.1 +++ b/manpages/brew-cask.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW\-CASK" "1" "July 2020" "Homebrew" "brew-cask" +.TH "BREW\-CASK" "1" "August 2020" "Homebrew" "brew-cask" . .SH "NAME" \fBbrew\-cask\fR \- a friendly binary installer for macOS diff --git a/manpages/brew.1 b/manpages/brew.1 index cb97a2266f..bc58bdc536 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -1,7 +1,7 @@ .\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "BREW" "1" "July 2020" "Homebrew" "brew" +.TH "BREW" "1" "August 2020" "Homebrew" "brew" . .SH "NAME" \fBbrew\fR \- The Missing Package Manager for macOS @@ -366,8 +366,8 @@ List files which would be linked or deleted by \fBbrew link \-\-overwrite\fR wit \fB\-f\fR, \fB\-\-force\fR Allow keg\-only formulae to be linked\. . -.SS "\fBlist\fR, \fBls\fR [\fIoptions\fR] [\fIformula\fR]" -List all installed formulae\. +.SS "\fBlist\fR, \fBls\fR [\fIoptions\fR] [\fIformula|cask\fR]" +List all installed formulae or casks . .P If \fIformula\fR is provided, summarise the paths within its current keg\. @@ -393,8 +393,12 @@ Only show formulae with multiple versions installed\. Show the versions of pinned formulae, or only the specified (pinned) formulae if \fIformula\fR are provided\. See also \fBpin\fR, \fBunpin\fR\. . .TP +\fB\-\-formula\fR +List only formulae\. +. +.TP \fB\-\-cask\fR -List casks +List only casks\. . .TP \fB\-1\fR @@ -468,8 +472,8 @@ Show options for all available formulae\. \fB\-\-command\fR Show options for the specified \fIcommand\fR\. . -.SS "\fBoutdated\fR [\fIoptions\fR] [\fIformula\fR]" -List installed formulae that have an updated version available\. By default, version information is displayed in interactive shells, and suppressed otherwise\. +.SS "\fBoutdated\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR]" +List installed casks and formulae that have an updated version available\. By default, version information is displayed in interactive shells, and suppressed otherwise\. . .TP \fB\-q\fR, \fB\-\-quiet\fR @@ -480,6 +484,14 @@ List only the names of outdated kegs (takes precedence over \fB\-\-verbose\fR)\. Include detailed version information\. . .TP +\fB\-\-formula\fR +Only output outdated formulae\. +. +.TP +\fB\-\-cask\fR +Only output outdated casks\. +. +.TP \fB\-\-json\fR Print output in JSON format\. There are two versions: v1 and v2\. v1 is deprecated and is currently the default if no version is specified\. v2 prints outdated formulae and casks\. . @@ -491,14 +503,6 @@ Fetch the upstream repository to detect if the HEAD installation of the formula \fB\-\-greedy\fR Print outdated casks with \fBauto_updates\fR or \fBversion :latest\fR\. . -.TP -\fB\-\-formula\fR -Treat all arguments as formulae\. -. -.TP -\fB\-\-cask\fR -Treat all arguments as casks\. -. .SS "\fBpin\fR \fIformula\fR" Pin the specified \fIformula\fR, preventing them from being upgraded when issuing the \fBbrew upgrade\fR \fIformula\fR command\. See also \fBunpin\fR\. . @@ -561,11 +565,11 @@ Perform a substring search of cask tokens and formula names for \fItext\fR\. If If no \fItext\fR is provided, list all locally available formulae (including tapped ones)\. No online search is performed\. . .TP -\fB\-\-formulae\fR +\fB\-\-formula\fR Without \fItext\fR, list all locally available formulae (no online search is performed)\. With \fItext\fR, search online and locally for formulae\. . .TP -\fB\-\-casks\fR +\fB\-\-cask\fR Without \fItext\fR, list all locally available casks (including tapped ones, no online search is performed)\. With \fItext\fR, search online and locally for casks\. . .TP @@ -696,8 +700,8 @@ Fetch and reset Homebrew and all tap repositories (or any specified \fIrepositor .P \fINote:\fR this will destroy all your uncommitted or committed changes\. . -.SS "\fBupgrade\fR [\fIoptions\fR] [\fIformula\fR]" -Upgrade outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options\. If \fIformula\fR are specified, upgrade only the given \fIformula\fR kegs (unless they are pinned; see \fBpin\fR, \fBunpin\fR)\. +.SS "\fBupgrade\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR]" +Upgrade outdated casks and outdated, unpinned formulae using the same options they were originally installed with, plus any appended brew formula options\. If \fIcask\fR or \fIformula\fR are specified, upgrade only the given \fIcask\fR or \fIformula\fR kegs (unless they are pinned; see \fBpin\fR, \fBunpin\fR)\. . .P Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is set, \fBbrew cleanup\fR will then be run for the upgraded formulae or, every 30 days, for all formulae\. @@ -707,6 +711,14 @@ Unless \fBHOMEBREW_NO_INSTALL_CLEANUP\fR is set, \fBbrew cleanup\fR will then be If brewing fails, open an interactive debugging session with access to IRB or a shell inside the temporary build directory\. . .TP +\fB\-\-formula\fR +Only upgrade outdated formulae\. +. +.TP +\fB\-\-cask\fR +Only upgrade outdated casks\. +. +.TP \fB\-s\fR, \fB\-\-build\-from\-source\fR Compile \fIformula\fR from source even if a bottle is available\. . @@ -785,7 +797,7 @@ Show usage of \fIformula\fR by development builds\. \fB\-\-HEAD\fR Show usage of \fIformula\fR by HEAD builds\. . -.SS "\fB\-\-cache\fR [\fIoptions\fR] [\fIformula\fR]" +.SS "\fB\-\-cache\fR [\fIoptions\fR] [\fIformula|cask\fR]" Display Homebrew\'s download cache\. See also \fBHOMEBREW_CACHE\fR\. . .P @@ -807,6 +819,12 @@ Only show cache files for formulae\. \fB\-\-cask\fR Only show cache files for casks\. . +.SS "\fB\-\-caskroom\fR [\fIcask\fR]" +Display Homebrew\'s Caskroom path\. +. +.P +If \fIcask\fR is provided, display the location in the Caskroom where \fIcask\fR would be installed, without any sort of versioned directory as the last path\. +. .SS "\fB\-\-cellar\fR [\fIformula\fR]" Display Homebrew\'s Cellar path\. \fIDefault:\fR \fB$(brew \-\-prefix)/Cellar\fR, or if that directory doesn\'t exist, \fB$(brew \-\-repository)/Cellar\fR\. . @@ -864,6 +882,10 @@ Run additional, slower style checks that require a network connection\. Run various additional style checks to determine if a new formula is eligible for Homebrew\. This should be used when creating new formula and implies \fB\-\-strict\fR and \fB\-\-online\fR\. . .TP +\fB\-\-tap\fR +Check the formulae within the given tap, specified as \fIuser\fR\fB/\fR\fIrepo\fR\. +. +.TP \fB\-\-fix\fR Fix style violations automatically using RuboCop\'s auto\-correct feature\. . @@ -877,7 +899,7 @@ Prefix every line of output with the file or formula name being audited, to make . .TP \fB\-\-skip\-style\fR -Skip running non\-RuboCop style checks\. Useful if you plan on running \fBbrew style\fR separately\. +Skip running non\-RuboCop style checks\. Useful if you plan on running \fBbrew style\fR separately\. Default unless a formula is specified by name . .TP \fB\-D\fR, \fB\-\-audit\-debug\fR @@ -1296,7 +1318,7 @@ Upload to the specified Bintray organisation (default: \fBhomebrew\fR)\. \fB\-\-root\-url\fR Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\. . -.SS "\fBprof\fR \fIcommand\fR" +.SS "\fBprof\fR [\fIcommand\fR]" Run Homebrew with the Ruby profiler, e\.g\. \fBbrew prof readall\fR\. . .SS "\fBrelease\-notes\fR [\fIoptions\fR] [\fIprevious_tag\fR] [\fIend_ref\fR]" @@ -1574,15 +1596,15 @@ Read the \fBBrewfile\fR from \fB~/\.Brewfile\fR\. \fBlist\fR all dependencies\. . .TP -\fB\-\-brews\fR +\fB\-\-formula\fR \fBlist\fR Homebrew dependencies\. . .TP -\fB\-\-casks\fR +\fB\-\-cask\fR \fBlist\fR Homebrew Cask dependencies\. . .TP -\fB\-\-taps\fR +\fB\-\-tap\fR \fBlist\fR tap dependencies\. . .TP @@ -1823,6 +1845,10 @@ Use the specified directory as the download cache\. \fIDefault:\fR macOS: \fB$HOME/Library/Caches/Homebrew\fR, Linux: \fB$XDG_CACHE_HOME/Homebrew\fR or \fB$HOME/\.cache/Homebrew\fR\. . .TP +\fBHOMEBREW_CASK_OPTS\fR +Options which should be used for all \fBcask\fR commands\. +. +.TP \fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fR Cleanup all cached files older than this many days\. .