diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 81954f26..571e146b 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -49,7 +49,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' bundler-cache: true diff --git a/.github/workflows/rails-main.yml b/.github/workflows/rails-main.yml index 3f5a2026..6718eb76 100644 --- a/.github/workflows/rails-main.yml +++ b/.github/workflows/rails-main.yml @@ -23,7 +23,7 @@ jobs: run: rm -f Gemfile.lock .ruby-version - name: Setup Ruby 4.0.1 - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '4.0.1' bundler-cache: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 84d71126..2880235b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -114,7 +114,7 @@ jobs: # No bundler cache in release jobs: a cache is shared with other runs, and gem build needs no bundle - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' @@ -171,7 +171,7 @@ jobs: name: gem - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: ruby @@ -196,7 +196,7 @@ jobs: # No bundler cache in release jobs: a cache is shared with other runs - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0d4744c9..1d589242 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,7 +20,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' # Install all gems (both test and development) @@ -107,7 +107,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' bundler-cache: true @@ -134,7 +134,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' bundler-cache: true @@ -183,7 +183,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' bundler-cache: true @@ -242,7 +242,7 @@ jobs: run: rm -f Gemfile.lock - name: Setup Ruby 4.0.1 - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '4.0.1' bundler-cache: true @@ -325,7 +325,7 @@ jobs: run: rm -f Gemfile.lock - name: Setup Ruby ${{ matrix.ruby }} - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true @@ -346,7 +346,7 @@ jobs: persist-credentials: false - name: Setup Ruby - uses: ruby/setup-ruby@7f797815d8adceb1c412e7abefdd1ab4abc47a5f # v1.335.0 + uses: ruby/setup-ruby@de492cf36cbab201753d720ce4f4e336cd688c94 # v1.336.0 with: ruby-version: '.ruby-version' diff --git a/CHANGELOG.md b/CHANGELOG.md index ebd0ea92..95f91271 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- **Development**: The tests run against Sentry 7, Honeybadger 6 and Sidekiq 8. Development uses Rails 8.1, and the Rails 8.1 test apps no longer pin `json` below 3, because ActiveSupport 8.1 dropped the `quirks_mode` option that json 3 rejects. +- **Development**: Update SimpleCov to 1.3, jscpd to 5.4, and the docs site to Next.js 16.4.3, TypeScript 6 and lucide-react 1.66. + ## [0.4.0] - 2026-11-06 ### Changed diff --git a/Gemfile b/Gemfile index 5ce2befb..8c4ad404 100644 --- a/Gemfile +++ b/Gemfile @@ -15,7 +15,7 @@ end # Use a stable Rails for gem development/test environment. # Rails version for the generated test app is controlled by RAILS_VERSION in rails_tests. -gem "rails", "~> 8.0.5", require: false +gem "rails", "~> 8.1.4", require: false # Add these gems to silence Ruby 3.4+ warnings gem "bigdecimal" @@ -24,10 +24,6 @@ gem "mutex_m" gem "openssl" # For tapioca SSL certificate verification gem "ostruct" # For Ruby 3.5+ compatibility -# ActiveSupport 8.0's JSON encoder passes quirks_mode to JSON.generate, which json 3 rejects -# (fixed on Rails main). rails_test_app/create_app.rb pins it for the test apps too. -gem "json", "< 3" - # Sorbet is needed for development gem "sorbet", "~> 0.5" gem "sorbet-typescript" @@ -38,7 +34,7 @@ group :test do gem "bundler-audit", require: false gem "minitest", "~> 5.20" gem "minitest-reporters", "~> 1.6" - gem "simplecov", "~> 0.22", require: false + gem "simplecov", "~> 1.3", require: false gem "simplecov-json", "~> 0.2", require: false gem "climate_control", "~> 1.2" gem "thor" diff --git a/Gemfile.lock b/Gemfile.lock index 32905bb0..01457bff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -13,29 +13,31 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (8.0.5.2) - actionpack (= 8.0.5.2) - activesupport (= 8.0.5.2) + action_text-trix (2.1.19) + railties + actioncable (8.1.4.1) + actionpack (= 8.1.4.1) + activesupport (= 8.1.4.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) zeitwerk (~> 2.6) - actionmailbox (8.0.5.2) - actionpack (= 8.0.5.2) - activejob (= 8.0.5.2) - activerecord (= 8.0.5.2) - activestorage (= 8.0.5.2) - activesupport (= 8.0.5.2) + actionmailbox (8.1.4.1) + actionpack (= 8.1.4.1) + activejob (= 8.1.4.1) + activerecord (= 8.1.4.1) + activestorage (= 8.1.4.1) + activesupport (= 8.1.4.1) mail (>= 2.8.0) - actionmailer (8.0.5.2) - actionpack (= 8.0.5.2) - actionview (= 8.0.5.2) - activejob (= 8.0.5.2) - activesupport (= 8.0.5.2) + actionmailer (8.1.4.1) + actionpack (= 8.1.4.1) + actionview (= 8.1.4.1) + activejob (= 8.1.4.1) + activesupport (= 8.1.4.1) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.5.2) - actionview (= 8.0.5.2) - activesupport (= 8.0.5.2) + actionpack (8.1.4.1) + actionview (= 8.1.4.1) + activesupport (= 8.1.4.1) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -43,15 +45,16 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actiontext (8.0.5.2) - actionpack (= 8.0.5.2) - activerecord (= 8.0.5.2) - activestorage (= 8.0.5.2) - activesupport (= 8.0.5.2) + actiontext (8.1.4.1) + action_text-trix (~> 2.1.15) + actionpack (= 8.1.4.1) + activerecord (= 8.1.4.1) + activestorage (= 8.1.4.1) + activesupport (= 8.1.4.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (8.0.5.2) - activesupport (= 8.0.5.2) + actionview (8.1.4.1) + activesupport (= 8.1.4.1) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -61,29 +64,29 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (8.0.5.2) - activesupport (= 8.0.5.2) + activejob (8.1.4.1) + activesupport (= 8.1.4.1) globalid (>= 0.3.6) - activemodel (8.0.5.2) - activesupport (= 8.0.5.2) - activerecord (8.0.5.2) - activemodel (= 8.0.5.2) - activesupport (= 8.0.5.2) + activemodel (8.1.4.1) + activesupport (= 8.1.4.1) + activerecord (8.1.4.1) + activemodel (= 8.1.4.1) + activesupport (= 8.1.4.1) timeout (>= 0.4.0) - activestorage (8.0.5.2) - actionpack (= 8.0.5.2) - activejob (= 8.0.5.2) - activerecord (= 8.0.5.2) - activesupport (= 8.0.5.2) + activestorage (8.1.4.1) + actionpack (= 8.1.4.1) + activejob (= 8.1.4.1) + activerecord (= 8.1.4.1) + activesupport (= 8.1.4.1) marcel (~> 1.0) - activesupport (8.0.5.2) + activesupport (8.1.4.1) base64 - benchmark (>= 0.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.3.1) connection_pool (>= 2.2.5) drb i18n (>= 1.6, < 2) + json logger (>= 1.4.2) minitest (>= 5.1) securerandom (>= 0.3) @@ -134,7 +137,6 @@ GEM reline (>= 0.3.8) device_detector (1.1.3) diff-lcs (1.6.2) - docile (1.4.1) dotenv (3.2.0) dotenv-rails (3.2.0) dotenv (= 3.2.0) @@ -155,7 +157,7 @@ GEM activesupport (>= 6.1) hana (1.3.7) highline (3.0.1) - honeybadger (5.30.0) + honeybadger (6.10.1) logger ostruct i18n (1.15.2) @@ -168,7 +170,7 @@ GEM rdoc (>= 4.0.0) reline (>= 0.4.2) jaro_winkler (1.7.0) - json (2.21.2) + json (3.1.0) json_schemer (2.5.0) bigdecimal hana (~> 1.3) @@ -263,20 +265,20 @@ GEM rack (>= 1.3) rackup (2.3.1) rack (>= 3) - rails (8.0.5.2) - actioncable (= 8.0.5.2) - actionmailbox (= 8.0.5.2) - actionmailer (= 8.0.5.2) - actionpack (= 8.0.5.2) - actiontext (= 8.0.5.2) - actionview (= 8.0.5.2) - activejob (= 8.0.5.2) - activemodel (= 8.0.5.2) - activerecord (= 8.0.5.2) - activestorage (= 8.0.5.2) - activesupport (= 8.0.5.2) + rails (8.1.4.1) + actioncable (= 8.1.4.1) + actionmailbox (= 8.1.4.1) + actionmailer (= 8.1.4.1) + actionpack (= 8.1.4.1) + actiontext (= 8.1.4.1) + actionview (= 8.1.4.1) + activejob (= 8.1.4.1) + activemodel (= 8.1.4.1) + activerecord (= 8.1.4.1) + activestorage (= 8.1.4.1) + activesupport (= 8.1.4.1) bundler (>= 1.15.0) - railties (= 8.0.5.2) + railties (= 8.1.4.1) rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest @@ -284,9 +286,9 @@ GEM rails-html-sanitizer (1.7.2) loofah (~> 2.25, >= 2.25.3) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - railties (8.0.5.2) - actionpack (= 8.0.5.2) - activesupport (= 8.0.5.2) + railties (8.1.4.1) + actionpack (= 8.1.4.1) + activesupport (= 8.1.4.1) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -365,27 +367,23 @@ GEM securerandom (0.4.1) semantic_logger (4.18.0) concurrent-ruby (~> 1.0) - sentry-ruby (5.28.1) + sentry-ruby (7.2.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) + logger shrine (3.10.2) content_disposition (~> 1.0) down (~> 5.1) - sidekiq (7.3.9) - base64 - connection_pool (>= 2.3.0) - logger - rack (>= 2.2.4) - redis-client (>= 0.22.2) - simplecov (0.22.0) - docile (~> 1.1) - simplecov-html (~> 0.11) - simplecov_json_formatter (~> 0.1) - simplecov-html (0.13.2) + sidekiq (8.1.7) + connection_pool (>= 3.0.0) + json (>= 2.16.0) + logger (>= 1.7.0) + rack (>= 3.2.0) + redis-client (>= 0.29.0) + simplecov (1.3.2) simplecov-json (0.2.3) json simplecov - simplecov_json_formatter (0.1.4) simpleidn (0.3.0) solargraph (0.62.1) ast (~> 2.4.3) @@ -514,8 +512,7 @@ DEPENDENCIES debug dotenv-rails (~> 3.1) drb - honeybadger (~> 5.4) - json (< 3) + honeybadger (~> 6.10) json_schemer listen logstruct! @@ -524,7 +521,7 @@ DEPENDENCIES mutex_m openssl ostruct - rails (~> 8.0.5) + rails (~> 8.1.4) redcarpet rollbar (~> 3.4) rubocop @@ -532,10 +529,10 @@ DEPENDENCIES rubocop-minitest rubocop-performance rubocop-sorbet - sentry-ruby (~> 5.15) + sentry-ruby (~> 7.2) shrine (~> 3.5) - sidekiq (~> 7.2) - simplecov (~> 0.22) + sidekiq (~> 8.1) + simplecov (~> 1.3) simplecov-json (~> 0.2) solargraph sorbet (~> 0.5) diff --git a/Taskfile.yml b/Taskfile.yml index 1bf4c08f..efee5625 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -45,7 +45,7 @@ tasks: desc: Detect copy/paste duplication deps: [prettier:deps] cmds: - - pnpm exec jscpd . --exitCode 1 + - pnpm exec jscpd . test: desc: Run Ruby unit tests, Rails integration tests, and merge coverage diff --git a/docs/app/docs/integrations/sidekiq/page.tsx b/docs/app/docs/integrations/sidekiq/page.tsx index 20f5de91..b8321d87 100644 --- a/docs/app/docs/integrations/sidekiq/page.tsx +++ b/docs/app/docs/integrations/sidekiq/page.tsx @@ -276,8 +276,8 @@ export default function SidekiqIntegrationPage() { Sidekiq versions Settings diff --git a/docs/biome.json b/docs/biome.json index d7f48222..604526c9 100644 --- a/docs/biome.json +++ b/docs/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.5.15/schema.json", + "$schema": "https://biomejs.dev/schemas/2.6.4/schema.json", "vcs": { "enabled": true, "clientKind": "git", diff --git a/docs/components/github-status.tsx b/docs/components/github-status.tsx index 96f41ec9..f680508e 100644 --- a/docs/components/github-status.tsx +++ b/docs/components/github-status.tsx @@ -1,6 +1,6 @@ 'use client'; -import { Github, Loader2 } from 'lucide-react'; +import { Loader2, Workflow } from 'lucide-react'; import { useEffect, useState } from 'react'; type WorkflowStatus = { @@ -120,7 +120,7 @@ export function GitHubStatus() { >
- +

Build Status

diff --git a/docs/package.json b/docs/package.json index fb37084a..91e48b46 100644 --- a/docs/package.json +++ b/docs/package.json @@ -29,8 +29,8 @@ "@types/react-syntax-highlighter": "^15.5.13", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", - "lucide-react": "^0.544.0", - "next": "16.4.1", + "lucide-react": "^1.66.0", + "next": "16.4.3", "next-themes": "^0.4.6", "react": "^19.3.1", "react-dom": "^19.3.1", @@ -54,7 +54,7 @@ "tailwindcss": "^4.3.3", "ts-jest": "^29.4.15", "ts-node": "^10.9.2", - "typescript": "^5.9.3" + "typescript": "^6.0.3" }, "overrides": { "react-is": "^19.0.0-rc-69d4b800-20241021", diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml index caa9b2a1..b1ae495d 100644 --- a/docs/pnpm-lock.yaml +++ b/docs/pnpm-lock.yaml @@ -41,11 +41,11 @@ importers: specifier: ^2.1.1 version: 2.1.1 lucide-react: - specifier: ^0.544.0 - version: 0.544.0(react@19.3.1) + specifier: ^1.66.0 + version: 1.66.0(@types/react@19.3.0)(react@19.3.1) next: - specifier: 16.4.1 - version: 16.4.1(@babel/core@7.29.7)(@playwright/test@1.64.1)(@types/node@22.20.5)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) + specifier: 16.4.3 + version: 16.4.3(@babel/core@7.29.7)(@playwright/test@1.64.1)(@types/node@22.20.5)(react-dom@19.3.1(react@19.3.1))(react@19.3.1) next-themes: specifier: ^0.4.6 version: 0.4.6(react-dom@19.3.1(react@19.3.1))(react@19.3.1) @@ -94,7 +94,7 @@ importers: version: 19.3.0(@types/react@19.3.0) jest: specifier: ^30.5.2 - version: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + version: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) jest-environment-jsdom: specifier: ^30.5.2 version: 30.5.2 @@ -106,13 +106,13 @@ importers: version: 4.3.3 ts-jest: specifier: ^29.4.15 - version: 29.4.15(@babel/core@7.29.7)(@jest/transform@30.5.2)(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7))(jest-util@30.5.1)(jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)))(typescript@5.9.3) + version: 29.4.15(@babel/core@7.29.7)(@jest/transform@30.5.2)(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7))(jest-util@30.5.1)(jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)))(typescript@6.0.3) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.20.5)(typescript@5.9.3) + version: 10.9.2(@types/node@22.20.5)(typescript@6.0.3) typescript: - specifier: ^5.9.3 - version: 5.9.3 + specifier: ^6.0.3 + version: 6.0.3 packages: @@ -712,57 +712,57 @@ packages: '@emnapi/core': ^1.7.1 || 2.0.0-beta.2 '@emnapi/runtime': ^1.7.1 || 2.0.0-beta.2 - '@next/env@16.4.1': - resolution: {integrity: sha512-5sUUrrSvs/2/2LnLoesybMGx12EtPB46fdZ6RhAw0XDGSPxU2LFyQBB7yuEiOFFJPKmBY6+q2jTr1/AMbnp0/g==} + '@next/env@16.4.3': + resolution: {integrity: sha512-a7tz1QCcWWkwC/rPJcPMJk/UNRu9CFhDd3OHYE5hddbJrs8BqRTalxI6GlKCWEGzRLHN+S/B7a4PAHCtm25aBQ==} - '@next/swc-darwin-arm64@16.4.1': - resolution: {integrity: sha512-U+hQ5Gj3fpzf4fveTIF3dpUFYhaSW8vHhdAnbiIomzXzg7boreYFgBqprepXFtW4sw+aTttiNmg0gew/iFNhbg==} + '@next/swc-darwin-arm64@16.4.3': + resolution: {integrity: sha512-4yq5EXBt+VDtAZwTyfijaFp5D2C5oz3Ikw5a2kiX2K9nw72vrZX2q5UuAlkPtUMO1tQz6JTKpaKWjS7OOefTDQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@next/swc-darwin-x64@16.4.1': - resolution: {integrity: sha512-/hqC3V1XLUjhMASf/WridKdO9FXoEgN3HBWmtKbj00MPgnltutfraWJ3bYTpCRIgEIpbjJyOVLpYgAhh/BkdcQ==} + '@next/swc-darwin-x64@16.4.3': + resolution: {integrity: sha512-1Rvkn/LUhnEF8WxnRkOrqGhbwXui1bkWFxONKIbN+r7C+9KHDSZ+iUoj4CzymVMWUyZIyx9szcb9+kbKhD500A==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@next/swc-linux-arm64-gnu@16.4.1': - resolution: {integrity: sha512-GHzncHbcaS9g95kcvTNtKQW3aCLoR+xc3Jm7qrkpk1R+D2BjMHIPyvQGRPKCdMX95BsH/421jBUK06q9tEwzjw==} + '@next/swc-linux-arm64-gnu@16.4.3': + resolution: {integrity: sha512-dCKpXErGg3abUM6t5JTJV/ottVBTStJB5lRJTbgdUdQaQ+jNHiK56Hsc0YAEg/rinSh42hYG3HWiYmEMdilnxg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@next/swc-linux-arm64-musl@16.4.1': - resolution: {integrity: sha512-1SuJyDxW/PR9dHJat/ZRgcYLhuSZ+1psP4DlKb2tKIuXbjygqpLrJWRSq+onZQBv8LcmU67EIrmb6c3XTaJLjw==} + '@next/swc-linux-arm64-musl@16.4.3': + resolution: {integrity: sha512-WwYbhWkhYBvBtib1K4W0kL8MW2snBD2A5b3SN4vPpqalZbZs5+bQ1yzAdepVoOqrFfEW3dmREy4Zs1MrWcrFbw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@next/swc-linux-x64-gnu@16.4.1': - resolution: {integrity: sha512-Istng1hMGp9TGO4lUqeKLd70MPN/OOkucVTP2Nmj+gLkwBgmPqUw8CJYBCC7nbl/B/23bBCcjCI5Hsh6hazC1A==} + '@next/swc-linux-x64-gnu@16.4.3': + resolution: {integrity: sha512-QymWvfUwDEC5/lpJOsxX5VAbyoR2D13+2Jsjz4be7gT4LPqEgdpkeLIR/HFfCLgKzoMhpJbp6I/JnogyNZHcaA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@next/swc-linux-x64-musl@16.4.1': - resolution: {integrity: sha512-aSC9wMNiZRRFVpPkPWBzRwLQxIGm/CiQcXyFF1XNcgodb+uMxdk7aSSGGpDXCbnvZdf4itjHxpOd5h7i7zaiYw==} + '@next/swc-linux-x64-musl@16.4.3': + resolution: {integrity: sha512-Vmjd9D7DpA4Vv3cUlr82QWgJD/BQZmns801vtC5VWHg6jCIA4a5vMKpQnfrM2pyCrp2eV0ENdUg4PlN3bAc2Yw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@next/swc-win32-arm64-msvc@16.4.1': - resolution: {integrity: sha512-t/myvwFDlypMUjRvbBf8qLPyuaB0iXYYdBtwMt6DM6f+60wtGr4bSYholdPqNeV5VUXZhrpMwfza829kmhS3iA==} + '@next/swc-win32-arm64-msvc@16.4.3': + resolution: {integrity: sha512-lG1pPdPLk7gTyGb00n5JIMLdBJgjb+UEhSdZvFbhUMg0DyC6z4B7RnpSKF9VCd4imkLObVbXOFA0kFCpw7yFow==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@next/swc-win32-x64-msvc@16.4.1': - resolution: {integrity: sha512-6ICqPo9awCkrtYNPhwkx1uU7rlFWrZRrIboDHS2LU+jv088UBYQtmJ25h6pCp27/+FZjF6BQ4Te4ErugyMeuBg==} + '@next/swc-win32-x64-msvc@16.4.3': + resolution: {integrity: sha512-NmQC9RkJdnPXRaMxtkCzobB3teVjqF33oSOnwDfi+XYGWWYpt+xlGK3mtktSKLbdjwaWbJu2OkkMiRFGUUncKg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2329,10 +2329,14 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.544.0: - resolution: {integrity: sha512-t5tS44bqd825zAW45UQxpG2CvcC4urOwn2TrwSH8u+MjeE+1NnWl6QqeQ/6NdjMqdOygyiT9p3Ev0p1NJykxjw==} + lucide-react@1.66.0: + resolution: {integrity: sha512-8zjbi/Us+ETXqfBwmXF/FHrWGIqOdE6zT1yUdRJLQVoptomSkB0zdFWVIM667t9K8djWDaXdkBkqi2qVTuDNiw==} peerDependencies: + '@types/react': '*' react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@types/react': + optional: true magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} @@ -2387,8 +2391,8 @@ packages: react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc - next@16.4.1: - resolution: {integrity: sha512-uc657V62E34fOI6W5NtG9IzwsPcms0Z60grz2MJGtglgD+pTFnNt4Yw2PzaU622tfX4vhrDgLZzicE2YlhI20Q==} + next@16.4.3: + resolution: {integrity: sha512-OqxKTGi9u80FydydsMNYNjnuje9Au+kvHlt2GZ//ftdpDHm1dxKqAaENoOOTX5wKzn+9vaKUNIfZeyZUuLhCnA==} engines: {node: '>=20.9.0'} hasBin: true peerDependencies: @@ -2832,8 +2836,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typescript@5.9.3: - resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} engines: {node: '>=14.17'} hasBin: true @@ -3409,7 +3413,7 @@ snapshots: jest-util: 30.5.1 slash: 3.0.0 - '@jest/core@30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3))': + '@jest/core@30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3))': dependencies: '@jest/console': 30.5.2 '@jest/pattern': 30.5.0 @@ -3425,7 +3429,7 @@ snapshots: fast-json-stable-stringify: 2.1.0 graceful-fs: 4.2.11 jest-changed-files: 30.5.1 - jest-config: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + jest-config: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) jest-haste-map: 30.5.1 jest-message-util: 30.5.1 jest-regex-util: 30.5.0 @@ -3621,30 +3625,30 @@ snapshots: '@tybys/wasm-util': 0.10.4 optional: true - '@next/env@16.4.1': {} + '@next/env@16.4.3': {} - '@next/swc-darwin-arm64@16.4.1': + '@next/swc-darwin-arm64@16.4.3': optional: true - '@next/swc-darwin-x64@16.4.1': + '@next/swc-darwin-x64@16.4.3': optional: true - '@next/swc-linux-arm64-gnu@16.4.1': + '@next/swc-linux-arm64-gnu@16.4.3': optional: true - '@next/swc-linux-arm64-musl@16.4.1': + '@next/swc-linux-arm64-musl@16.4.3': optional: true - '@next/swc-linux-x64-gnu@16.4.1': + '@next/swc-linux-x64-gnu@16.4.3': optional: true - '@next/swc-linux-x64-musl@16.4.1': + '@next/swc-linux-x64-musl@16.4.3': optional: true - '@next/swc-win32-arm64-msvc@16.4.1': + '@next/swc-win32-arm64-msvc@16.4.3': optional: true - '@next/swc-win32-x64-msvc@16.4.1': + '@next/swc-win32-x64-msvc@16.4.3': optional: true '@parcel/watcher-android-arm64@2.6.0': @@ -4843,15 +4847,15 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)): + jest-cli@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)): dependencies: - '@jest/core': 30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + '@jest/core': 30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) '@jest/test-result': 30.5.2 '@jest/types': 30.5.1 chalk: 4.1.2 exit-x: 0.2.2 import-local: 3.2.0 - jest-config: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + jest-config: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) jest-util: 30.5.1 jest-validate: 30.5.1 yargs: 17.7.3 @@ -4862,7 +4866,7 @@ snapshots: - supports-color - ts-node - jest-config@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)): + jest-config@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)): dependencies: '@babel/core': 7.29.7 '@jest/get-type': 30.5.0 @@ -4889,7 +4893,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.20.5 - ts-node: 10.9.2(@types/node@22.20.5)(typescript@5.9.3) + ts-node: 10.9.2(@types/node@22.20.5)(typescript@6.0.3) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -5118,12 +5122,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)): + jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)): dependencies: - '@jest/core': 30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + '@jest/core': 30.5.2(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) '@jest/types': 30.5.1 import-local: 3.2.0 - jest-cli: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + jest-cli: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -5245,9 +5249,11 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.544.0(react@19.3.1): + lucide-react@1.66.0(@types/react@19.3.0)(react@19.3.1): dependencies: react: 19.3.1 + optionalDependencies: + '@types/react': 19.3.0 magic-string@0.30.21: dependencies: @@ -5287,9 +5293,9 @@ snapshots: react: 19.3.1 react-dom: 19.3.1(react@19.3.1) - next@16.4.1(@babel/core@7.29.7)(@playwright/test@1.64.1)(@types/node@22.20.5)(react-dom@19.3.1(react@19.3.1))(react@19.3.1): + next@16.4.3(@babel/core@7.29.7)(@playwright/test@1.64.1)(@types/node@22.20.5)(react-dom@19.3.1(react@19.3.1))(react@19.3.1): dependencies: - '@next/env': 16.4.1 + '@next/env': 16.4.3 '@swc/helpers': 0.5.23 baseline-browser-mapping: 2.11.34 caniuse-lite: 1.0.30001820 @@ -5298,14 +5304,14 @@ snapshots: react-dom: 19.3.1(react@19.3.1) styled-jsx: 5.1.6(@babel/core@7.29.7)(react@19.3.1) optionalDependencies: - '@next/swc-darwin-arm64': 16.4.1 - '@next/swc-darwin-x64': 16.4.1 - '@next/swc-linux-arm64-gnu': 16.4.1 - '@next/swc-linux-arm64-musl': 16.4.1 - '@next/swc-linux-x64-gnu': 16.4.1 - '@next/swc-linux-x64-musl': 16.4.1 - '@next/swc-win32-arm64-msvc': 16.4.1 - '@next/swc-win32-x64-msvc': 16.4.1 + '@next/swc-darwin-arm64': 16.4.3 + '@next/swc-darwin-x64': 16.4.3 + '@next/swc-linux-arm64-gnu': 16.4.3 + '@next/swc-linux-arm64-musl': 16.4.3 + '@next/swc-linux-x64-gnu': 16.4.3 + '@next/swc-linux-x64-musl': 16.4.3 + '@next/swc-win32-arm64-msvc': 16.4.3 + '@next/swc-win32-x64-msvc': 16.4.3 '@playwright/test': 1.64.1 sharp: 0.35.5(@types/node@22.20.5) transitivePeerDependencies: @@ -5659,18 +5665,18 @@ snapshots: dependencies: punycode: 2.3.1 - ts-jest@29.4.15(@babel/core@7.29.7)(@jest/transform@30.5.2)(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7))(jest-util@30.5.1)(jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)))(typescript@5.9.3): + ts-jest@29.4.15(@babel/core@7.29.7)(@jest/transform@30.5.2)(@jest/types@30.5.1)(babel-jest@30.5.2(@babel/core@7.29.7))(jest-util@30.5.1)(jest@30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)))(typescript@6.0.3): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.10 - jest: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3)) + jest: 30.5.2(@types/node@22.20.5)(ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 semver: 7.8.5 type-fest: 4.41.0 - typescript: 5.9.3 + typescript: 6.0.3 yargs-parser: 21.1.1 optionalDependencies: '@babel/core': 7.29.7 @@ -5679,7 +5685,7 @@ snapshots: babel-jest: 30.5.2(@babel/core@7.29.7) jest-util: 30.5.1 - ts-node@10.9.2(@types/node@22.20.5)(typescript@5.9.3): + ts-node@10.9.2(@types/node@22.20.5)(typescript@6.0.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.13 @@ -5693,7 +5699,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.4 make-error: 1.3.6 - typescript: 5.9.3 + typescript: 6.0.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -5705,7 +5711,7 @@ snapshots: type-fest@4.41.0: {} - typescript@5.9.3: {} + typescript@6.0.3: {} uglify-js@3.19.3: optional: true diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 2adc4edd..5c787881 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,6 +1,5 @@ { "compilerOptions": { - "baseUrl": ".", "target": "ES2017", "lib": ["dom", "dom.iterable", "esnext"], "allowJs": true, @@ -14,6 +13,7 @@ "isolatedModules": true, "jsx": "react-jsx", "incremental": true, + "types": ["node", "jest"], "plugins": [ { "name": "next" diff --git a/lib/log_struct/integrations/sidekiq.rb b/lib/log_struct/integrations/sidekiq.rb index be031636..17766802 100644 --- a/lib/log_struct/integrations/sidekiq.rb +++ b/lib/log_struct/integrations/sidekiq.rb @@ -67,7 +67,7 @@ def self.restore_logger @original_logger = nil end - # Sidekiq 7 keeps the logger on its default configuration, Sidekiq 6 on the module + # Sidekiq 7 and 8 keep the logger on their default configuration, Sidekiq 6 on the module sig { returns(T.untyped) } def self.sidekiq_logger_config ::Sidekiq.respond_to?(:default_configuration) ? ::Sidekiq.default_configuration : ::Sidekiq diff --git a/logstruct.gemspec b/logstruct.gemspec index 07247b39..cbaf5485 100644 --- a/logstruct.gemspec +++ b/logstruct.gemspec @@ -50,11 +50,11 @@ Gem::Specification.new do |spec| # Optional integrations spec.add_development_dependency "bugsnag", "~> 6.26" spec.add_development_dependency "carrierwave", "~> 3.0" - spec.add_development_dependency "honeybadger", "~> 5.4" + spec.add_development_dependency "honeybadger", "~> 6.10" spec.add_development_dependency "rollbar", "~> 3.4" - spec.add_development_dependency "sentry-ruby", "~> 5.15" + spec.add_development_dependency "sentry-ruby", "~> 7.2" spec.add_development_dependency "shrine", "~> 3.5" - spec.add_development_dependency "sidekiq", "~> 7.2" + spec.add_development_dependency "sidekiq", "~> 8.1" spec.add_development_dependency "sorbet", "~> 0.5" spec.add_development_dependency "ahoy_matey", ">= 4.1", "< 6.0" spec.add_development_dependency "active_model_serializers", "~> 0.10.13" diff --git a/package.json b/package.json index 7255d842..a6719df8 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "devDependencies": { "@docspring/cspell-lockfile-dicts": "^1.2.0", "cspell": "^10.4.0", - "jscpd": "^4.3.0", + "jscpd": "^5.4.2", "prettier": "^3.9.10" }, "pnpm": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 058ea20b..925ab65a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,35 +19,14 @@ importers: specifier: ^10.4.0 version: 10.4.0 jscpd: - specifier: ^4.3.0 - version: 4.3.0 + specifier: ^5.4.2 + version: 5.4.2 prettier: specifier: ^3.9.10 version: 3.9.10 packages: - '@babel/helper-string-parser@7.29.11': - resolution: {integrity: sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.29.7': - resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.29.12': - resolution: {integrity: sha512-WJ7JBp/Q4+z/ImydtI7jS6NVco5++632ExBemSX+Ysb+G1lCwQ5BVo3SY+jGGOcZXI4ZccbZSUSJLNBW6eEpJg==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/types@7.29.11': - resolution: {integrity: sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==} - engines: {node: '>=6.9.0'} - - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@cspell/cspell-bundled-dicts@10.4.0': resolution: {integrity: sha512-ey23dut7NdnOsQQinQhROFZUh4LvLhJnnZCiq7y+KXMngdqXnIAZuEnnwXk3IfdOX+tycDC8OuMssLXDJ3Fnxw==} engines: {node: '>=22.18.0'} @@ -294,45 +273,6 @@ packages: '@isaacs/nonrecursive-glob-match@1.0.3': resolution: {integrity: sha512-SI7kyKHq4XXDRozw+r9GlRZkia1ZkFrpLW98r2IC2Bpr8YkFGE3fvjzmxCG0x78A++69HmDNrDvSMYBZmHGpKA==} - '@jscpd/badge-reporter@4.2.5': - resolution: {integrity: sha512-ktXrjPeRaRyUDktxTroSA2/w5sshXpQplWkUuq/e6XqEpKBSbGEnwZLIaegSijOrMwIcCXPQ9k4feXIz5eVJNA==} - - '@jscpd/core@4.2.5': - resolution: {integrity: sha512-Esf2deHxaoNEjePwf2jqP6Urzj+BAOsJVPFLbnnSsV+q7rLNMcn0UEEoKBXIOOt4qMkrkhl9DfwpMyPPOr6GkQ==} - - '@jscpd/finder@4.3.0': - resolution: {integrity: sha512-MnEUyier0D6P9zRIhAlBoyJUV8BYT6d5FDZuhR7X23FdZAgdMV8yaRRO1Q1EveK9/ReA6WVHT1HE8F15rij71A==} - - '@jscpd/html-reporter@4.2.5': - resolution: {integrity: sha512-zMMIKbvi43dMgeNeHXlHQy1ovf+KJrzNlUubaBvCAVatqP23ksW8d3fmsevIQG9mMMTH0D1xOz+SxUn1FREOPg==} - - '@jscpd/tokenizer@4.2.6': - resolution: {integrity: sha512-/eyFjINWLs2mrBTU4H681bs855r5oRyl1O3mZxcd7TpL1JIG85a7pps0RkRPAe9c/2KcjVCc82HbhOz86M0n5g==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@types/sarif@2.1.7': - resolution: {integrity: sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ==} - - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - ansi-regex@6.5.0: resolution: {integrity: sha512-zhvbbbdt1kbw7EJ9OQoxmQcuaNR9P5kTj7e/YdmOSU10aHWbycofJxA6jKfoEy3vlLdctOF9ZHaxLtmSm998wQ==} engines: {node: '>=12'} @@ -340,47 +280,14 @@ packages: array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} - asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - - assert-never@1.4.0: - resolution: {integrity: sha512-5oJg84os6NMQNl27T9LnZkvvqzvAnHu03ShCnoj6bsJwS7L8AO4lf+C/XjK/nvzEqQB744moC6V128RucQd1jA==} - - babel-walk@3.0.0-canary-5: - resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} - engines: {node: '>= 10.0.0'} - - badgen@3.3.2: - resolution: {integrity: sha512-fbQwK9norfdzbdsoPwbLIAmgBXDGEme3jeIyqPAH7o6vp9lmuLHS7uXULvOiQ6XnMLkYNG4gDjILf74hgtTAug==} - balanced-match@4.0.4: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - blamer@1.0.7: - resolution: {integrity: sha512-GbBStl/EVlSWkiJQBZps3H1iARBrC7vt++Jb/TTmCNu/jZ04VW7tSN1nScbFXBUy1AN+jzeL7Zep9sbQxLhXKA==} - engines: {node: '>=8.9'} - brace-expansion@5.0.12: resolution: {integrity: sha512-YovQ3rzhaLMIrDjNDMkNS01tea93qhEhG5xy8f6+R0l+dw3Ki+5sCoIoI942iuLZTHWogWktgwVDhU09iNEimQ==} engines: {node: 20 || >=22} - braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} - engines: {node: '>=8'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - call-bind-apply-helpers@1.0.2: - resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} - engines: {node: '>= 0.4'} - - call-bound@1.0.4: - resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} - engines: {node: '>= 0.4'} - chalk-template@1.1.3: resolution: {integrity: sha512-KDt7oQ+LRF2VLFsTAZd76ZNCKQa8LuW7SZkNJMkriMzvlSNj6dI+S+f41mfK9oTtil49seHVyabtt1753sFL2w==} engines: {node: '>=14.16'} @@ -393,17 +300,6 @@ packages: resolution: {integrity: sha512-/Ce6KNm3vIbWdMlNna6RVIZ/ICQxnJxCicet5LBKK9ZffBkqzDw0xh9EiKSljdRtiIQ1S1z4YgcscUUGzNCWrA==} engines: {node: '>=22'} - character-parser@2.2.0: - resolution: {integrity: sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==} - - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -416,13 +312,6 @@ packages: resolution: {integrity: sha512-uiqLcOiVDJtBP8WGkZHEP+FZIhTzP1dxvn59EfoYUi9gqupjrBWVQkO2atDrbnKPwLeotFYDsuNb26uBMqB+hw==} engines: {node: '>= 6'} - constantinople@4.0.1: - resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} - - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} - cspell-config-lib@10.4.0: resolution: {integrity: sha512-1P0xmWIlGqwsHf8he9BWNdqV2bvRBkxCv5ctj3oHBraRFS6CPjdJBptyjuM0dgTwxmxPFcuWhTG8miTvFMje5g==} engines: {node: '>=22.18.0'} @@ -464,58 +353,19 @@ packages: engines: {node: '>=22.18.0'} hasBin: true - doctypes@1.1.0: - resolution: {integrity: sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==} - - dunder-proto@1.0.1: - resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} - engines: {node: '>= 0.4'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - end-of-stream@1.4.5: - resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==} - env-paths@4.0.0: resolution: {integrity: sha512-pxP8eL2SwwaTRi/KHYwLYXinDs7gL3jxFcBYmEdYfZmZXbaVDvdppd0XBU8qVz03rDfKZMXg1omHCbsJjZrMsw==} engines: {node: '>=20'} - es-define-property@1.0.1: - resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.1.2: - resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} - engines: {node: '>= 0.4'} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - eventemitter3@5.0.4: - resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==} - - execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - fast-equals@6.2.1: resolution: {integrity: sha512-s7KFkLPAAbIDGTh+nVYhjTiwKGvgMXAUG5vwzg8vQKj7NSRZ4eEGExBQ4rq9V90fTYVWd1cb/Wr4ffCNBmLQMQ==} engines: {node: '>=6.0.0'} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - - fastq@1.20.3: - resolution: {integrity: sha512-XKv5nnLs6nLF71NgiKJLIZFLkPyIEuOselLG7ujZnGrRfQK8HpvY+WqKhAJUAdLomwVHErVS4LfxFlPq0/FTAw==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -525,40 +375,13 @@ packages: picomatch: optional: true - fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} - engines: {node: '>=8'} - flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} - fs-extra@11.4.1: - resolution: {integrity: sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==} - engines: {node: '>=14.14'} - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - gensequence@8.0.8: resolution: {integrity: sha512-omMVniXEXpdx/vKxGnPRoO2394Otlze28TyxECbFVyoSpZ9H3EO7lemjcB12OpQJzRW4e5tt/dL1rOxry6aMHg==} engines: {node: '>=20'} - get-intrinsic@1.3.0: - resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} - engines: {node: '>= 0.4'} - - get-proto@1.0.1: - resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} - engines: {node: '>= 0.4'} - - get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - glob@14.0.3: resolution: {integrity: sha512-A1vjIwC3qpdCso45Iw127gnp7sPhqgY8lUQhDrArIs+GbmfaaVPFuoyy7WyLT9EPZCRZ7j7aLdwUhQmHWesEow==} engines: {node: 18 || 20 || >=22} @@ -567,29 +390,6 @@ packages: resolution: {integrity: sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w==} engines: {node: '>=20'} - gopd@1.2.0: - resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} - engines: {node: '>= 0.4'} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - has-symbols@1.1.0: - resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hasown@2.0.4: - resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} - engines: {node: '>= 0.4'} - - human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - import-fresh@4.0.1: resolution: {integrity: sha512-/XFeXYgkuWgbtqPC7qPKvciXTvhtz7WMNQKQsAM1Kz+j0I5OWJDrybfiya6QtHF9oEvPkLwTHmC9+4OR/MmfIA==} engines: {node: '>=22.15'} @@ -601,89 +401,63 @@ packages: resolution: {integrity: sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==} engines: {node: ^20.17.0 || >=22.9.0} - is-core-module@2.17.0: - resolution: {integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==} - engines: {node: '>= 0.4'} - - is-expression@4.0.0: - resolution: {integrity: sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-safe-filename@0.1.1: resolution: {integrity: sha512-4SrR7AdnY11LHfDKTZY1u6Ga3RuxZdl3YKWWShO5iyuG5h8QS4GD2tOb04peBJ5I7pXbR+CGBNEhTcwK+FzN3g==} engines: {node: '>=20'} - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - js-stringify@1.0.2: - resolution: {integrity: sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==} - - jscpd-sarif-reporter@4.2.5: - resolution: {integrity: sha512-O8LcM9grAS5yO5x1Q0yegYaYcUX//IEBEyvzGFSYCeo1YzHbMnAI6EK7oTrwD+7Csjvfg9m8B8G7OOxzcSlr9w==} - - jscpd@4.3.0: - resolution: {integrity: sha512-yUqcHy/USHvzFamS6Loo49MCSW0Dc+4RL6ELH+Un9o2/jRSQbs9+a5hjfFceV2d3Zgv1opv5PXJ0eZ3fEQdjkg==} + jscpd-darwin-arm64@5.4.2: + resolution: {integrity: sha512-EGoPYQZqESW2kJfxKZrUYsYWhzq2Irk6sBQQWZ7VPAGj2wwk3n8HtDP2FnJOiHWZtSz55I8zQWldzIrD55B5Vw==} + cpu: [arm64] + os: [darwin] + + jscpd-darwin-x64@5.4.2: + resolution: {integrity: sha512-/bz/rgoahqeK0p5r+KjeTTS59d7bZpMxD7hQ4CaQ0qKZWBZIyu7hRdExzJ7/KrCEJ5cmRogvXX1jhFqldYLNXw==} + cpu: [x64] + os: [darwin] + + jscpd-linux-arm64-gnu@5.4.2: + resolution: {integrity: sha512-YW/eX+mOYZmT/A3QEARYmJQoVQNV/cfecKCobNXZcD3mE57drpKHmJnvuL9uS85z0cUKWGCM57JVkVz6Y9oxxw==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + jscpd-linux-arm64-musl@5.4.2: + resolution: {integrity: sha512-jOLTO8YVRz65NaeYNeXoIf13yOPWhbM61xKXpv51DXQ2BXce6XfgPaJVeDCOM5s+8mt6aDtq0BZ8zptNeqGuIw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + jscpd-linux-x64-gnu@5.4.2: + resolution: {integrity: sha512-eAmKLxx+pIOEX4lZ342CCCjL5bvf+a3gdmaaVHXiGIx2Zr3zKkF32YkfuN2sCvCui5I/wnely80XsRvVVFO47Q==} + cpu: [x64] + os: [linux] + libc: [glibc] + + jscpd-linux-x64-musl@5.4.2: + resolution: {integrity: sha512-ers9YFscD6DrmhyjBDXo/L+yBKcclHdWTFLMulYVGLcoGRKfBFhmK08MI3ajN/GMmCpJu7rkDYKL3egdfE8OIw==} + cpu: [x64] + os: [linux] + libc: [musl] + + jscpd-windows-arm64-msvc@5.4.2: + resolution: {integrity: sha512-kOhVw4cVhN8T9jr3OVThB3pPpbff0ITHTwpJ/+4EGzMkbf0y6QtPpHDzRgiHJj7u1FSTBXTI6VhPhDUhT/os1g==} + cpu: [arm64] + os: [win32] + + jscpd-windows-x64-msvc@5.4.2: + resolution: {integrity: sha512-BuR5DCV7F/G5ukMEIzCrz43ea5C0t0ALcP7v+opOWefoi4aiQYCEmtoRwfXMM/zjOmNYmvJBDDfeH05U9uuzEg==} + cpu: [x64] + os: [win32] + + jscpd@5.4.2: + resolution: {integrity: sha512-bxZ1ObA4NyWBcM7Zh+QoGrdcMovbCxrDofFaLo2Lwgk/Axe/e45VYu8EM+mpPx2CpU/QGCoktONRnaRZl8Yq2w==} + engines: {node: '>=18'} hasBin: true - jsonfile@6.2.1: - resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - - jstransformer@1.0.0: - resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} - lru-cache@11.5.3: resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} engines: {node: 20 || >=22} - markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} - - math-intrinsics@1.1.0: - resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} - engines: {node: '>= 0.4'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - minimatch@11.0.3: resolution: {integrity: sha512-iny/40PEGkNJQ5/Pv6z3nm6FbRAby32GeZRjCUJk2WnNDbgPSTcdI+DDvLqsgBdD4cD5sMtMheqPPnehCCa8Nw==} engines: {node: 18 || 20 || >=22} @@ -692,40 +466,10 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - node-sarif-builder@4.1.0: - resolution: {integrity: sha512-IWqZF6u0EI/07HTBm+zZ+MgXgWl09dnSJRGaDCPBSlOqilDcx6pj3Mpb3HvPN8V2Gr+ISw7ZrMsL7STWs1F++w==} - engines: {node: '>=20'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@3.0.0: resolution: {integrity: sha512-1pTbQqH1wIwMi/eleQ5leFTTCkzFsPcgXNjwOA8YGGW/W4/kHT3dssE7Z6NH+zuqNLOzOB0uaD61yl7cAcVhgg==} engines: {node: 18 || 20 || >=22} - picomatch@2.3.2: - resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} - engines: {node: '>=8.6'} - picomatch@4.0.7: resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} @@ -735,147 +479,29 @@ packages: engines: {node: '>=14'} hasBin: true - promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - - pug-attrs@3.0.0: - resolution: {integrity: sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==} - - pug-code-gen@3.0.4: - resolution: {integrity: sha512-6okWYIKdasTyXICyEtvobmTZAVX57JkzgzIi4iRJlin8kmhG+Xry2dsus+Mun/nGCn6F2U49haHI5mkELXB14g==} - - pug-error@2.1.0: - resolution: {integrity: sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==} - - pug-filters@4.0.0: - resolution: {integrity: sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==} - - pug-lexer@5.0.1: - resolution: {integrity: sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==} - - pug-linker@4.0.0: - resolution: {integrity: sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==} - - pug-load@3.0.0: - resolution: {integrity: sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==} - - pug-parser@6.0.0: - resolution: {integrity: sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==} - - pug-runtime@3.0.1: - resolution: {integrity: sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==} - - pug-strip-comments@2.0.0: - resolution: {integrity: sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==} - - pug-walk@2.0.0: - resolution: {integrity: sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==} - - pug@3.0.4: - resolution: {integrity: sha512-kFfq5mMzrS7+wrl5pLJzZEzemx34OQ0w4SARfhy/3yxTlhbstsudDwJzhf1hP02yHzbjoVMSXUj/Sz6RNfMyXg==} - - pump@3.0.4: - resolution: {integrity: sha512-VS7sjc6KR7e1ukRFhQSY5LM2uBWAUPiOPa/A3mkKmiMwSmRFUITt0xuj+/lesgnCv+dPIEYlkzrcyXgquIHMcA==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - resolve@1.22.13: - resolution: {integrity: sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==} - engines: {node: '>= 0.4'} - hasBin: true - - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} hasBin: true - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - smol-toml@1.9.1: resolution: {integrity: sha512-j7WyPdf0CJoutMzMoPLF/bVXHtKZIT9Rb4eGeEbWw8X2t5oirjPgpL+OpaENZrILYaXqYwnVH+qgUwVbl+pUJQ==} engines: {node: '>= 18'} - spark-md5@3.0.2: - resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - tinyglobby@0.2.17: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - token-stream@1.0.0: - resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} - vscode-languageserver-textdocument@1.0.16: resolution: {integrity: sha512-qeNEuOi9a3qkqRf7Gfez2WL2VwlBTLCNekHBGO9kxPVUp9XuY15yfTJ9jwvOwKI0I2MhUUfZq95NSp+LK1CLQg==} vscode-uri@3.2.0: resolution: {integrity: sha512-m2gXo3bn0G1kT9InzMf07fTbqMbGtyckj3bH5ktLO+1Ssv+yiATZ4dhwaQv9UZWxJh6E9IFGnQyjgWVDWVBDrg==} - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - with@7.0.2: - resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} - engines: {node: '>= 10.0.0'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} @@ -887,22 +513,6 @@ packages: snapshots: - '@babel/helper-string-parser@7.29.11': {} - - '@babel/helper-validator-identifier@7.29.7': {} - - '@babel/parser@7.29.12': - dependencies: - '@babel/types': 7.29.11 - - '@babel/types@7.29.11': - dependencies: - '@babel/helper-string-parser': 7.29.11 - '@babel/helper-validator-identifier': 7.29.7 - - '@colors/colors@1.5.0': - optional: true - '@cspell/cspell-bundled-dicts@10.4.0': dependencies: '@cspell/dict-ada': 4.1.1 @@ -1136,99 +746,16 @@ snapshots: '@isaacs/nonrecursive-glob-match@1.0.3': {} - '@jscpd/badge-reporter@4.2.5': - dependencies: - badgen: 3.3.2 - colors: 1.4.0 - fs-extra: 11.4.1 - - '@jscpd/core@4.2.5': - dependencies: - eventemitter3: 5.0.4 - - '@jscpd/finder@4.3.0': - dependencies: - '@jscpd/core': 4.2.5 - '@jscpd/tokenizer': 4.2.6 - blamer: 1.0.7 - bytes: 3.1.2 - cli-table3: 0.6.5 - colors: 1.4.0 - fast-glob: 3.3.3 - fs-extra: 11.4.1 - markdown-table: 2.0.0 - pug: 3.0.4 - - '@jscpd/html-reporter@4.2.5': - dependencies: - colors: 1.4.0 - fs-extra: 11.4.1 - pug: 3.0.4 - - '@jscpd/tokenizer@4.2.6': - dependencies: - '@jscpd/core': 4.2.5 - spark-md5: 3.0.2 - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.20.3 - - '@types/sarif@2.1.7': {} - - acorn@7.4.1: {} - - ansi-regex@5.0.1: {} - ansi-regex@6.5.0: {} array-timsort@1.0.3: {} - asap@2.0.6: {} - - assert-never@1.4.0: {} - - babel-walk@3.0.0-canary-5: - dependencies: - '@babel/types': 7.29.11 - - badgen@3.3.2: {} - balanced-match@4.0.4: {} - blamer@1.0.7: - dependencies: - execa: 4.1.0 - which: 2.0.2 - brace-expansion@5.0.12: dependencies: balanced-match: 4.0.4 - braces@3.0.3: - dependencies: - fill-range: 7.1.1 - - bytes@3.1.2: {} - - call-bind-apply-helpers@1.0.2: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - - call-bound@1.0.4: - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - chalk-template@1.1.3: dependencies: chalk: 5.6.2 @@ -1237,18 +764,6 @@ snapshots: chalk@6.0.1: {} - character-parser@2.2.0: - dependencies: - is-regex: 1.2.1 - - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - colors@1.4.0: {} - commander@10.0.1: {} commander@15.0.0: {} @@ -1258,17 +773,6 @@ snapshots: array-timsort: 1.0.3 esprima: 4.0.1 - constantinople@4.0.1: - dependencies: - '@babel/parser': 7.29.12 - '@babel/types': 7.29.11 - - cross-spawn@7.0.6: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - cspell-config-lib@10.4.0: dependencies: '@cspell/cspell-types': 10.4.0 @@ -1358,108 +862,22 @@ snapshots: semver: 7.8.5 tinyglobby: 0.2.17 - doctypes@1.1.0: {} - - dunder-proto@1.0.1: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - - emoji-regex@8.0.0: {} - - end-of-stream@1.4.5: - dependencies: - once: 1.4.0 - env-paths@4.0.0: dependencies: is-safe-filename: 0.1.1 - es-define-property@1.0.1: {} - - es-errors@1.3.0: {} - - es-object-atoms@1.1.2: - dependencies: - es-errors: 1.3.0 - esprima@4.0.1: {} - eventemitter3@5.0.4: {} - - execa@4.1.0: - dependencies: - cross-spawn: 7.0.6 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - fast-equals@6.2.1: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - - fastq@1.20.3: - dependencies: - reusify: 1.1.0 - fdir@6.5.0(picomatch@4.0.7): optionalDependencies: picomatch: 4.0.7 - fill-range@7.1.1: - dependencies: - to-regex-range: 5.0.1 - flatted@3.4.4: {} - fs-extra@11.4.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.1 - universalify: 2.0.1 - - function-bind@1.1.2: {} - gensequence@8.0.8: {} - get-intrinsic@1.3.0: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.4 - math-intrinsics: 1.1.0 - - get-proto@1.0.1: - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.2 - - get-stream@5.2.0: - dependencies: - pump: 3.0.4 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - glob@14.0.3: dependencies: minimatch: 11.0.3 @@ -1470,112 +888,51 @@ snapshots: dependencies: ini: 6.0.0 - gopd@1.2.0: {} - - graceful-fs@4.2.11: {} - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - - hasown@2.0.4: - dependencies: - function-bind: 1.1.2 - - human-signals@1.1.1: {} - import-fresh@4.0.1: {} import-meta-resolve@4.2.0: {} ini@6.0.0: {} - is-core-module@2.17.0: - dependencies: - hasown: 2.0.4 - - is-expression@4.0.0: - dependencies: - acorn: 7.4.1 - object-assign: 4.1.1 - - is-extglob@2.1.1: {} - - is-fullwidth-code-point@3.0.0: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} + is-safe-filename@0.1.1: {} - is-promise@2.2.2: {} + jscpd-darwin-arm64@5.4.2: + optional: true - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.4 + jscpd-darwin-x64@5.4.2: + optional: true - is-safe-filename@0.1.1: {} + jscpd-linux-arm64-gnu@5.4.2: + optional: true - is-stream@2.0.1: {} + jscpd-linux-arm64-musl@5.4.2: + optional: true - isexe@2.0.0: {} + jscpd-linux-x64-gnu@5.4.2: + optional: true - js-stringify@1.0.2: {} + jscpd-linux-x64-musl@5.4.2: + optional: true - jscpd-sarif-reporter@4.2.5: - dependencies: - colors: 1.4.0 - fs-extra: 11.4.1 - node-sarif-builder: 4.1.0 + jscpd-windows-arm64-msvc@5.4.2: + optional: true - jscpd@4.3.0: - dependencies: - '@jscpd/badge-reporter': 4.2.5 - '@jscpd/core': 4.2.5 - '@jscpd/finder': 4.3.0 - '@jscpd/html-reporter': 4.2.5 - '@jscpd/tokenizer': 4.2.6 - colors: 1.4.0 - commander: 15.0.0 - fs-extra: 11.4.1 - jscpd-sarif-reporter: 4.2.5 + jscpd-windows-x64-msvc@5.4.2: + optional: true - jsonfile@6.2.1: - dependencies: - universalify: 2.0.1 + jscpd@5.4.2: optionalDependencies: - graceful-fs: 4.2.11 - - jstransformer@1.0.0: - dependencies: - is-promise: 2.2.2 - promise: 7.3.1 + jscpd-darwin-arm64: 5.4.2 + jscpd-darwin-x64: 5.4.2 + jscpd-linux-arm64-gnu: 5.4.2 + jscpd-linux-arm64-musl: 5.4.2 + jscpd-linux-x64-gnu: 5.4.2 + jscpd-linux-x64-musl: 5.4.2 + jscpd-windows-arm64-msvc: 5.4.2 + jscpd-windows-x64-msvc: 5.4.2 lru-cache@11.5.3: {} - markdown-table@2.0.0: - dependencies: - repeat-string: 1.6.1 - - math-intrinsics@1.1.0: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.2 - - mimic-fn@2.1.0: {} - minimatch@11.0.3: dependencies: '@isaacs/nonrecursive-glob-match': 1.0.3 @@ -1583,195 +940,30 @@ snapshots: minipass@7.1.3: {} - node-sarif-builder@4.1.0: - dependencies: - '@types/sarif': 2.1.7 - fs-extra: 11.4.1 - - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - - object-assign@4.1.1: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - path-scurry@3.0.0: dependencies: lru-cache: 11.5.3 minipass: 7.1.3 - picomatch@2.3.2: {} - picomatch@4.0.7: {} prettier@3.9.10: {} - promise@7.3.1: - dependencies: - asap: 2.0.6 - - pug-attrs@3.0.0: - dependencies: - constantinople: 4.0.1 - js-stringify: 1.0.2 - pug-runtime: 3.0.1 - - pug-code-gen@3.0.4: - dependencies: - constantinople: 4.0.1 - doctypes: 1.1.0 - js-stringify: 1.0.2 - pug-attrs: 3.0.0 - pug-error: 2.1.0 - pug-runtime: 3.0.1 - void-elements: 3.1.0 - with: 7.0.2 - - pug-error@2.1.0: {} - - pug-filters@4.0.0: - dependencies: - constantinople: 4.0.1 - jstransformer: 1.0.0 - pug-error: 2.1.0 - pug-walk: 2.0.0 - resolve: 1.22.13 - - pug-lexer@5.0.1: - dependencies: - character-parser: 2.2.0 - is-expression: 4.0.0 - pug-error: 2.1.0 - - pug-linker@4.0.0: - dependencies: - pug-error: 2.1.0 - pug-walk: 2.0.0 - - pug-load@3.0.0: - dependencies: - object-assign: 4.1.1 - pug-walk: 2.0.0 - - pug-parser@6.0.0: - dependencies: - pug-error: 2.1.0 - token-stream: 1.0.0 - - pug-runtime@3.0.1: {} - - pug-strip-comments@2.0.0: - dependencies: - pug-error: 2.1.0 - - pug-walk@2.0.0: {} - - pug@3.0.4: - dependencies: - pug-code-gen: 3.0.4 - pug-filters: 4.0.0 - pug-lexer: 5.0.1 - pug-linker: 4.0.0 - pug-load: 3.0.0 - pug-parser: 6.0.0 - pug-runtime: 3.0.1 - pug-strip-comments: 2.0.0 - - pump@3.0.4: - dependencies: - end-of-stream: 1.4.5 - once: 1.4.0 - - queue-microtask@1.2.3: {} - - repeat-string@1.6.1: {} - resolve-from@5.0.0: {} - resolve@1.22.13: - dependencies: - es-errors: 1.3.0 - is-core-module: 2.17.0 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - reusify@1.1.0: {} - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - semver@7.8.5: {} - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - signal-exit@3.0.7: {} - smol-toml@1.9.1: {} - spark-md5@3.0.2: {} - - string-width@4.2.3: - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-final-newline@2.0.0: {} - - supports-preserve-symlinks-flag@1.0.0: {} - tinyglobby@0.2.17: dependencies: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - token-stream@1.0.0: {} - - universalify@2.0.1: {} - - void-elements@3.1.0: {} - vscode-languageserver-textdocument@1.0.16: {} vscode-uri@3.2.0: {} - which@2.0.2: - dependencies: - isexe: 2.0.0 - - with@7.0.2: - dependencies: - '@babel/parser': 7.29.12 - '@babel/types': 7.29.11 - assert-never: 1.4.0 - babel-walk: 3.0.0-canary-5 - - wrappy@1.0.2: {} - xdg-basedir@5.1.0: {} yaml@2.9.1: {} diff --git a/rails_test_app/create_app.rb b/rails_test_app/create_app.rb index 237fed82..593c43e4 100755 --- a/rails_test_app/create_app.rb +++ b/rails_test_app/create_app.rb @@ -321,9 +321,9 @@ def copy_template(file, target_path = nil) # e.g., %i[ mri mingw x64_mingw ] -> %i[ mri windows ] gemfile_content.gsub!(%r{%i\[\s*mri\s+mingw\s+x64_mingw\s*\]}, "%i[ mri windows ]") - # ActiveSupport's JSON encoder passes quirks_mode to JSON.generate, which json 3 rejects - # (fixed on Rails main) - if rails_version != "main" + # Before Rails 8.1, ActiveSupport's JSON encoder passes quirks_mode to JSON.generate, which + # json 3 rejects + if rails_version != "main" && Gem::Version.new(@rails_major_minor) < Gem::Version.new("8.1") gemfile_content += <<~GEMS gem "json", "< 3" GEMS diff --git a/sorbet/rbi/annotations/activejob.rbi b/sorbet/rbi/annotations/activejob.rbi index ae939e7d..adef71f8 100644 --- a/sorbet/rbi/annotations/activejob.rbi +++ b/sorbet/rbi/annotations/activejob.rbi @@ -43,6 +43,12 @@ class ActiveJob::Base def self.queue_with_priority(priority = nil, &block); end end +# @version >= 8.1.0.beta1 +module ActiveJob::Continuable + sig { params(step_name: Symbol, start: T.untyped, isolated: T::Boolean, block: T.nilable(T.proc.params(step: ActiveJob::Continuation::Step).void)).void } + def step(step_name, start: nil, isolated: false, &block); end +end + module ActiveJob::TestHelper sig { params(number: Integer, only: T.untyped, except: T.untyped, queue: T.nilable(T.any(String, Symbol)), block: T.nilable(T.proc.void)).returns(TrueClass) } def assert_enqueued_jobs(number, only: nil, except: nil, queue: nil, &block); end diff --git a/sorbet/rbi/annotations/activesupport.rbi b/sorbet/rbi/annotations/activesupport.rbi index 2b1ac7af..c0819215 100644 --- a/sorbet/rbi/annotations/activesupport.rbi +++ b/sorbet/rbi/annotations/activesupport.rbi @@ -567,4 +567,8 @@ module ActiveSupport::Testing::ErrorReporterAssertions # @version >= 7.1.0.rc1 sig { params(error_class: T.class_of(Exception), block: T.proc.void).returns(ActiveSupport::Testing::ErrorReporterAssertions::ErrorCollector::Report) } def assert_error_reported(error_class = T.unsafe(nil), &block); end + + # @version >= 8.1.0.beta1 + sig { params(error_class: T.class_of(Exception), block: T.proc.void).returns(T::Array[ActiveSupport::Testing::ErrorReporterAssertions::ErrorCollector::Report]) } + def capture_error_reports(error_class = T.unsafe(nil), &block); end end diff --git a/sorbet/rbi/annotations/railties.rbi b/sorbet/rbi/annotations/railties.rbi index 218bf0c9..820b3efa 100644 --- a/sorbet/rbi/annotations/railties.rbi +++ b/sorbet/rbi/annotations/railties.rbi @@ -24,6 +24,10 @@ module Rails sig { returns(ActiveSupport::ErrorReporter) } def error; end + # @version >= 8.1.0.beta1 + sig { returns(ActiveSupport::EventReporter) } + def event; end + # @version >= 7.1.0.rc1 sig { returns(ActiveSupport::BroadcastLogger) } def logger; end diff --git a/sorbet/rbi/gems/action_text-trix@2.1.19.rbi b/sorbet/rbi/gems/action_text-trix@2.1.19.rbi new file mode 100644 index 00000000..da7bff59 --- /dev/null +++ b/sorbet/rbi/gems/action_text-trix@2.1.19.rbi @@ -0,0 +1,15 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `action_text-trix` gem. +# Please instead update this file by running `bin/tapioca gem action_text-trix`. + + +# pkg:gem/action_text-trix#lib/action_text/trix/version.rb:1 +module Trix; end + +# pkg:gem/action_text-trix#lib/action_text/trix/engine.rb:2 +class Trix::Engine < ::Rails::Engine; end + +# pkg:gem/action_text-trix#lib/action_text/trix/version.rb:2 +Trix::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/actioncable@8.0.5.2.rbi b/sorbet/rbi/gems/actioncable@8.1.4.1.rbi similarity index 93% rename from sorbet/rbi/gems/actioncable@8.0.5.2.rbi rename to sorbet/rbi/gems/actioncable@8.1.4.1.rbi index 0c39d5e9..edbbcc6d 100644 --- a/sorbet/rbi/gems/actioncable@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actioncable@8.1.4.1.rbi @@ -9,13 +9,13 @@ # :include: ../README.md # :markup: markdown # -# pkg:gem/actioncable#lib/action_cable.rb:54 +# pkg:gem/actioncable#lib/action_cable.rb:57 module ActionCable private # Singleton instance of the server # - # pkg:gem/actioncable#lib/action_cable.rb:77 + # pkg:gem/actioncable#lib/action_cable.rb:80 def server; end class << self @@ -29,7 +29,7 @@ module ActionCable # Singleton instance of the server # - # pkg:gem/actioncable#lib/action_cable.rb:77 + # pkg:gem/actioncable#lib/action_cable.rb:80 def server; end # Returns the currently loaded version of Action Cable as a `Gem::Version`. @@ -39,7 +39,7 @@ module ActionCable end end -# pkg:gem/actioncable#lib/action_cable/channel/base.rb:9 +# pkg:gem/actioncable#lib/action_cable/channel/base.rb:10 module ActionCable::Channel; end # # Action Cable Channel Base @@ -142,7 +142,7 @@ module ActionCable::Channel; end # not have access to the chat room. On the client-side, the `Channel#rejected` # callback will get invoked when the server rejects the subscription request. # -# pkg:gem/actioncable#lib/action_cable/channel/base.rb:109 +# pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 class ActionCable::Channel::Base include ::ActiveSupport::Callbacks include ::ActionCable::Channel::Callbacks @@ -159,155 +159,161 @@ class ActionCable::Channel::Base extend ::ActionCable::Channel::Broadcasting::ClassMethods extend ::ActiveSupport::Rescuable::ClassMethods - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def initialize(connection, identifier, params = T.unsafe(nil)); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def __callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _run_subscribe_callbacks(&block); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + def _run_subscribe_callbacks!(&block); end + + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _run_unsubscribe_callbacks(&block); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + def _run_unsubscribe_callbacks!(&block); end + + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _subscribe_callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _unsubscribe_callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:117 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:118 def connection; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:117 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:118 def identifier; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:118 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:119 def logger(*, **, &); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:117 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:118 def params; end # Extract the action name from the passed data and process it via the channel. # The process will ensure that the action requested is a public method on the # channel declared by the user (so not one of the callbacks like #subscribed). # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def perform_action(data); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def periodic_timers=(_arg0); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers=(_arg0); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers?; end # This method is called after subscription has been added to the connection and # confirms or rejects the subscription. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def subscribe_to_channel; end # Called by the cable connection when it's cut, so the channel has a chance to # cleanup with callbacks. This method is not intended to be called directly by # the user. Instead, override the #unsubscribed callback. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def unsubscribe_from_channel; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def unsubscribed?; end private - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def action_signature(action, data); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def defer_subscription_confirmation!; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def defer_subscription_confirmation?; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def delegate_connection_identifiers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def dispatch_action(action, data); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def ensure_confirmation_sent; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def extract_action(data); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def parameter_filter; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def processable_action?(action); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def reject; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def reject_subscription; end # Called once a consumer has become a subscriber of the channel. Usually the # place to set up any streams you want this channel to be sending to the # subscriber. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def subscribed; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def subscription_confirmation_sent?; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def subscription_rejected?; end # Transmit a hash of data to the subscriber. The hash will automatically be # wrapped in a JSON envelope with the proper channel identifier marked as the # recipient. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def transmit(data, via: T.unsafe(nil)); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def transmit_subscription_confirmation; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def transmit_subscription_rejection; end # Called once a consumer has cut its cable connection. Can be used for cleaning # up connections or marking users as offline or the like. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:150 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:155 def unsubscribed; end class << self - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def __callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def __callbacks=(value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _subscribe_callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _subscribe_callbacks=(value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _unsubscribe_callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def _unsubscribe_callbacks=(value); end # A list of method names that should be considered actions. This includes all @@ -318,57 +324,60 @@ class ActionCable::Channel::Base # #### Returns # * `Set` - A set of all methods that should be considered actions. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:128 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:129 def action_methods; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def periodic_timers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def periodic_timers=(value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def periodic_timers?; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers=(value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def rescue_handlers?; end private - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def __class_attr___callbacks; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:110 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 def __class_attr___callbacks=(new_value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def __class_attr_periodic_timers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:111 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:112 def __class_attr_periodic_timers=(new_value); end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def __class_attr_rescue_handlers; end - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:115 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:116 def __class_attr_rescue_handlers=(new_value); end # action_methods are cached and there is sometimes need to refresh them. # ::clear_action_methods! allows you to do that, so next time you run # action_methods, they will be recalculated. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:144 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:149 def clear_action_methods!; end + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:159 + def internal_methods; end + # Refresh the cached action_methods when a new action_method is added. # - # pkg:gem/actioncable#lib/action_cable/channel/base.rb:149 + # pkg:gem/actioncable#lib/action_cable/channel/base.rb:154 def method_added(name); end end end @@ -388,20 +397,20 @@ end # pkg:gem/actioncable#lib/action_cable/channel/broadcasting.rb:12 module ActionCable::Channel::Broadcasting::ClassMethods - # Broadcast a hash to a unique broadcasting for this `model` in this channel. + # Broadcast a hash to a unique broadcasting for this array of `broadcastables` in this channel. # # pkg:gem/actioncable#lib/action_cable/channel/broadcasting.rb:14 - def broadcast_to(model, message); end + def broadcast_to(broadcastables, message); end # Returns a unique broadcasting identifier for this `model` in this channel: # # CommentsChannel.broadcasting_for("all") # => "comments:all" # - # You can pass any object as a target (e.g. Active Record model), and it would + # You can pass an array of objects as a target (e.g. Active Record model), and it would # be serialized into a string under the hood. # # pkg:gem/actioncable#lib/action_cable/channel/broadcasting.rb:24 - def broadcasting_for(model); end + def broadcasting_for(broadcastables); end private @@ -459,7 +468,7 @@ module ActionCable::Channel::Callbacks end end -# pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:47 +# pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:49 module ActionCable::Channel::Callbacks::ClassMethods # This callback will be triggered after the Base#subscribed method is called, # even if the subscription was rejected with the Base#reject method. @@ -469,25 +478,33 @@ module ActionCable::Channel::Callbacks::ClassMethods # # after_subscribe :my_method, unless: :subscription_rejected? # - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:60 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:62 def after_subscribe(*methods, &block); end - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:69 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:71 def after_unsubscribe(*methods, &block); end - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:48 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:50 def before_subscribe(*methods, &block); end - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:65 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:67 def before_unsubscribe(*methods, &block); end - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:63 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:65 def on_subscribe(*methods, &block); end - # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:72 + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:74 def on_unsubscribe(*methods, &block); end + + private + + # pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:77 + def internal_methods; end end +# pkg:gem/actioncable#lib/action_cable/channel/callbacks.rb:42 +ActionCable::Channel::Callbacks::INTERNAL_METHODS = T.let(T.unsafe(nil), Array) + # # Action Cable Channel Stub # # Stub `stream_from` to track streams for the channel. Add public aliases for @@ -732,7 +749,7 @@ module ActionCable::Channel::Streams # pkg:gem/actioncable#lib/action_cable/channel/streams.rb:123 def stop_stream_from(broadcasting); end - # Start streaming the pubsub queue for the `model` in this channel. Optionally, + # Start streaming the pubsub queue for the `broadcastables` in this channel. Optionally, # you can pass a `callback` that'll be used instead of the default of just # transmitting the updates straight to the subscriber. # @@ -741,7 +758,7 @@ module ActionCable::Channel::Streams # messages. # # pkg:gem/actioncable#lib/action_cable/channel/streams.rb:118 - def stream_for(model, callback = T.unsafe(nil), coder: T.unsafe(nil), &block); end + def stream_for(broadcastables, callback = T.unsafe(nil), coder: T.unsafe(nil), &block); end # Start streaming from the named `broadcasting` pubsub queue. Optionally, you # can pass a `callback` that'll be used instead of the default of just @@ -1181,7 +1198,10 @@ class ActionCable::Connection::Base def _command_callbacks; end # pkg:gem/actioncable#lib/action_cable/connection/base.rb:61 - def _run_command_callbacks(&block); end + def _run_command_callbacks; end + + # pkg:gem/actioncable#lib/action_cable/connection/base.rb:61 + def _run_command_callbacks!(&block); end # pkg:gem/actioncable#lib/action_cable/connection/base.rb:147 def beat; end @@ -1716,13 +1736,13 @@ class ActionCable::Connection::StreamEventLoop private - # pkg:gem/actioncable#lib/action_cable/connection/stream_event_loop.rb:86 + # pkg:gem/actioncable#lib/action_cable/connection/stream_event_loop.rb:87 def run; end # pkg:gem/actioncable#lib/action_cable/connection/stream_event_loop.rb:62 def spawn; end - # pkg:gem/actioncable#lib/action_cable/connection/stream_event_loop.rb:82 + # pkg:gem/actioncable#lib/action_cable/connection/stream_event_loop.rb:83 def wakeup; end end @@ -1880,7 +1900,7 @@ end # ## Connection is automatically inferred # # ActionCable::Connection::TestCase will automatically infer the connection -# under test from the test class name. If the channel cannot be inferred from +# under test from the test class name. If the connection cannot be inferred from # the test class name, you can explicitly set it with `tests`. # # class ConnectionTest < ActionCable::Connection::TestCase @@ -2110,7 +2130,7 @@ module ActionCable::Helpers::ActionCableHelper def action_cable_meta_tag; end end -# pkg:gem/actioncable#lib/action_cable.rb:58 +# pkg:gem/actioncable#lib/action_cable.rb:61 ActionCable::INTERNAL = T.let(T.unsafe(nil), Hash) # # Action Cable Remote Connections @@ -2214,7 +2234,7 @@ end # pkg:gem/actioncable#lib/action_cable/remote_connections.rb:48 class ActionCable::RemoteConnections::RemoteConnection::InvalidIdentifiersError < ::StandardError; end -# pkg:gem/actioncable#lib/action_cable/server/base.rb:8 +# pkg:gem/actioncable#lib/action_cable/server/base.rb:9 module ActionCable::Server; end # # Action Cable Server Base @@ -2227,54 +2247,54 @@ module ActionCable::Server; end # Also, this is the server instance used for broadcasting. See Broadcasting for # more information. # -# pkg:gem/actioncable#lib/action_cable/server/base.rb:18 +# pkg:gem/actioncable#lib/action_cable/server/base.rb:19 class ActionCable::Server::Base include ::ActionCable::Server::Broadcasting include ::ActionCable::Server::Connections - # pkg:gem/actioncable#lib/action_cable/server/base.rb:31 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:32 def initialize(config: T.unsafe(nil)); end # Called by Rack to set up the server. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:38 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:39 def call(env); end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:24 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:25 def config; end # All of the identifiers applied to the connection class associated with this # server. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:102 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:103 def connection_identifiers; end # Disconnect all the connections identified by `identifiers` on this server or # any others via RemoteConnections. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:46 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:47 def disconnect(identifiers); end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:71 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:72 def event_loop; end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:27 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:28 def logger(*, **, &); end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:29 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:30 def mutex; end # Adapter used for all streams/broadcasting. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:96 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:97 def pubsub; end # Gateway to RemoteConnections. See that class for details. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:67 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:68 def remote_connections; end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:50 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:51 def restart; end # The worker pool is where we run connection callbacks and channel actions. We @@ -2294,17 +2314,17 @@ class ActionCable::Server::Base # connections. Use a smaller worker pool or a larger database connection pool # instead. # - # pkg:gem/actioncable#lib/action_cable/server/base.rb:91 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:92 def worker_pool; end class << self - # pkg:gem/actioncable#lib/action_cable/server/base.rb:22 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:23 def config; end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:22 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:23 def config=(val); end - # pkg:gem/actioncable#lib/action_cable/server/base.rb:26 + # pkg:gem/actioncable#lib/action_cable/server/base.rb:27 def logger; end end end @@ -2326,42 +2346,44 @@ end # ActionCable.server.broadcast \ # "web_notifications_1", { title: "New things!", body: "All that's fit for print" } # -# # Client-side CoffeeScript, which assumes you've already requested the right to send web notifications: -# App.cable.subscriptions.create "WebNotificationsChannel", -# received: (data) -> -# new Notification data['title'], body: data['body'] +# # Client-side JavaScript, which assumes you've already requested the right to send web notifications: +# App.cable.subscriptions.create("WebNotificationsChannel", { +# received: function(data) { +# new Notification(data['title'], { body: data['body'] }) +# } +# }) # -# pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:28 +# pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:30 module ActionCable::Server::Broadcasting # Broadcast a hash directly to a named `broadcasting`. This will later be JSON # encoded. # - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:31 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:33 def broadcast(broadcasting, message, coder: T.unsafe(nil)); end # Returns a broadcaster for a named `broadcasting` that can be reused. Useful # when you have an object that may need multiple spots to transmit to a specific # broadcasting over and over. # - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:38 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:40 def broadcaster_for(broadcasting, coder: T.unsafe(nil)); end end -# pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:43 +# pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:45 class ActionCable::Server::Broadcasting::Broadcaster - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:46 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:48 def initialize(server, broadcasting, coder:); end - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:50 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:52 def broadcast(message); end - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:44 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:46 def broadcasting; end - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:44 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:46 def coder; end - # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:44 + # pkg:gem/actioncable#lib/action_cable/server/broadcasting.rb:46 def server; end end @@ -2520,6 +2542,9 @@ class ActionCable::Server::Worker # pkg:gem/actioncable#lib/action_cable/server/worker.rb:16 def _run_work_callbacks(&block); end + # pkg:gem/actioncable#lib/action_cable/server/worker.rb:16 + def _run_work_callbacks!(&block); end + # pkg:gem/actioncable#lib/action_cable/server/worker.rb:16 def _work_callbacks; end diff --git a/sorbet/rbi/gems/actionmailbox@8.0.5.2.rbi b/sorbet/rbi/gems/actionmailbox@8.1.4.1.rbi similarity index 95% rename from sorbet/rbi/gems/actionmailbox@8.0.5.2.rbi rename to sorbet/rbi/gems/actionmailbox@8.1.4.1.rbi index 1e1d7604..bc00484b 100644 --- a/sorbet/rbi/gems/actionmailbox@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actionmailbox@8.1.4.1.rbi @@ -154,7 +154,7 @@ end # # private # def ensure_sender_is_a_user -# unless User.exist?(email_address: mail.from) +# unless User.exists?(email_address: mail.from) # bounce_with UserRequiredMailer.missing(inbound_email) # end # end @@ -195,7 +195,10 @@ class ActionMailbox::Base def _process_callbacks; end # pkg:gem/actionmailbox#lib/action_mailbox/base.rb:68 - def _run_process_callbacks(&block); end + def _run_process_callbacks; end + + # pkg:gem/actionmailbox#lib/action_mailbox/base.rb:68 + def _run_process_callbacks!(&block); end # Immediately sends the given +message+ and changes the inbound email's status to +:bounced+. # @@ -315,6 +318,8 @@ class ActionMailbox::BaseController < ::ActionController::Base def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -371,6 +376,11 @@ class ActionMailbox::InboundEmail < ::ActionMailbox::Record include ::ActionMailbox::InboundEmail::Incineratable extend ::ActionMailbox::InboundEmail::MessageId::ClassMethods + def _run_commit_callbacks(&block); end + def _run_create_callbacks(&block); end + def _run_destroy_callbacks(&block); end + def _run_save_callbacks(&block); end + def _run_update_callbacks(&block); end def autosave_associated_records_for_raw_email_attachment(*args); end def autosave_associated_records_for_raw_email_blob(*args); end def instrumentation_payload; end @@ -503,6 +513,8 @@ class ActionMailbox::Ingresses::Mailgun::InboundEmailsController < ::ActionMailb def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -544,6 +556,8 @@ class ActionMailbox::Ingresses::Mandrill::InboundEmailsController < ::ActionMail def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -578,6 +592,8 @@ class ActionMailbox::Ingresses::Postmark::InboundEmailsController < ::ActionMail def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -598,6 +614,8 @@ class ActionMailbox::Ingresses::Relay::InboundEmailsController < ::ActionMailbox def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -619,6 +637,8 @@ class ActionMailbox::Ingresses::Sendgrid::InboundEmailsController < ::ActionMail def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -861,10 +881,10 @@ end # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:4 class Mail::Message - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:21 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:25 def bcc_addresses; end - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:17 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:21 def cc_addresses; end # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:5 @@ -873,21 +893,24 @@ class Mail::Message # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/recipients.rb:5 def recipients; end - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:9 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:13 def recipients_addresses; end - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:13 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:9 + def reply_to_address; end + + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:17 def to_addresses; end - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:29 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:33 def x_forwarded_to_addresses; end - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:25 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:29 def x_original_to_addresses; end private - # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:34 + # pkg:gem/actionmailbox#lib/action_mailbox/mail_ext/addresses.rb:38 def address_list(obj); end end @@ -907,6 +930,8 @@ class Rails::Conductor::ActionMailbox::InboundEmails::SourcesController < ::Rail class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -928,6 +953,8 @@ class Rails::Conductor::ActionMailbox::InboundEmailsController < ::Rails::Conduc class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -943,6 +970,8 @@ class Rails::Conductor::ActionMailbox::IncineratesController < ::Rails::Conducto class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -959,6 +988,8 @@ class Rails::Conductor::ActionMailbox::ReroutesController < ::Rails::Conductor:: class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -979,6 +1010,8 @@ class Rails::Conductor::BaseController < ::ActionController::Base def __class_attr__layout=(new_value); end def __class_attr__layout_conditions; end def __class_attr__layout_conditions=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end diff --git a/sorbet/rbi/gems/actionmailer@8.0.5.2.rbi b/sorbet/rbi/gems/actionmailer@8.1.4.1.rbi similarity index 83% rename from sorbet/rbi/gems/actionmailer@8.0.5.2.rbi rename to sorbet/rbi/gems/actionmailer@8.1.4.1.rbi index 91bad8c2..22f96b64 100644 --- a/sorbet/rbi/gems/actionmailer@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actionmailer@8.1.4.1.rbi @@ -12,10 +12,24 @@ module ActionMailer extend ::ActiveSupport::Autoload class << self + # Enqueue many emails at once to be delivered through Active Job. + # When the individual job runs, it will send the email using +deliver_now+. + # + # pkg:gem/actionmailer#lib/action_mailer.rb:64 + def deliver_all_later(*deliveries, **options); end + + # Enqueue many emails at once to be delivered through Active Job. + # When the individual job runs, it will send the email using +deliver_now!+. + # That means that the message will be sent bypassing checking +perform_deliveries+ + # and +raise_delivery_errors+, so use with caution. + # + # pkg:gem/actionmailer#lib/action_mailer.rb:72 + def deliver_all_later!(*deliveries, **options); end + # pkg:gem/actionmailer#lib/action_mailer/deprecator.rb:4 def deprecator; end - # pkg:gem/actionmailer#lib/action_mailer.rb:61 + # pkg:gem/actionmailer#lib/action_mailer.rb:76 def eager_load!; end # Returns the currently loaded version of Action Mailer as a +Gem::Version+. @@ -28,6 +42,11 @@ module ActionMailer # # pkg:gem/actionmailer#lib/action_mailer/version.rb:8 def version; end + + private + + # pkg:gem/actionmailer#lib/action_mailer.rb:88 + def _deliver_all_later(delivery_method, *deliveries, **options); end end end @@ -494,7 +513,7 @@ end # * deliver_later_queue_name - The queue name used by deliver_later with the default # delivery_job. Mailers can set this to use a custom queue name. # -# pkg:gem/actionmailer#lib/action_mailer/base.rb:476 +# pkg:gem/actionmailer#lib/action_mailer/base.rb:477 class ActionMailer::Base < ::AbstractController::Base include ::ActionMailer::Callbacks include ::ActiveSupport::Callbacks @@ -536,59 +555,65 @@ class ActionMailer::Base < ::AbstractController::Base extend ::ActionView::Rendering::ClassMethods extend ::ActionView::Layouts::ClassMethods - # pkg:gem/actionmailer#lib/action_mailer/base.rb:638 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:649 def initialize; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def __callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def _deliver_callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout_conditions; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout_conditions?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def _process_action_callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 - def _run_deliver_callbacks(&block); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + def _run_deliver_callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + def _run_deliver_callbacks!(&block); end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def _run_process_action_callbacks(&block); end # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + def _run_process_action_callbacks!(&block); end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def asset_host; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def asset_host(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def asset_host=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def asset_host=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def assets_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def assets_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def assets_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def assets_dir=(arg); end # Allows you to add attachments to an email, like so: # @@ -619,95 +644,95 @@ class ActionMailer::Base < ::AbstractController::Base # # or by index # mail.attachments[0] # => Mail::Part (first attachment) # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:755 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:766 def attachments; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def default_asset_host_protocol; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def default_asset_host_protocol(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def default_asset_host_protocol=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def default_asset_host_protocol=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def default_static_extension; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def default_static_extension(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def default_static_extension=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def default_static_extension=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods?; end # Returns an email in the format "Name ". # # If the name is a blank string, it returns just the address. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:679 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:690 def email_address_with_name(address, name); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def enable_fragment_cache_logging; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys?; end # Allows you to pass random and unusual headers to the new +Mail::Message+ @@ -745,20 +770,20 @@ class ActionMailer::Base < ::AbstractController::Base # +nil+ in order to reset the value otherwise another field will be added # for the same header. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:717 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:728 def headers(args = T.unsafe(nil)); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def javascripts_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def javascripts_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def javascripts_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def javascripts_dir=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:489 - def logger; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + def logger(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:489 - def logger=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + def logger=(arg); end # The main method that creates the message and renders the email templates. There are # two ways to call this method, with a block, or without a block. @@ -849,140 +874,140 @@ class ActionMailer::Base < ::AbstractController::Base # format.html # end # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:864 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:875 def mail(headers = T.unsafe(nil), &block); end # Returns the name of the mailer object. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:672 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:683 def mailer_name; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:636 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:647 def message; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:636 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:647 def message=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 def params; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 def params=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def perform_caching; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def perform_caching(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def perform_caching=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def perform_caching=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def perform_deliveries; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def perform_deliveries=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_interceptors; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_paths; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:644 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:655 def process(method_name, *args, **); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def raise_delivery_errors; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def raise_delivery_errors=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def raise_on_missing_callback_actions; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def raise_on_missing_callback_actions=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def relative_url_root; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def relative_url_root(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def relative_url_root=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def relative_url_root=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def show_previews; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def stylesheets_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def stylesheets_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def stylesheets_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def stylesheets_dir=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings?; end private - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout(lookup_context, formats, keys); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1065 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1076 def _protected_ivars; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:941 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:952 def apply_defaults(headers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:961 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:972 def assign_headers_to_message(message, headers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:967 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:978 def collect_responses(headers, &block); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:977 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:988 def collect_responses_from_block(headers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:991 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1002 def collect_responses_from_templates(headers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:984 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:995 def collect_responses_from_text(headers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:951 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:962 def compute_default(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1034 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1045 def create_parts_from_responses(m, responses); end # Translates the +subject+ using \Rails I18n class under [mailer_scope, action_name] scope. @@ -990,21 +1015,21 @@ class ActionMailer::Base < ::AbstractController::Base # humanized version of the action_name. # If the subject has interpolations, you can pass them through the +interpolations+ parameter. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:931 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:942 def default_i18n_subject(interpolations = T.unsafe(nil)); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1004 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1015 def each_template(paths, name, &block); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1047 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1058 def insert_part(container, response, charset); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1061 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1072 def instrument_name; end # This and #instrument_name is for caching instrument # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1054 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1065 def instrument_payload(key); end # Used by #mail to set the content type of the message. @@ -1017,132 +1042,135 @@ class ActionMailer::Base < ::AbstractController::Base # attachments, or the message is multipart, then the default content type is # used. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:909 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:920 def set_content_type(m, user_content_type, class_default); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:1013 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:1024 def wrap_inline_attachments(message); end class << self - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def __callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def __callbacks=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:484 def _default_form_builder; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:484 def _default_form_builder=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:484 def _default_form_builder?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def _deliver_callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def _deliver_callbacks=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helper_methods?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def _helpers; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout_conditions; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout_conditions=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def _layout_conditions?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def _process_action_callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def _process_action_callbacks=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def _view_cache_dependencies?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def asset_host; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:614 + def action_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def asset_host=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def asset_host(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def assets_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def asset_host=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def assets_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def assets_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:575 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def assets_dir=(arg); end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:576 def controller_path; end # Allows to set defaults through app configuration: # # config.action_mailer.default_options = { from: "no-reply@example.org" } # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:580 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:581 def default(value = T.unsafe(nil)); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def default_asset_host_protocol; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def default_asset_host_protocol(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def default_asset_host_protocol=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def default_asset_host_protocol=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:584 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:585 def default_options=(value = T.unsafe(nil)); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def default_params?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def default_static_extension; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def default_static_extension(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def default_static_extension=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def default_static_extension=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def deliver_later_queue_name?; end # Wraps an email delivery inside of ActiveSupport::Notifications instrumentation. @@ -1152,397 +1180,406 @@ class ActionMailer::Base < ::AbstractController::Base # calling +deliver_mail+ directly and passing a +Mail::Message+ will do # nothing except tell the logger you sent the email. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:592 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:593 def deliver_mail(mail); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def delivery_job?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_method?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def delivery_methods?; end # Returns an email in the format "Name ". # # If the name is a blank string, it returns just the address. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:602 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:603 def email_address_with_name(address, name); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def enable_fragment_cache_logging; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def file_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def fragment_cache_keys?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def javascripts_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def javascripts_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def javascripts_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def javascripts_dir=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:489 - def logger; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + def logger(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:489 - def logger=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + def logger=(arg); end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:610 + def mail(*, **, &); end # Returns the name of the current mailer. This method is also being used as a path for a view lookup. # If this is an anonymous mailer, this method will return +anonymous+ instead. # Allows to set the name of current mailer. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:570 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:571 def mailer_name; end # Returns the name of the current mailer. This method is also being used as a path for a view lookup. # If this is an anonymous mailer, this method will return +anonymous+ instead. # Allows to set the name of current mailer. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:574 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:575 def mailer_name=(_arg0); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def perform_caching; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def perform_caching(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 - def perform_caching=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 + def perform_caching=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def perform_deliveries; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def perform_deliveries=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_interceptors; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_interceptors=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_paths; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def preview_paths=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def raise_delivery_errors; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def raise_delivery_errors=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def raise_on_missing_callback_actions; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 def raise_on_missing_callback_actions=(val); end # Register an Interceptor which will be called before mail is sent. # Either a class, string, or symbol can be passed in as the Interceptor. # If a string or symbol is passed in it will be camelized and constantized. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:547 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:548 def register_interceptor(interceptor); end # Register one or more Interceptors which will be called before mail is sent. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:521 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:522 def register_interceptors(*interceptors); end # Register an Observer which will be notified when mail is delivered. # Either a class, string, or symbol can be passed in as the Observer. # If a string or symbol is passed in it will be camelized and constantized. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:533 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:534 def register_observer(observer); end # Register one or more Observers which will be notified when mail is delivered. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:511 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:512 def register_observers(*observers); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def relative_url_root; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def relative_url_root(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def relative_url_root=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def relative_url_root=(arg); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def rescue_handlers?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def sendmail_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def show_previews; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:482 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 def show_previews=(val); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def smtp_settings?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def stylesheets_dir; end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def stylesheets_dir(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:492 - def stylesheets_dir=(value); end + # pkg:gem/actionmailer#lib/action_mailer/base.rb:493 + def stylesheets_dir=(arg); end # Emails do not support relative path links. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:937 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:948 def supports_path?; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings=(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def test_settings?; end # Unregister a previously registered Interceptor. # Either a class, string, or symbol can be passed in as the Interceptor. # If a string or symbol is passed in it will be camelized and constantized. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:554 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:555 def unregister_interceptor(interceptor); end # Unregister one or more previously registered Interceptors. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:526 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:527 def unregister_interceptors(*interceptors); end # Unregister a previously registered Observer. # Either a class, string, or symbol can be passed in as the Observer. # If a string or symbol is passed in it will be camelized and constantized. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:540 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:541 def unregister_observer(observer); end # Unregister one or more previously registered Observers. # - # pkg:gem/actionmailer#lib/action_mailer/base.rb:516 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:517 def unregister_observers(*observers); end private - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def __class_attr___callbacks; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 def __class_attr___callbacks=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:484 def __class_attr__default_form_builder; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:483 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:484 def __class_attr__default_form_builder=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def __class_attr__helper_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:490 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:491 def __class_attr__helper_methods=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def __class_attr__layout; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def __class_attr__layout=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def __class_attr__layout_conditions; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:496 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:497 def __class_attr__layout_conditions=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def __class_attr__view_cache_dependencies; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def __class_attr__view_cache_dependencies=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + def __class_attr_config; end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:477 + def __class_attr_config=(new_value); end + + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def __class_attr_default_params; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:502 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:503 def __class_attr_default_params=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def __class_attr_deliver_later_queue_name; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def __class_attr_deliver_later_queue_name=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def __class_attr_delivery_job; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 def __class_attr_delivery_job=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_delivery_method; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_delivery_method=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_delivery_methods; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_delivery_methods=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_file_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_file_settings=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def __class_attr_fragment_cache_keys; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def __class_attr_fragment_cache_keys=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def __class_attr_rescue_handlers; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:480 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:481 def __class_attr_rescue_handlers=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_sendmail_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_sendmail_settings=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_smtp_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_smtp_settings=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_test_settings; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:478 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:479 def __class_attr_test_settings=(new_value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:623 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:634 def method_missing(method_name, *, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:558 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:559 def observer_class_for(value); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:631 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:642 def respond_to_missing?(method, include_all = T.unsafe(nil)); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:610 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:621 def set_payload_for_mail(payload, mail); end end end -# pkg:gem/actionmailer#lib/action_mailer/base.rb:490 +# pkg:gem/actionmailer#lib/action_mailer/base.rb:491 module ActionMailer::Base::HelperMethods include ::ActionMailer::MailHelper include ::ActionText::ContentHelper include ::ActionText::TagHelper - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def combined_fragment_cache_key(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:494 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:495 def view_cache_dependencies(*, **, &); end end -# pkg:gem/actionmailer#lib/action_mailer/base.rb:763 +# pkg:gem/actionmailer#lib/action_mailer/base.rb:774 class ActionMailer::Base::LateAttachmentsProxy < ::SimpleDelegator - # pkg:gem/actionmailer#lib/action_mailer/base.rb:765 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:776 def []=(_name, _content); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:764 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:775 def inline; end private - # pkg:gem/actionmailer#lib/action_mailer/base.rb:768 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:779 def _raise_error; end end -# pkg:gem/actionmailer#lib/action_mailer/base.rb:658 +# pkg:gem/actionmailer#lib/action_mailer/base.rb:669 class ActionMailer::Base::NullMail - # pkg:gem/actionmailer#lib/action_mailer/base.rb:659 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:670 def body; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:660 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:671 def header; end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:666 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:677 def method_missing(*, **, &); end - # pkg:gem/actionmailer#lib/action_mailer/base.rb:662 + # pkg:gem/actionmailer#lib/action_mailer/base.rb:673 def respond_to?(string, include_all = T.unsafe(nil)); end end -# pkg:gem/actionmailer#lib/action_mailer/base.rb:498 +# pkg:gem/actionmailer#lib/action_mailer/base.rb:499 ActionMailer::Base::PROTECTED_IVARS = T.let(T.unsafe(nil), Array) # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:4 @@ -1566,26 +1603,32 @@ module ActionMailer::Callbacks end end -# pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:12 +# pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:14 module ActionMailer::Callbacks::ClassMethods # Defines a callback that will get called right after the # message's delivery method is finished. # - # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:21 + # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:23 def after_deliver(*filters, &blk); end # Defines a callback that will get called around the message's deliver method. # - # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:26 + # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:28 def around_deliver(*filters, &blk); end # Defines a callback that will get called right before the # message is sent to the delivery method. # - # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:15 + # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:17 def before_deliver(*filters, &blk); end + + # pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:32 + def internal_methods; end end +# pkg:gem/actionmailer#lib/action_mailer/callbacks.rb:7 +ActionMailer::Callbacks::DEFAULT_INTERNAL_METHODS = T.let(T.unsafe(nil), Array) + # pkg:gem/actionmailer#lib/action_mailer/collector.rb:8 class ActionMailer::Collector include ::AbstractController::Collector @@ -1728,7 +1771,7 @@ module ActionMailer::FormBuilder::ClassMethods # in the views rendered by this mailer and its subclasses. # # ==== Parameters - # * builder - Default form builder, an instance of ActionView::Helpers::FormBuilder + # * builder - Default form builder. Accepts a subclass of ActionView::Helpers::FormBuilder # # pkg:gem/actionmailer#lib/action_mailer/form_builder.rb:27 def default_form_builder(builder); end @@ -1778,35 +1821,30 @@ end # pkg:gem/actionmailer#lib/action_mailer/inline_preview_interceptor.rb:18 ActionMailer::InlinePreviewInterceptor::PATTERN = T.let(T.unsafe(nil), Regexp) -# = Action Mailer \LogSubscriber -# -# Implements the ActiveSupport::LogSubscriber for logging notifications when -# email is delivered or received. -# -# pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:10 +# pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:7 class ActionMailer::LogSubscriber < ::ActiveSupport::LogSubscriber # An email was delivered. # - # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:12 + # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:8 def deliver(event); end # Use the logger configured for ActionMailer::Base. # - # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:38 + # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:34 def logger; end # An email was generated. # - # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:28 + # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:24 def process(event); end class << self private - # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:25 + # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:21 def __class_attr_log_levels; end - # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:25 + # pkg:gem/actionmailer#lib/action_mailer/log_subscriber.rb:21 def __class_attr_log_levels=(new_value); end end end @@ -1888,7 +1926,7 @@ module ActionMailer::MailHelper # my_text = 'Here is a sample text with more than 40 characters' # # format_paragraph(my_text, 25, 4) - # # => " Here is a sample text with\n more than 40 characters" + # # => " Here is a sample text\n with more than 40\n characters" # # pkg:gem/actionmailer#lib/action_mailer/mail_helper.rb:65 def format_paragraph(text, len = T.unsafe(nil), indent = T.unsafe(nil)); end @@ -1920,19 +1958,25 @@ end # # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:19 class ActionMailer::MessageDelivery - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:20 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:22 def initialize(mailer_class, action, *args, **); end # Method calls are delegated to the Mail::Message that's ready to deliver. # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:31 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:33 def __getobj__; end # Unused except for delegator internals (dup, marshalling). # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:36 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:38 def __setobj__(mail_message); end + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:20 + def action; end + + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:20 + def args; end + # Enqueues the email to be delivered through Active Job. When the # job runs it will send the email using +deliver_now+. # @@ -1957,7 +2001,7 @@ class ActionMailer::MessageDelivery # self.delivery_job = RegistrationDeliveryJob # end # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:102 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:104 def deliver_later(options = T.unsafe(nil)); end # Enqueues the email to be delivered through Active Job. When the @@ -1986,14 +2030,14 @@ class ActionMailer::MessageDelivery # self.delivery_job = RegistrationDeliveryJob # end # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:75 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:77 def deliver_later!(options = T.unsafe(nil)); end # Delivers an email: # # Notifier.welcome(User.first).deliver_now # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:123 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:125 def deliver_now; end # Delivers an email without checking +perform_deliveries+ and +raise_delivery_errors+, @@ -2001,28 +2045,34 @@ class ActionMailer::MessageDelivery # # Notifier.welcome(User.first).deliver_now! # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:111 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:113 def deliver_now!; end + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:20 + def mailer_class; end + # Returns the resulting Mail::Message # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:41 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:43 def message; end + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:20 + def params; end + # Was the delegate loaded, causing the mailer action to be processed? # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:46 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:48 def processed?; end private - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:140 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:142 def enqueue_delivery(delivery_method, options = T.unsafe(nil)); end # Returns the processed Mailer instance. We keep this instance # on hand so we can run callbacks and delegate exception handling to it. # - # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:134 + # pkg:gem/actionmailer#lib/action_mailer/message_delivery.rb:136 def processed_mailer; end end @@ -2341,6 +2391,29 @@ module ActionMailer::Rescuable::ClassMethods def handle_exception(exception); end end +# pkg:gem/actionmailer#lib/action_mailer/structured_event_subscriber.rb:7 +class ActionMailer::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # An email was delivered. + # + # pkg:gem/actionmailer#lib/action_mailer/structured_event_subscriber.rb:8 + def deliver(event); end + + # An email was generated. + # + # pkg:gem/actionmailer#lib/action_mailer/structured_event_subscriber.rb:27 + def process(event); end + + class << self + private + + # pkg:gem/actionmailer#lib/action_mailer/structured_event_subscriber.rb:24 + def __class_attr_debug_methods; end + + # pkg:gem/actionmailer#lib/action_mailer/structured_event_subscriber.rb:24 + def __class_attr_debug_methods=(new_value); end + end +end + # pkg:gem/actionmailer#lib/action_mailer/test_case.rb:15 class ActionMailer::TestCase < ::ActiveSupport::TestCase include ::ActiveSupport::Testing::ConstantLookup @@ -2361,6 +2434,12 @@ class ActionMailer::TestCase < ::ActiveSupport::TestCase # pkg:gem/actionmailer#lib/action_mailer/test_case.rb:41 def _mailer_class?; end + # pkg:gem/actionmailer#lib/action_mailer/test_case.rb:42 + def _run_setup_callbacks(&block); end + + # pkg:gem/actionmailer#lib/action_mailer/test_case.rb:44 + def _run_teardown_callbacks(&block); end + class << self # pkg:gem/actionmailer#lib/action_mailer/test_case.rb:41 def _mailer_class; end @@ -2514,7 +2593,7 @@ module ActionMailer::TestHelper # # def test_email_with_parameters # ContactMailer.with(greeting: "Hello").welcome.deliver_later - # assert_enqueued_email_with ContactMailer, :welcome, args: { greeting: "Hello" } + # assert_enqueued_email_with ContactMailer, :welcome, params: { greeting: "Hello" } # end # # def test_email_with_arguments @@ -2558,16 +2637,7 @@ module ActionMailer::TestHelper # end # end # - # If +args+ is provided as a Hash, a parameterized email is matched. - # - # def test_parameterized_email - # assert_enqueued_email_with ContactMailer, :welcome, - # args: {email: 'user@example.com'} do - # ContactMailer.with(email: 'user@example.com').welcome.deliver_later - # end - # end - # - # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:157 + # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:148 def assert_enqueued_email_with(mailer, method, params: T.unsafe(nil), args: T.unsafe(nil), queue: T.unsafe(nil), &block); end # Asserts that the number of emails enqueued for later delivery matches @@ -2637,7 +2707,7 @@ module ActionMailer::TestHelper # end # end # - # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:191 + # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:182 def assert_no_enqueued_emails(&block); end # Returns any emails that are sent in the block. @@ -2655,7 +2725,7 @@ module ActionMailer::TestHelper # assert_equal "Hi there", emails.first.subject # end # - # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:249 + # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:240 def capture_emails(&block); end # Delivers all enqueued emails. If a block is given, delivers all of the emails @@ -2695,12 +2765,12 @@ module ActionMailer::TestHelper # If the +:at+ option is specified, then only delivers emails enqueued to deliver # immediately or before the given time. # - # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:231 + # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:222 def deliver_enqueued_emails(queue: T.unsafe(nil), at: T.unsafe(nil), &block); end private - # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:258 + # pkg:gem/actionmailer#lib/action_mailer/test_helper.rb:249 def delivery_job_filter(job); end end diff --git a/sorbet/rbi/gems/actionpack@8.0.5.2.rbi b/sorbet/rbi/gems/actionpack@8.1.4.1.rbi similarity index 87% rename from sorbet/rbi/gems/actionpack@8.0.5.2.rbi rename to sorbet/rbi/gems/actionpack@8.1.4.1.rbi index 1ba9eedf..d43b0499 100644 --- a/sorbet/rbi/gems/actionpack@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actionpack@8.1.4.1.rbi @@ -22,20 +22,20 @@ end # Raised when a non-existing controller action is triggered. # -# pkg:gem/actionpack#lib/abstract_controller/base.rb:13 +# pkg:gem/actionpack#lib/abstract_controller/base.rb:12 class AbstractController::ActionNotFound < ::StandardError include ::DidYouMean::Correctable - # pkg:gem/actionpack#lib/abstract_controller/base.rb:16 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:15 def initialize(message = T.unsafe(nil), controller = T.unsafe(nil), action = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:14 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:13 def action; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:14 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:13 def controller; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:25 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:24 def corrections; end end @@ -51,21 +51,19 @@ end # their own `render` method, since rendering means different things depending on # the context. # -# pkg:gem/actionpack#lib/abstract_controller/base.rb:37 +# pkg:gem/actionpack#lib/abstract_controller/base.rb:36 class AbstractController::Base - include ::ActiveSupport::Configurable - extend ::ActiveSupport::Configurable::ClassMethods extend ::ActiveSupport::DescendantsTracker # Delegates to the class's ::action_methods. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def action_methods; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:44 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:43 def action_name; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:44 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:43 def action_name=(_arg0); end # Returns true if a method for the action is available and can be dispatched, @@ -79,27 +77,33 @@ class AbstractController::Base # #### Parameters # * `action_name` - The name of an action to be tested # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def available_action?(action_name); end + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def config; end + + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def config=(_arg0); end + # Delegates to the class's ::controller_path. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def controller_path; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:48 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:47 def formats; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:48 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:47 def formats=(_arg0); end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def inspect; end # Tests if a response body is set. Used to determine if the `process_action` # callback needs to be terminated in AbstractController::Callbacks. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def performed?; end # Calls the action going through the entire Action Dispatch stack. @@ -108,13 +112,13 @@ class AbstractController::Base # If no method can handle the action, then an AbstractController::ActionNotFound # error is raised. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def process(action, *, **, &); end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:40 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:39 def response_body; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:40 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:39 def response_body=(_arg0); end # Actually call the method associated with the action. Override this method if @@ -122,7 +126,7 @@ class AbstractController::Base # behavior around it. For example, you would override #send_action if you want # to inject arguments into the method. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def send_action(*_arg0); end private @@ -144,19 +148,19 @@ class AbstractController::Base # # Raise `AbstractController::ActionNotFound`. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def _find_action_name(action_name); end # If the action name was not found, but a method called "action_missing" was # found, #method_for_action will return "_handle_action_missing". This method # calls #action_missing with the current action name. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def _handle_action_missing(*args); end # Checks if the action name is valid and returns false otherwise. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def _valid_action_name?(action_name); end # Returns true if the name can be considered an action because it has a method @@ -165,7 +169,7 @@ class AbstractController::Base # #### Parameters # * `name` - The name of an action to be tested # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def action_method?(name); end # Takes an action name and returns the name of the method that will handle the @@ -192,7 +196,7 @@ class AbstractController::Base # * `string` - The name of the method that handles the action # * `nil` - No method name could be found. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def method_for_action(action_name); end # Call the action. Override this in a subclass to modify the behavior around @@ -202,19 +206,19 @@ class AbstractController::Base # Notice that the first argument is the method to be dispatched which is **not** # necessarily the same as the action name. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:126 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:128 def process_action(*, **, &); end class << self - # pkg:gem/actionpack#lib/abstract_controller/base.rb:54 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:53 def abstract; end # Define a controller as abstract. See internal_methods for more details. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:58 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:57 def abstract!; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:55 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:54 def abstract?; end # A `Set` of method names that should be considered actions. This includes all @@ -229,9 +233,18 @@ class AbstractController::Base # ::clear_action_methods! allows you to do that, so next time you run # action_methods, they will be recalculated. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:108 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:106 def clear_action_methods!; end + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def config; end + + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def config=(value); end + + # pkg:gem/actionpack#lib/abstract_controller/base.rb:122 + def configure; end + # Returns the full controller name, underscored, without the ending Controller. # # class MyApp::MyPostsController < AbstractController::Base @@ -240,13 +253,13 @@ class AbstractController::Base # # MyApp::MyPostsController.controller_path # => "my_app/my_posts" # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:120 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:118 def controller_path; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:130 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:132 def eager_load!; end - # pkg:gem/actionpack#lib/abstract_controller/base.rb:62 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:61 def inherited(klass); end # A list of all internal methods for a controller. This finds the first abstract @@ -261,15 +274,23 @@ class AbstractController::Base # Refresh the cached action_methods when a new action_method is added. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:125 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:127 def method_added(name); end # Returns true if the given controller is capable of rendering a path. A # subclass of `AbstractController::Base` may return false. An Email controller # for example does not support paths, only full URLs. # - # pkg:gem/actionpack#lib/abstract_controller/base.rb:189 + # pkg:gem/actionpack#lib/abstract_controller/base.rb:191 def supports_path?; end + + private + + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def __class_attr_config; end + + # pkg:gem/actionpack#lib/abstract_controller/base.rb:49 + def __class_attr_config=(new_value); end end end @@ -282,42 +303,33 @@ module AbstractController::Caching include ::AbstractController::Caching::Fragments mixes_in_class_methods GeneratedClassMethods - mixes_in_class_methods ::AbstractController::Caching::Fragments::ClassMethods - mixes_in_class_methods ::AbstractController::Caching::ClassMethods - mixes_in_class_methods ::AbstractController::Caching::ConfigMethods - # pkg:gem/actionpack#lib/abstract_controller/caching.rb:54 + # pkg:gem/actionpack#lib/abstract_controller/caching.rb:57 def view_cache_dependencies; end private # Convenience accessor. # - # pkg:gem/actionpack#lib/abstract_controller/caching.rb:60 + # pkg:gem/actionpack#lib/abstract_controller/caching.rb:63 def cache(key, options = T.unsafe(nil), &block); end module GeneratedClassMethods - def _view_cache_dependencies; end - def _view_cache_dependencies=(value); end - def _view_cache_dependencies?; end def fragment_cache_keys; end def fragment_cache_keys=(value); end def fragment_cache_keys?; end end module GeneratedInstanceMethods - def _view_cache_dependencies; end - def _view_cache_dependencies=(value); end - def _view_cache_dependencies?; end def fragment_cache_keys; end def fragment_cache_keys=(value); end def fragment_cache_keys?; end end end -# pkg:gem/actionpack#lib/abstract_controller/caching.rb:48 +# pkg:gem/actionpack#lib/abstract_controller/caching.rb:51 module AbstractController::Caching::ClassMethods - # pkg:gem/actionpack#lib/abstract_controller/caching.rb:49 + # pkg:gem/actionpack#lib/abstract_controller/caching.rb:52 def view_cache_dependency(&dependency); end end @@ -483,7 +495,7 @@ module AbstractController::Callbacks # Override `AbstractController::Base#process_action` to run the `process_action` # callbacks around the normal behavior. # - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:259 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:265 def process_action(*, **, &); end module GeneratedClassMethods @@ -496,25 +508,25 @@ module AbstractController::Callbacks end end -# pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:39 +# pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:41 class AbstractController::Callbacks::ActionFilter - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:40 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:42 def initialize(filters, conditional_key, actions); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:69 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:71 def after(controller); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:71 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:73 def around(controller); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:70 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:72 def before(controller); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:46 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:48 def match?(controller); end end -# pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:74 +# pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:76 module AbstractController::Callbacks::ClassMethods # Take callback names and an optional callback proc, normalize them, then call # the block with each callback. This allows us to abstract the normalization @@ -530,10 +542,10 @@ module AbstractController::Callbacks::ClassMethods # * `name` - The callback to be added. # * `options` - A hash of options to be used when adding the callback. # - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:120 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:122 def _insert_callbacks(callbacks, block = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:98 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:100 def _normalize_callback_option(options, from, to); end # If `:only` or `:except` are used, convert the options into the `:if` and @@ -554,46 +566,52 @@ module AbstractController::Callbacks::ClassMethods # * `only` - The callback should be run only for this action. # * `except` - The callback should be run for all actions except this action. # - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:93 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:95 def _normalize_callback_options(options); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:231 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:233 def after_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:252 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:254 def append_after_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:252 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:254 def append_around_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:252 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:254 def append_before_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:231 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:233 def around_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:231 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:233 def before_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:237 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:257 + def internal_methods; end + + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:239 def prepend_after_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:237 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:239 def prepend_around_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:237 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:239 def prepend_before_action(*names, &blk); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:245 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:247 def skip_after_action(*names); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:245 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:247 def skip_around_action(*names); end - # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:245 + # pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:247 def skip_before_action(*names); end end +# pkg:gem/actionpack#lib/abstract_controller/callbacks.rb:32 +AbstractController::Callbacks::DEFAULT_INTERNAL_METHODS = T.let(T.unsafe(nil), Array) + # pkg:gem/actionpack#lib/abstract_controller/collector.rb:8 module AbstractController::Collector # pkg:gem/actionpack#lib/abstract_controller/collector.rb:11 @@ -632,6 +650,9 @@ module AbstractController::Collector # pkg:gem/actionpack#lib/abstract_controller/collector.rb:11 def m4a(*, **, &); end + # pkg:gem/actionpack#lib/abstract_controller/collector.rb:11 + def md(*, **, &); end + # pkg:gem/actionpack#lib/abstract_controller/collector.rb:11 def mp3(*, **, &); end @@ -1161,7 +1182,7 @@ end # to use any other functionality that is not provided by `ActionController::API` # out of the box. # -# pkg:gem/actionpack#lib/action_controller/api.rb:92 +# pkg:gem/actionpack#lib/action_controller/api.rb:93 class ActionController::API < ::ActionController::Metal include ::ActionView::ViewPaths include ::AbstractController::Rendering @@ -1197,6 +1218,7 @@ class ActionController::API < ::ActionController::Metal include ::Ahoy::Controller extend ::ActionView::ViewPaths::ClassMethods extend ::AbstractController::UrlFor::ClassMethods + extend ::ActionController::Redirecting::ClassMethods extend ::ActionController::Rendering::ClassMethods extend ::ActionController::Renderers::ClassMethods extend ::ActionController::ConditionalGet::ClassMethods @@ -1209,227 +1231,280 @@ class ActionController::API < ::ActionController::Metal extend ::ActiveSupport::Callbacks::ClassMethods extend ::AbstractController::Callbacks::ClassMethods extend ::ActiveSupport::Rescuable::ClassMethods + extend ::ActionController::Rescue::ClassMethods extend ::ActionController::Instrumentation::ClassMethods extend ::ActionController::ParamsWrapper::ClassMethods + extend ::ActionController::Renderers::DeprecatedEscapeJsonResponses - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __callbacks; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _process_action_callbacks; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _run_process_action_callbacks(&block); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def _run_process_action_callbacks!(&block); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def default_static_extension; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_open_redirect; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_open_redirect=(val); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_path_relative_redirect; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def default_static_extension=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_path_relative_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def default_static_extension(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def default_static_extension=(arg); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def enable_fragment_cache_logging; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def logger; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def logger(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def logger=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def logger=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def perform_caching; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def perform_caching(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def perform_caching=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def perform_caching=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_missing_callback_actions; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_missing_callback_actions=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_open_redirects; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_open_redirects=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers?; end class << self - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __callbacks; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __callbacks=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def _allowed_redirect_hosts; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def _allowed_redirect_hosts=(value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _process_action_callbacks; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _process_action_callbacks=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _renderers?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _view_cache_dependencies?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def _wrapper_options?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def default_static_extension; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_open_redirect; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_open_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def default_static_extension=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_path_relative_redirect; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def action_on_path_relative_redirect=(val); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def allowed_redirect_hosts; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def allowed_redirect_hosts_permissions; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def allowed_redirect_hosts_permissions=(value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def default_static_extension(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def default_static_extension=(arg); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def default_url_options?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def enable_fragment_cache_logging; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def escape_json_responses; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def escape_json_responses=(value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def escape_json_responses?; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def etaggers?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def fragment_cache_keys?; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def logger; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def logger(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def logger=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def logger=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def perform_caching; end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def perform_caching(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 - def perform_caching=(value); end + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def perform_caching=(arg); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_missing_callback_actions; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_missing_callback_actions=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_open_redirects; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def raise_on_open_redirects=(val); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers=(value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def rescue_handlers?; end # Shortcut helper that returns all the ActionController::API modules except the @@ -1445,68 +1520,92 @@ class ActionController::API < ::ActionController::Metal # create an API controller class, instead of listing the modules required # manually. # - # pkg:gem/actionpack#lib/action_controller/api.rb:107 + # pkg:gem/actionpack#lib/action_controller/api.rb:108 def without_modules(*modules); end private - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr___callbacks; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr___callbacks=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr__allowed_redirect_hosts; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr__allowed_redirect_hosts=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__renderers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__renderers=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__view_cache_dependencies=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr__wrapper_options=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr_allowed_redirect_hosts_permissions; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr_allowed_redirect_hosts_permissions=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:93 + def __class_attr_config; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:93 + def __class_attr_config=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_default_url_options; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_default_url_options=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr_escape_json_responses; end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 + def __class_attr_escape_json_responses=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_etaggers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_etaggers=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_fragment_cache_keys=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:92 + # pkg:gem/actionpack#lib/action_controller/api.rb:93 def __class_attr_middleware_stack; end - # pkg:gem/actionpack#lib/action_controller/api.rb:92 + # pkg:gem/actionpack#lib/action_controller/api.rb:93 def __class_attr_middleware_stack=(new_value); end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/api.rb:149 + # pkg:gem/actionpack#lib/action_controller/api.rb:150 def __class_attr_rescue_handlers=(new_value); end end end -# pkg:gem/actionpack#lib/action_controller/api.rb:115 +# pkg:gem/actionpack#lib/action_controller/api.rb:116 ActionController::API::MODULES = T.let(T.unsafe(nil), Array) # pkg:gem/actionpack#lib/action_controller/metal/exceptions.rb:6 @@ -1580,7 +1679,7 @@ module ActionController::AllowBrowser::ClassMethods # aren't reporting a user-agent header, will be allowed access. # # A browser that's blocked will by default be served the file in - # public/406-unsupported-browser.html with a HTTP status code of "406 Not + # public/406-unsupported-browser.html with an HTTP status code of "406 Not # Acceptable". # # In addition to specifically named browser versions, you can also pass @@ -1763,7 +1862,7 @@ end # # Action Controller sends content to the user by using one of five rendering # methods. The most versatile and common is the rendering of a template. -# Included in the Action Pack is the Action View, which enables rendering of ERB +# Also included with \Rails is Action View, which enables rendering of ERB # templates. It's automatically configured. The controller passes objects to the # view by assigning instance variables: # @@ -1839,7 +1938,7 @@ end # render action: "overthere" # won't be called if monkeys is nil # end # -# pkg:gem/actionpack#lib/action_controller/base.rb:207 +# pkg:gem/actionpack#lib/action_controller/base.rb:208 class ActionController::Base < ::ActionController::Metal include ::ActionView::ViewPaths include ::AbstractController::Rendering @@ -1899,6 +1998,7 @@ class ActionController::Base < ::ActionController::Metal extend ::AbstractController::Helpers::ClassMethods extend ::ActionController::Helpers::ClassMethods extend ::AbstractController::UrlFor::ClassMethods + extend ::ActionController::Redirecting::ClassMethods extend ::ActionView::Rendering::ClassMethods extend ::ActionView::Layouts::ClassMethods extend ::ActionController::Rendering::ClassMethods @@ -1921,518 +2021,571 @@ class ActionController::Base < ::ActionController::Metal extend ::ActionController::DefaultHeaders::ClassMethods extend ::ActionController::Logging::ClassMethods extend ::ActiveSupport::Rescuable::ClassMethods + extend ::ActionController::Rescue::ClassMethods extend ::ActionController::Instrumentation::ClassMethods extend ::ActionController::ParamsWrapper::ClassMethods + extend ::ActionController::Renderers::DeprecatedEscapeJsonResponses - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def __callbacks; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout_conditions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout_conditions?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def _process_action_callbacks; end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def _run_process_action_callbacks(&block); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def _run_process_action_callbacks!(&block); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 - def alert; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_open_redirect; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def allow_forgery_protection; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_open_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def allow_forgery_protection=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_path_relative_redirect; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def asset_host; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_path_relative_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def asset_host=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def allow_forgery_protection(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def assets_dir; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def allow_forgery_protection=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def assets_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def asset_host(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def csrf_token_storage_strategy; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def asset_host=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def csrf_token_storage_strategy=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def assets_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def default_asset_host_protocol; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def assets_dir=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def default_asset_host_protocol=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def csrf_token_storage_strategy(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def default_static_extension; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def csrf_token_storage_strategy=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def default_static_extension=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def default_asset_host_protocol(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def default_asset_host_protocol=(arg); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def default_static_extension(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def default_static_extension=(arg); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def enable_fragment_cache_logging; end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest; end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def flash(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_origin_check; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_origin_check(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_origin_check=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_origin_check=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_strategy; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_strategy(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_strategy=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_strategy=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def javascripts_dir; end - - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def javascripts_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def javascripts_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def log_warning_on_csrf_failure; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def javascripts_dir=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def log_warning_on_csrf_failure=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def log_warning_on_csrf_failure(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 - def logger; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def log_warning_on_csrf_failure=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 - def logger=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def logger(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 - def notice; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def logger=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def per_form_csrf_tokens; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def per_form_csrf_tokens(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def per_form_csrf_tokens=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def per_form_csrf_tokens=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def perform_caching; end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def perform_caching(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def perform_caching=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def perform_caching=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def raise_on_missing_callback_actions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def raise_on_missing_callback_actions=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 def raise_on_open_redirects; end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 def raise_on_open_redirects=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def relative_url_root; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def relative_url_root(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def relative_url_root=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def relative_url_root=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def request_forgery_protection_token; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def request_forgery_protection_token(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def request_forgery_protection_token=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def request_forgery_protection_token=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def stylesheets_dir; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def stylesheets_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def stylesheets_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def stylesheets_dir=(arg); end private - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout(lookup_context, formats, keys); end - # pkg:gem/actionpack#lib/action_controller/base.rb:324 + # pkg:gem/actionpack#lib/action_controller/base.rb:325 def _protected_ivars; end + # pkg:gem/actionpack#lib/action_controller/base.rb:290 + def alert; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:290 + def notice; end + class << self - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def __callbacks; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def __callbacks=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:290 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def _allowed_redirect_hosts; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def _allowed_redirect_hosts=(value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:291 def _default_form_builder; end - # pkg:gem/actionpack#lib/action_controller/base.rb:290 + # pkg:gem/actionpack#lib/action_controller/base.rb:291 def _default_form_builder=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:290 + # pkg:gem/actionpack#lib/action_controller/base.rb:291 def _default_form_builder?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def _flash_types; end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def _flash_types=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def _flash_types?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helper_methods?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def _helpers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout_conditions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout_conditions=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def _layout_conditions?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def _process_action_callbacks; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def _process_action_callbacks=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def _renderers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def _view_cache_dependencies?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def _wrapper_options?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def allow_forgery_protection; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_open_redirect; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def allow_forgery_protection=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_open_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def asset_host; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_path_relative_redirect; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def asset_host=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def action_on_path_relative_redirect=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def assets_dir; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def allow_forgery_protection(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def assets_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def allow_forgery_protection=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def csrf_token_storage_strategy; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def allowed_redirect_hosts; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def csrf_token_storage_strategy=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def allowed_redirect_hosts_permissions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def default_asset_host_protocol; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def allowed_redirect_hosts_permissions=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def default_asset_host_protocol=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def asset_host(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def asset_host=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def default_static_extension; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def assets_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def default_static_extension=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def assets_dir=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def csrf_token_storage_strategy(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def csrf_token_storage_strategy=(arg); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def default_asset_host_protocol(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def default_asset_host_protocol=(arg); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def default_static_extension(*, **, &); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def default_static_extension=(arg); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def default_url_options?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def enable_fragment_cache_logging; end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def enable_fragment_cache_logging(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def enable_fragment_cache_logging=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def enable_fragment_cache_logging=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 + def escape_json_responses; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:280 + def escape_json_responses=(value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:280 + def escape_json_responses?; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest; end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def etag_with_template_digest?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def etaggers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_origin_check; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_origin_check(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_origin_check=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_origin_check=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_strategy; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_strategy(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def forgery_protection_strategy=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def forgery_protection_strategy=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def fragment_cache_keys?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def helpers_path?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def include_all_helpers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def javascripts_dir; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def javascripts_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def javascripts_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def javascripts_dir=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def log_warning_on_csrf_failure; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def log_warning_on_csrf_failure(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def log_warning_on_csrf_failure=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def log_warning_on_csrf_failure=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 - def logger; end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def logger(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 - def logger=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def logger=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def per_form_csrf_tokens; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def per_form_csrf_tokens(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def per_form_csrf_tokens=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def per_form_csrf_tokens=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def perform_caching; end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def perform_caching(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 - def perform_caching=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:284 + def perform_caching=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def raise_on_missing_callback_actions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def raise_on_missing_callback_actions=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 def raise_on_open_redirects; end - # pkg:gem/actionpack#lib/action_controller/base.rb:276 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 def raise_on_open_redirects=(val); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def relative_url_root; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def relative_url_root(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def relative_url_root=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def relative_url_root=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def request_forgery_protection_token; end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def request_forgery_protection_token(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 - def request_forgery_protection_token=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:292 + def request_forgery_protection_token=(arg); end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers=(value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def rescue_handlers?; end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def stylesheets_dir; end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def stylesheets_dir(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:273 - def stylesheets_dir=(value); end + # pkg:gem/actionpack#lib/action_controller/base.rb:274 + def stylesheets_dir=(arg); end # Shortcut helper that returns all the modules included in # ActionController::Base except the ones passed as arguments: @@ -2447,160 +2600,184 @@ class ActionController::Base < ::ActionController::Metal # create a bare controller class, instead of listing the modules required # manually. # - # pkg:gem/actionpack#lib/action_controller/base.rb:222 + # pkg:gem/actionpack#lib/action_controller/base.rb:223 def without_modules(*modules); end private - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def __class_attr___callbacks; end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def __class_attr___callbacks=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:290 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def __class_attr__allowed_redirect_hosts; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def __class_attr__allowed_redirect_hosts=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:291 def __class_attr__default_form_builder; end - # pkg:gem/actionpack#lib/action_controller/base.rb:290 + # pkg:gem/actionpack#lib/action_controller/base.rb:291 def __class_attr__default_form_builder=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def __class_attr__flash_types; end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def __class_attr__flash_types=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr__helper_methods; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr__helper_methods=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def __class_attr__layout; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def __class_attr__layout=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def __class_attr__layout_conditions; end - # pkg:gem/actionpack#lib/action_controller/base.rb:277 + # pkg:gem/actionpack#lib/action_controller/base.rb:278 def __class_attr__layout_conditions=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def __class_attr__renderers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:279 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 def __class_attr__renderers=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def __class_attr__view_cache_dependencies; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def __class_attr__view_cache_dependencies=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def __class_attr__wrapper_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:313 + # pkg:gem/actionpack#lib/action_controller/base.rb:314 def __class_attr__wrapper_options=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def __class_attr_allowed_redirect_hosts_permissions; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:277 + def __class_attr_allowed_redirect_hosts_permissions=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:208 + def __class_attr_config; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:208 + def __class_attr_config=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def __class_attr_default_url_options; end - # pkg:gem/actionpack#lib/action_controller/base.rb:275 + # pkg:gem/actionpack#lib/action_controller/base.rb:276 def __class_attr_default_url_options=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:280 + def __class_attr_escape_json_responses; end + + # pkg:gem/actionpack#lib/action_controller/base.rb:280 + def __class_attr_escape_json_responses=(new_value); end + + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def __class_attr_etag_with_template_digest; end - # pkg:gem/actionpack#lib/action_controller/base.rb:281 + # pkg:gem/actionpack#lib/action_controller/base.rb:282 def __class_attr_etag_with_template_digest=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def __class_attr_etaggers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:280 + # pkg:gem/actionpack#lib/action_controller/base.rb:281 def __class_attr_etaggers=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def __class_attr_fragment_cache_keys; end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def __class_attr_fragment_cache_keys=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr_helpers_path; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr_helpers_path=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr_include_all_helpers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:274 + # pkg:gem/actionpack#lib/action_controller/base.rb:275 def __class_attr_include_all_helpers=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:207 + # pkg:gem/actionpack#lib/action_controller/base.rb:208 def __class_attr_middleware_stack; end - # pkg:gem/actionpack#lib/action_controller/base.rb:207 + # pkg:gem/actionpack#lib/action_controller/base.rb:208 def __class_attr_middleware_stack=(new_value); end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def __class_attr_rescue_handlers; end - # pkg:gem/actionpack#lib/action_controller/base.rb:307 + # pkg:gem/actionpack#lib/action_controller/base.rb:308 def __class_attr_rescue_handlers=(new_value); end end end -# pkg:gem/actionpack#lib/action_controller/base.rb:274 +# pkg:gem/actionpack#lib/action_controller/base.rb:275 module ActionController::Base::HelperMethods include ::ActionText::ContentHelper include ::ActionText::TagHelper - # pkg:gem/actionpack#lib/action_controller/base.rb:330 + # pkg:gem/actionpack#lib/action_controller/base.rb:331 def ahoy(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def alert(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def combined_fragment_cache_key(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:292 + # pkg:gem/actionpack#lib/action_controller/base.rb:293 def content_security_policy?(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:292 + # pkg:gem/actionpack#lib/action_controller/base.rb:293 def content_security_policy_nonce(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:288 + # pkg:gem/actionpack#lib/action_controller/base.rb:289 def cookies(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:330 + # pkg:gem/actionpack#lib/action_controller/base.rb:331 def current_visit(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def form_authenticity_token(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:289 + # pkg:gem/actionpack#lib/action_controller/base.rb:290 def notice(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:291 + # pkg:gem/actionpack#lib/action_controller/base.rb:292 def protect_against_forgery?(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/base.rb:283 + # pkg:gem/actionpack#lib/action_controller/base.rb:284 def view_cache_dependencies(*, **, &); end end -# pkg:gem/actionpack#lib/action_controller/base.rb:230 +# pkg:gem/actionpack#lib/action_controller/base.rb:231 ActionController::Base::MODULES = T.let(T.unsafe(nil), Array) # Define some internal variables that should not be propagated to the view. # -# pkg:gem/actionpack#lib/action_controller/base.rb:318 +# pkg:gem/actionpack#lib/action_controller/base.rb:319 ActionController::Base::PROTECTED_IVARS = T.let(T.unsafe(nil), Array) # pkg:gem/actionpack#lib/action_controller/metal/basic_implicit_render.rb:6 @@ -2618,9 +2795,8 @@ end # of calculations, renderings, and database calls around for subsequent # requests. # -# You can read more about each approach by clicking the modules below. -# # Note: To turn off all caching provided by Action Controller, set +# # config.action_controller.perform_caching = false # # ## Caching stores @@ -2636,12 +2812,11 @@ end # config.action_controller.cache_store = :mem_cache_store, Memcached::Rails.new('localhost:11211') # config.action_controller.cache_store = MyOwnStore.new('parameter') # -# pkg:gem/actionpack#lib/action_controller/caching.rb:29 +# pkg:gem/actionpack#lib/action_controller/caching.rb:28 module ActionController::Caching extend ::ActiveSupport::Concern include GeneratedInstanceMethods include ::AbstractController::Caching::Fragments - include ::AbstractController::Caching mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::AbstractController::Caching::Fragments::ClassMethods @@ -2650,25 +2825,19 @@ module ActionController::Caching private - # pkg:gem/actionpack#lib/action_controller/caching.rb:45 + # pkg:gem/actionpack#lib/action_controller/caching.rb:44 def instrument_name; end - # pkg:gem/actionpack#lib/action_controller/caching.rb:37 + # pkg:gem/actionpack#lib/action_controller/caching.rb:36 def instrument_payload(key); end module GeneratedClassMethods - def _view_cache_dependencies; end - def _view_cache_dependencies=(value); end - def _view_cache_dependencies?; end def fragment_cache_keys; end def fragment_cache_keys=(value); end def fragment_cache_keys?; end end module GeneratedInstanceMethods - def _view_cache_dependencies; end - def _view_cache_dependencies=(value); end - def _view_cache_dependencies?; end def fragment_cache_keys; end def fragment_cache_keys=(value); end def fragment_cache_keys?; end @@ -2843,6 +3012,29 @@ module ActionController::ConditionalGet # pkg:gem/actionpack#lib/action_controller/metal/conditional_get.rb:321 def http_cache_forever(public: T.unsafe(nil)); end + # Adds the `must-understand` directive to the `Cache-Control` header, which indicates + # that a cache MUST understand the semantics of the response status code that has been + # received, or discard the response. + # + # This is particularly useful when returning responses with new or uncommon + # status codes that might not be properly interpreted by older caches. + # + # #### Example + # + # def show + # @article = Article.find(params[:id]) + # + # if @article.early_access? + # must_understand + # render status: 203 # Non-Authoritative Information + # else + # fresh_when @article + # end + # end + # + # pkg:gem/actionpack#lib/action_controller/metal/conditional_get.rb:355 + def must_understand; end + # Sets an HTTP 1.1 `Cache-Control` header of `no-store`. This means the resource # may not be stored in any cache. # @@ -2933,7 +3125,7 @@ module ActionController::ConditionalGet private - # pkg:gem/actionpack#lib/action_controller/metal/conditional_get.rb:336 + # pkg:gem/actionpack#lib/action_controller/metal/conditional_get.rb:361 def combine_etags(validator, options); end module GeneratedClassMethods @@ -3322,7 +3514,7 @@ module ActionController::Flash private - # pkg:gem/actionpack#lib/action_controller/metal/flash.rb:53 + # pkg:gem/actionpack#lib/action_controller/metal/flash.rb:50 def redirect_to(options = T.unsafe(nil), response_options_and_flash = T.unsafe(nil)); end module GeneratedClassMethods @@ -3336,9 +3528,6 @@ end # pkg:gem/actionpack#lib/action_controller/metal/flash.rb:16 module ActionController::Flash::ClassMethods - # pkg:gem/actionpack#lib/action_controller/metal/flash.rb:47 - def action_methods; end - # Creates new flash types. You can pass as many types as you want to create # flash types other than the default `alert` and `notice` in your controllers # and views. For instance: @@ -3415,7 +3604,7 @@ module ActionController::FormBuilder::ClassMethods # rendered by this controller and its subclasses. # # #### Parameters - # * `builder` - Default form builder, an instance of + # * `builder` - Default form builder. Accepts a subclass of # ActionView::Helpers::FormBuilder # # pkg:gem/actionpack#lib/action_controller/form_builder.rb:45 @@ -3446,7 +3635,7 @@ module ActionController::Head private - # pkg:gem/actionpack#lib/action_controller/metal/head.rb:56 + # pkg:gem/actionpack#lib/action_controller/metal/head.rb:58 def include_content?(status); end end @@ -4011,7 +4200,7 @@ module ActionController::HttpAuthentication::Token def params_array_from(raw_params); end # This method takes an authorization body and splits up the key-value pairs by - # the standardized `:`, `;`, or `\t` delimiters defined in + # the standardized `,`, `;`, or `\t` delimiters defined in # `AUTHN_PAIR_DELIMITERS`. # # pkg:gem/actionpack#lib/action_controller/metal/http_authentication.rb:519 @@ -4233,7 +4422,7 @@ class ActionController::InvalidParameterKey < ::ArgumentError; end # end # # There are a few caveats with this module. You **cannot** write headers after -# the response has been committed (Response#committed? will return truthy). +# the response has been committed (`Response#committed?` will return truthy). # Calling `write` or `close` on the response stream will cause the response # object to be committed. Make sure all headers are set before calling write or # close on your stream. @@ -4256,7 +4445,8 @@ class ActionController::InvalidParameterKey < ::ArgumentError; end # # def stream # response.headers["Content-Type"] = "text/event-stream" -# response.headers["Last-Modified"] = Time.now.httpdate # Add this line if your Rack version is 2.2.x +# # Add this line if your Rack version is 2.2.x +# response.headers["Last-Modified"] = Time.now.httpdate # ... # end # @@ -4268,26 +4458,27 @@ class ActionController::InvalidParameterKey < ::ArgumentError; end # You can configure which execution state keys should be excluded from being shared # using the `config.action_controller.live_streaming_excluded_keys` configuration: # -# # config/application.rb -# config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack] +# # config/application.rb +# config.action_controller.live_streaming_excluded_keys = +# [:active_record_connected_to_stack] # # This is useful when using ActionController::Live inside a `connected_to` block. For example, # if the parent request is reading from a replica using `connected_to(role: :reading)`, you may # want the streaming thread to use its own connection context instead of inheriting the read-only # context: # -# # Without configuration, streaming thread inherits read-only connection -# ActiveRecord::Base.connected_to(role: :reading) do -# @posts = Post.all -# render stream: true # Streaming thread cannot write to database -# end +# # Without configuration, streaming thread inherits read-only connection +# ActiveRecord::Base.connected_to(role: :reading) do +# @posts = Post.all +# render stream: true # Streaming thread cannot write to database +# end # -# # With configuration, streaming thread gets fresh connection context -# # config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack] -# ActiveRecord::Base.connected_to(role: :reading) do -# @posts = Post.all -# render stream: true # Streaming thread can write to database if needed -# end +# # With configuration, streaming thread gets fresh connection context +# # config.action_controller.live_streaming_excluded_keys = [:active_record_connected_to_stack] +# ActiveRecord::Base.connected_to(role: :reading) do +# @posts = Post.all +# render stream: true # Streaming thread can write to database if needed +# end # # Common keys you might want to exclude: # - `:active_record_connected_to_stack` - Database connection routing and roles @@ -4295,7 +4486,7 @@ class ActionController::InvalidParameterKey < ::ArgumentError; end # # By default, no keys are excluded to maintain backward compatibility. # -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:91 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:93 module ActionController::Live extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -4305,13 +4496,13 @@ module ActionController::Live # Ensure we clean up any thread locals we copied so that the thread can reused. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:427 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:423 def clean_up_thread_locals(*args); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:96 def live_streaming_excluded_keys; end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:96 def live_streaming_excluded_keys=(val); end # Spawn a new thread to serve up the controller in. This is to get around the @@ -4319,13 +4510,13 @@ module ActionController::Live # data from the response bodies. Nobody should call this method except in Rails # internals. Seriously! # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:418 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:414 def new_controller_thread; end # pkg:gem/actionpack#lib/action_controller/metal/live.rb:317 def process(name); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:366 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:362 def response_body=(body); end # Sends a stream to the browser, which is helpful when you're generating exports @@ -4354,12 +4545,12 @@ module ActionController::Live # end # end # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:396 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:392 def send_stream(filename:, disposition: T.unsafe(nil), type: T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:435 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:431 def log_error(exception); end # Because of the above, we need to prevent the clearing of thread locals, since @@ -4377,13 +4568,13 @@ module ActionController::Live def original_new_controller_thread; end class << self - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:96 def live_streaming_excluded_keys; end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:94 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:96 def live_streaming_excluded_keys=(val); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:431 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:427 def live_thread_pool_executor; end end @@ -4396,11 +4587,11 @@ module ActionController::Live module GeneratedInstanceMethods; end end -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:192 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:195 class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer include ::MonitorMixin - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:207 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:210 def initialize(response); end # Inform the producer/writing thread that the client has disconnected; the @@ -4408,10 +4599,10 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # # See also #close. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:259 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:264 def abort; end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:280 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:285 def call_on_error; end # Close the buffer; the producer/writing thread uses this to notify us that @@ -4419,7 +4610,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # # See also #abort. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:247 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:252 def close; end # Is the client still connected and waiting for content? @@ -4427,7 +4618,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # The result of calling `write` when this is `false` is determined by # `ignore_disconnect`. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:272 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:277 def connected?; end # Ignore that the client has disconnected. @@ -4436,7 +4627,7 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # result in the written content being silently discarded. If this value is # `false` (the default), a ClientDisconnected exception will be raised. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:205 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:208 def ignore_disconnect; end # Ignore that the client has disconnected. @@ -4445,18 +4636,18 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # result in the written content being silently discarded. If this value is # `false` (the default), a ClientDisconnected exception will be raised. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:205 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:208 def ignore_disconnect=(_arg0); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:276 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:281 def on_error(&block); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:215 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:218 def write(string); end # Same as `write` but automatically include a newline at the end of the string. # - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:239 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:244 def writeln(string); end private @@ -4464,25 +4655,25 @@ class ActionController::Live::Buffer < ::ActionDispatch::Response::Buffer # pkg:gem/actionpack#lib/action_controller/metal/live.rb:296 def build_queue(queue_size); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:285 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:290 def each_chunk(&block); end class << self - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:196 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:199 def queue_size; end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:196 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:199 def queue_size=(_arg0); end end end -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:100 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:102 module ActionController::Live::ClassMethods - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:101 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:103 def make_response!(request); end end -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:189 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:192 class ActionController::Live::ClientDisconnected < ::RuntimeError; end # pkg:gem/actionpack#lib/action_controller/metal/live.rb:301 @@ -4535,24 +4726,24 @@ end # Note: SSEs are not currently supported by IE. However, they are supported by # Chrome, Firefox, Opera, and Safari. # -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:153 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:155 class ActionController::Live::SSE - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:156 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:158 def initialize(stream, options = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:161 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:163 def close; end - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:165 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:167 def write(object, options = T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_controller/metal/live.rb:175 + # pkg:gem/actionpack#lib/action_controller/metal/live.rb:177 def perform_write(json, options); end end -# pkg:gem/actionpack#lib/action_controller/metal/live.rb:154 +# pkg:gem/actionpack#lib/action_controller/metal/live.rb:156 ActionController::Live::SSE::PERMITTED_OPTIONS = T.let(T.unsafe(nil), Array) # pkg:gem/actionpack#lib/action_controller/test_case.rb:184 @@ -4573,47 +4764,79 @@ class ActionController::LiveTestResponse < ::ActionController::Live::Response def success?; end end -# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:6 +# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:4 class ActionController::LogSubscriber < ::ActiveSupport::LogSubscriber - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:78 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner=(_arg0); end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner?; end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93 def exist_fragment?(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:78 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93 def expire_fragment(event); end # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:47 def halted_callback(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:90 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:105 def logger; end # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:26 def process_action(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:78 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93 def read_fragment(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:57 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:109 + def redirect_source_location; end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:68 def redirect_to(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:62 + # Manually subscribed below + # + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:53 + def rescue_from_callback(event); end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:77 def send_data(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:52 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:63 def send_file(event); end # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:9 def start_processing(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:67 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:82 def unpermitted_parameters(event); end - # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:78 + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:93 def write_fragment(event); end class << self + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner=(value); end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def backtrace_cleaner?; end + private + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def __class_attr_backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 + def __class_attr_backtrace_cleaner=(new_value); end + # pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:24 def __class_attr_log_levels; end @@ -4622,7 +4845,7 @@ class ActionController::LogSubscriber < ::ActiveSupport::LogSubscriber end end -# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:7 +# pkg:gem/actionpack#lib/action_controller/log_subscriber.rb:5 ActionController::LogSubscriber::INTERNAL_PARAMS = T.let(T.unsafe(nil), Array) # pkg:gem/actionpack#lib/action_controller/metal/logging.rb:6 @@ -4863,6 +5086,12 @@ class ActionController::Metal < ::AbstractController::Base private + # pkg:gem/actionpack#lib/action_controller/metal.rb:121 + def __class_attr_config; end + + # pkg:gem/actionpack#lib/action_controller/metal.rb:121 + def __class_attr_config=(new_value); end + # pkg:gem/actionpack#lib/action_controller/metal.rb:288 def __class_attr_middleware_stack; end @@ -5394,7 +5623,7 @@ end # # params = ActionController::Parameters.new(a: "123", b: "456") # params.permit(:c) -# # => ActionController::UnpermittedParameters: found unpermitted keys: a, b +# # => ActionController::UnpermittedParameters: found unpermitted parameters: :a, :b # # Please note that these options *are not thread-safe*. In a multi-threaded # environment they should only be set once at boot-time and never mutated at @@ -6598,7 +6827,14 @@ module ActionController::PermissionsPolicy::ClassMethods # end # end # - # pkg:gem/actionpack#lib/action_controller/metal/permissions_policy.rb:27 + # Requires a global policy defined in an initializer, which can be + # empty: + # + # Rails.application.config.permissions_policy do |policy| + # # policy.gyroscope :none + # end + # + # pkg:gem/actionpack#lib/action_controller/metal/permissions_policy.rb:33 def permissions_policy(**options, &block); end end @@ -6622,8 +6858,8 @@ module ActionController::RateLimiting private - # pkg:gem/actionpack#lib/action_controller/metal/rate_limiting.rb:61 - def rate_limiting(to:, within:, by:, with:, store:, name:); end + # pkg:gem/actionpack#lib/action_controller/metal/rate_limiting.rb:72 + def rate_limiting(to:, within:, by:, with:, store:, name:, scope:); end end # pkg:gem/actionpack#lib/action_controller/metal/rate_limiting.rb:9 @@ -6639,8 +6875,13 @@ module ActionController::RateLimiting::ClassMethods # parameter. It's evaluated within the context of the controller processing the # request. # - # Requests that exceed the rate limit are refused with a `429 Too Many Requests` - # response. You can specialize this by passing a callable in the `with:` + # By default, rate limits are scoped to the controller's path. If you want to + # share rate limits across multiple controllers, you can provide your own scope, + # by passing value in the `scope:` parameter. + # + # Requests that exceed the rate limit will raise an `ActionController::TooManyRequests` + # error. By default, Action Dispatch will rescue from the error and refuse the request + # with a `429 Too Many Requests` response. You can specialize this by passing a callable in the `with:` # parameter. It's evaluated within the context of the controller processing the # request. # @@ -6661,12 +6902,18 @@ module ActionController::RateLimiting::ClassMethods # # class SignupsController < ApplicationController # rate_limit to: 1000, within: 10.seconds, - # by: -> { request.domain }, with: -> { redirect_to busy_controller_url, alert: "Too many signups on domain!" }, only: :new + # by: -> { request.domain }, with: :redirect_to_busy, only: :new + # + # private + # def redirect_to_busy + # redirect_to busy_controller_url, alert: "Too many signups on domain!" + # end # end # # class APIController < ApplicationController # RATE_LIMIT_STORE = ActiveSupport::Cache::RedisCacheStore.new(url: ENV["REDIS_URL"]) # rate_limit to: 10, within: 3.minutes, store: RATE_LIMIT_STORE + # rate_limit to: 100, within: 5.minutes, scope: :api_global # end # # class SessionsController < ApplicationController @@ -6674,8 +6921,8 @@ module ActionController::RateLimiting::ClassMethods # rate_limit to: 10, within: 5.minutes, name: "long-term" # end # - # pkg:gem/actionpack#lib/action_controller/metal/rate_limiting.rb:55 - def rate_limit(to:, within:, by: T.unsafe(nil), with: T.unsafe(nil), store: T.unsafe(nil), name: T.unsafe(nil), **options); end + # pkg:gem/actionpack#lib/action_controller/metal/rate_limiting.rb:66 + def rate_limit(to:, within:, by: T.unsafe(nil), with: T.unsafe(nil), store: T.unsafe(nil), name: T.unsafe(nil), scope: T.unsafe(nil), **options); end end # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:6 @@ -6690,15 +6937,16 @@ module ActionController::Redirecting mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::AbstractController::UrlFor::ClassMethods + mixes_in_class_methods ::ActionController::Redirecting::ClassMethods - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:159 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:206 def _compute_redirect_to_location(request, options); end # Soft deprecated alias for #redirect_back_or_to where the `fallback_location` # location is supplied as a keyword argument instead of the first positional # argument. # - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:122 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:169 def redirect_back(fallback_location:, allow_other_host: T.unsafe(nil), **args); end # Redirects the browser to the page that issued the request (the referrer) if @@ -6725,7 +6973,7 @@ module ActionController::Redirecting # All other options that can be passed to #redirect_to are accepted as options, # and the behavior is identical. # - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:149 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:196 def redirect_back_or_to(fallback_location, allow_other_host: T.unsafe(nil), **options); end # Redirects the browser to the target specified in `options`. This parameter can @@ -6793,16 +7041,17 @@ module ActionController::Redirecting # ### Open Redirect protection # # By default, Rails protects against redirecting to external hosts for your - # app's safety, so called open redirects. Note: this was a new default in Rails - # 7.0, after upgrading opt-in by uncommenting the line with - # `raise_on_open_redirects` in - # `config/initializers/new_framework_defaults_7_0.rb` + # app's safety, so called open redirects. # # Here #redirect_to automatically validates the potentially-unsafe URL: # # redirect_to params[:redirect_url] # - # Raises UnsafeRedirectError in the case of an unsafe redirect. + # The `action_on_open_redirect` configuration option controls the behavior when an unsafe + # redirect is detected: + # * `:log` - Logs a warning but allows the redirect + # * `:notify` - Sends an Active Support notification for monitoring + # * `:raise` - Raises an UnsafeRedirectError # # To allow any external redirects pass `allow_other_host: true`, though using a # user-provided param in that case is unsafe. @@ -6812,7 +7061,27 @@ module ActionController::Redirecting # See #url_from for more information on what an internal and safe URL is, or how # to fall back to an alternate redirect URL in the unsafe case. # - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:103 + # ### Path Relative URL Redirect Protection + # + # Rails also protects against potentially unsafe path relative URL redirects that don't + # start with a leading slash. These can create security vulnerabilities: + # + # redirect_to "example.com" # Creates http://yourdomain.comexample.com + # redirect_to "@attacker.com" # Creates http://yourdomain.com@attacker.com + # # which browsers interpret as user@host + # + # You can configure how Rails handles these cases using: + # + # config.action_controller.action_on_path_relative_redirect = :log # default + # config.action_controller.action_on_path_relative_redirect = :notify + # config.action_controller.action_on_path_relative_redirect = :raise + # + # * `:log` - Logs a warning but allows the redirect + # * `:notify` - Sends an Active Support notification but allows the redirect + # (includes stack trace to help identify the source) + # * `:raise` - Raises an UnsafeRedirectError + # + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:150 def redirect_to(options = T.unsafe(nil), response_options = T.unsafe(nil)); end # Verifies the passed `location` is an internal URL that's safe to redirect to @@ -6829,7 +7098,8 @@ module ActionController::Redirecting # url_from("http://example.com/profile") # => "http://example.com/profile" # url_from("http://evil.com/profile") # => nil # - # Subdomains are considered part of the host: + # Subdomains are included when comparing hosts. The hostname must match exactly + # for a redirect to be considered internal. # # # If request.host is on https://example.com or https://app.example.com, you'd get: # url_from("https://dev.example.com/profile") # => nil @@ -6840,32 +7110,39 @@ module ActionController::Redirecting # `url_for(@post)`. However, #url_from is meant to take an external parameter to # verify as in `url_from(params[:redirect_url])`. # - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:203 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:255 def url_from(location); end private - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:209 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:261 def _allow_other_host; end - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:223 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:277 def _enforce_open_redirect_protection(location, allow_other_host:); end - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:242 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:318 def _ensure_url_is_http_header_safe(url); end - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:213 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:267 def _extract_redirect_to_status(options, response_options); end - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:231 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:328 + def _handle_path_relative_redirect(url); end + + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:305 def _url_host_allowed?(url); end class << self - # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:176 + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:227 def _compute_redirect_to_location(request, options); end end module GeneratedClassMethods + def _allowed_redirect_hosts; end + def _allowed_redirect_hosts=(value); end + def allowed_redirect_hosts_permissions; end + def allowed_redirect_hosts_permissions=(value); end def default_url_options; end def default_url_options=(value); end def default_url_options?; end @@ -6878,9 +7155,27 @@ module ActionController::Redirecting end end -# pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:14 +# pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:36 +module ActionController::Redirecting::ClassMethods + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:37 + def allowed_redirect_hosts=(hosts); end +end + +# pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:26 ActionController::Redirecting::ILLEGAL_HEADER_VALUE_REGEX = T.let(T.unsafe(nil), Regexp) +# pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:14 +class ActionController::Redirecting::OpenRedirectError < ::ActionController::Redirecting::UnsafeRedirectError + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:15 + def initialize(location); end +end + +# pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:20 +class ActionController::Redirecting::PathRelativeRedirectError < ::ActionController::Redirecting::UnsafeRedirectError + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:21 + def initialize(url); end +end + # pkg:gem/actionpack#lib/action_controller/metal/redirecting.rb:12 class ActionController::Redirecting::UnsafeRedirectError < ::StandardError; end @@ -7005,17 +7300,21 @@ module ActionController::Renderers mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActionController::Renderers::ClassMethods + mixes_in_class_methods ::ActionController::Renderers::DeprecatedEscapeJsonResponses - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:143 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:158 def _render_to_body_with_renderer(options); end - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:74 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:89 def _render_with_renderer_js(js, options); end - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:74 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:89 def _render_with_renderer_json(json, options); end - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:74 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:89 + def _render_with_renderer_markdown(md, options); end + + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:89 def _render_with_renderer_xml(xml, options); end # Called by `render` in AbstractController::Rendering which sets the return @@ -7024,11 +7323,11 @@ module ActionController::Renderers # If no renderer is found, `super` returns control to # `ActionView::Rendering.render_to_body`, if present. # - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:139 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:154 def render_to_body(options); end class << self - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:89 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:104 def _render_with_renderer_method_name(key); end # Adds a new renderer to call within controller actions. A renderer is invoked @@ -7060,7 +7359,7 @@ module ActionController::Renderers # end # end # - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:73 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:88 def add(key, &block); end # This method is the opposite of add method. @@ -7069,7 +7368,7 @@ module ActionController::Renderers # # ActionController::Renderers.remove(:csv) # - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:83 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:98 def remove(key); end end @@ -7077,6 +7376,9 @@ module ActionController::Renderers def _renderers; end def _renderers=(value); end def _renderers?; end + def escape_json_responses; end + def escape_json_responses=(value); end + def escape_json_responses?; end end module GeneratedInstanceMethods @@ -7089,7 +7391,7 @@ end # Used in ActionController::Base and ActionController::API to include all # renderers by default. # -# pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:36 +# pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:51 module ActionController::Renderers::All extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -7097,11 +7399,15 @@ module ActionController::Renderers::All mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActionController::Renderers::ClassMethods + mixes_in_class_methods ::ActionController::Renderers::DeprecatedEscapeJsonResponses module GeneratedClassMethods def _renderers; end def _renderers=(value); end def _renderers?; end + def escape_json_responses; end + def escape_json_responses=(value); end + def escape_json_responses?; end end module GeneratedInstanceMethods @@ -7111,9 +7417,9 @@ module ActionController::Renderers::All end end -# pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:93 +# pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:108 module ActionController::Renderers::ClassMethods - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:131 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:146 def use_renderer(*args); end # Adds, by name, a renderer or renderers to the `_renderers` available to call @@ -7150,10 +7456,16 @@ module ActionController::Renderers::ClassMethods # You must specify a `use_renderer`, else the `controller.renderer` and # `controller._renderers` will be `nil`, and the action will fail. # - # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:127 + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:142 def use_renderers(*args); end end +# pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:30 +module ActionController::Renderers::DeprecatedEscapeJsonResponses + # pkg:gem/actionpack#lib/action_controller/metal/renderers.rb:31 + def escape_json_responses=(value); end +end + # A Set containing renderer names that correspond to available renderer procs. # Default values are `:json`, `:js`, `:xml`. # @@ -7288,13 +7600,18 @@ module ActionController::Rendering # render "posts/new", status: :unprocessable_entity # # => renders app/views/posts/new.html.erb with HTTP status code 422 # + # `:variants` + # + # render "posts/index", variants: [:mobile] + # # => renders app/views/posts/index.html+mobile.erb + # # -- # Check for double render errors and set the content_type after rendering. # - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:165 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:171 def render(*args); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:185 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:191 def render_to_body(options = T.unsafe(nil)); end # Similar to #render, but only returns the rendered template as a string, @@ -7302,42 +7619,42 @@ module ActionController::Rendering # -- # Override render_to_string because body can now be set to a Rack body. # - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:174 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:180 def render_to_string(*); end private # Normalize both text and status options. # - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:234 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:240 def _normalize_options(options); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:248 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:254 def _normalize_text(options); end # Process controller specific options, as status, content-type and location. # - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:257 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:263 def _process_options(options); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:196 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:202 def _process_variant(options); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:202 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:208 def _render_in_priorities(options); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:210 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:216 def _set_html_content_type; end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:214 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:220 def _set_rendered_content_type(format); end - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:220 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:226 def _set_vary_header; end # Before processing, set the request formats in current controller formats. # - # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:191 + # pkg:gem/actionpack#lib/action_controller/metal/rendering.rb:197 def process_action(*); end end @@ -7419,128 +7736,123 @@ module ActionController::RequestForgeryProtection include ::AbstractController::Callbacks mixes_in_class_methods GeneratedClassMethods - mixes_in_class_methods ::AbstractController::Helpers::ClassMethods - mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods - mixes_in_class_methods ::ActiveSupport::DescendantsTracker - mixes_in_class_methods ::AbstractController::Callbacks::ClassMethods - mixes_in_class_methods ::ActionController::RequestForgeryProtection::ClassMethods - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:366 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:373 def initialize(*, **, &); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:376 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:383 def commit_csrf_token(request); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:371 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:378 def reset_csrf_token(request); end private # Checks if any of the authenticity tokens from the request are valid. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:469 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:476 def any_authenticity_token_valid?; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:550 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:557 def compare_with_global_token(token, session = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:546 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:553 def compare_with_real_token(token, session = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:587 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:594 def csrf_token_hmac(session, identifier); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:665 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:673 def decode_csrf_token(encoded_csrf_token); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:661 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:669 def encode_csrf_token(csrf_token); end # The form's authenticity parameter. Override to provide your own. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:607 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:614 def form_authenticity_param; end # Creates the authenticity token for the current request. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:481 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:488 def form_authenticity_token(form_options: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:657 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:665 def generate_csrf_token; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:583 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:590 def global_csrf_token(session = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:401 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:408 def handle_unverified_request; end # GET requests are checked for cross-origin JavaScript after rendering. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:439 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:446 def mark_for_same_origin_verification!; end # If the `verify_authenticity_token` before_action ran, verify that JavaScript # responses are only served to same-origin GET requests. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:445 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:452 def marked_for_same_origin_verification?; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:539 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:546 def mask_token(raw_token); end # Creates a masked version of the authenticity token that varies on each # request. The masking is used to mitigate SSL attacks like BREACH. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:487 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:494 def masked_authenticity_token(form_options: T.unsafe(nil)); end # Check for cross-origin JavaScript responses. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:450 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:457 def non_xhr_javascript_response?; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:637 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:645 def normalize_action_path(action_path); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:647 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:655 def normalize_relative_action_path(rel_action_path); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:576 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:583 def per_form_csrf_token(session, action_path, method); end # Checks if the controller allows forgery protection. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:612 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:619 def protect_against_forgery?; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:568 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:575 def real_csrf_token(_session = T.unsafe(nil)); end # Possible authenticity tokens sent in the request. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:476 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:483 def request_authenticity_tokens; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:532 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:539 def unmask_token(masked_token); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:411 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:418 def unverified_request_warning_message; end # Checks the client's masked token to see if it matches the session token. # Essentially the inverse of `masked_authenticity_token`. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:502 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:509 def valid_authenticity_token?(session, encoded_masked_token); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:554 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:561 def valid_per_form_csrf_token?(token, session = T.unsafe(nil)); end # Checks if the request originated from the same origin by looking at the Origin # header. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:627 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:635 def valid_request_origin?; end # Returns true or false if a request is verified. Checks: @@ -7550,7 +7862,7 @@ module ActionController::RequestForgeryProtection # params? # * Does the `X-CSRF-Token` header match the form_authenticity_token? # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:463 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:470 def verified_request?; end # The actual before_action that is used to verify the CSRF token. Don't override @@ -7563,17 +7875,17 @@ module ActionController::RequestForgeryProtection # responses are for XHR requests, ensuring they follow the browser's same-origin # policy. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:391 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:398 def verify_authenticity_token; end # If `verify_authenticity_token` was run (indicating that we have # forgery protection enabled for this request) then also verify that we aren't # serving an unauthorized cross-origin response. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:429 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:436 def verify_same_origin_request; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:595 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:602 def xor_byte_strings(s1, s2); end module GeneratedClassMethods @@ -7592,16 +7904,16 @@ module ActionController::RequestForgeryProtection end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:454 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:461 ActionController::RequestForgeryProtection::AUTHENTICITY_TOKEN_LENGTH = T.let(T.unsafe(nil), Integer) -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:419 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:426 ActionController::RequestForgeryProtection::CROSS_ORIGIN_JAVASCRIPT_WARNING = T.let(T.unsafe(nil), String) # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:64 ActionController::RequestForgeryProtection::CSRF_TOKEN = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:106 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:113 module ActionController::RequestForgeryProtection::ClassMethods # Turn on request forgery protection. Bear in mind that GET and HEAD requests # are not checked. @@ -7696,7 +8008,7 @@ module ActionController::RequestForgeryProtection::ClassMethods # protect_from_forgery store: CustomStore.new # end # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:199 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:206 def protect_from_forgery(options = T.unsafe(nil)); end # Turn off request forgery protection. This is a wrapper for: @@ -7705,113 +8017,113 @@ module ActionController::RequestForgeryProtection::ClassMethods # # See `skip_before_action` for allowed options. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:216 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:223 def skip_forgery_protection(options = T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:248 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:255 def is_storage_strategy?(object); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:221 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:228 def protection_method_class(name); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:236 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:243 def storage_strategy(name); end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:333 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:340 class ActionController::RequestForgeryProtection::CookieStore - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:334 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:341 def initialize(cookie = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:338 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:345 def fetch(request); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:361 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:368 def reset(request); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:350 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:357 def store(request, csrf_token); end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:580 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:587 ActionController::RequestForgeryProtection::GLOBAL_CSRF_TOKEN_IDENTIFIER = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:616 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:623 ActionController::RequestForgeryProtection::NULL_ORIGIN_MESSAGE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:253 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:260 module ActionController::RequestForgeryProtection::ProtectionMethods; end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:306 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:313 class ActionController::RequestForgeryProtection::ProtectionMethods::Exception - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:309 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:316 def initialize(controller); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:313 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:320 def handle_unverified_request; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:307 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:314 def warning_message; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:307 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:314 def warning_message=(_arg0); end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:254 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:261 class ActionController::RequestForgeryProtection::ProtectionMethods::NullSession - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:255 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:262 def initialize(controller); end # This is the method that defines the application behavior when a request is # found to be unverified. # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:261 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:268 def handle_unverified_request; end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:289 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:296 class ActionController::RequestForgeryProtection::ProtectionMethods::NullSession::NullCookieJar < ::ActionDispatch::Cookies::CookieJar - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:290 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:297 def write(*); end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:270 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:277 class ActionController::RequestForgeryProtection::ProtectionMethods::NullSession::NullSessionHash < ::Rack::Session::Abstract::SessionHash - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:271 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:278 def initialize(req); end # no-op # - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:278 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:285 def destroy; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:284 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:291 def enabled?; end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:280 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:287 def exists?; end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:296 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:303 class ActionController::RequestForgeryProtection::ProtectionMethods::ResetSession - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:297 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:304 def initialize(controller); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:301 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:308 def handle_unverified_request; end end -# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:319 +# pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:326 class ActionController::RequestForgeryProtection::SessionStore - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:320 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:327 def fetch(request); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:328 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:335 def reset(request); end - # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:324 + # pkg:gem/actionpack#lib/action_controller/metal/request_forgery_protection.rb:331 def store(request, csrf_token); end end @@ -7830,6 +8142,7 @@ module ActionController::Rescue mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveSupport::Rescuable::ClassMethods + mixes_in_class_methods ::ActionController::Rescue::ClassMethods # Override this method if you want to customize when detailed exceptions must be # shown. This method is only called when `consider_all_requests_local` is @@ -7837,12 +8150,12 @@ module ActionController::Rescue # `request.local?` so local requests in production still show the detailed # exception pages. # - # pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:21 + # pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:30 def show_detailed_exceptions?; end private - # pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:26 + # pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:35 def process_action(*); end module GeneratedClassMethods @@ -7858,6 +8171,12 @@ module ActionController::Rescue end end +# pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:16 +module ActionController::Rescue::ClassMethods + # pkg:gem/actionpack#lib/action_controller/metal/rescue.rb:17 + def handler_for_rescue(exception, *, **, &); end +end + # Raised when a nested respond_to is triggered and the content types of each are # incompatible. For example: # @@ -8155,6 +8474,66 @@ module ActionController::StrongParameters def params=(value); end end +# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:4 +class ActionController::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:91 + def exist_fragment?(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:95 + def expire_fragment(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:43 + def halted_callback(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:25 + def process_action(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:87 + def read_fragment(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:64 + def redirect_to(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:47 + def rescue_from_callback(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:68 + def send_data(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:60 + def send_file(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:7 + def start_processing(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:72 + def unpermitted_parameters(event); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:83 + def write_fragment(event); end + + private + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:110 + def additions_for(payload); end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:100 + def fragment_cache(method_name, event); end + + class << self + private + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:81 + def __class_attr_debug_methods; end + + # pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:81 + def __class_attr_debug_methods=(new_value); end + end +end + +# pkg:gem/actionpack#lib/action_controller/structured_event_subscriber.rb:5 +ActionController::StructuredEventSubscriber::INTERNAL_PARAMS = T.let(T.unsafe(nil), Array) + # pkg:gem/actionpack#lib/action_controller/template_assertions.rb:6 module ActionController::TemplateAssertions # pkg:gem/actionpack#lib/action_controller/template_assertions.rb:7 @@ -8306,6 +8685,9 @@ class ActionController::TestCase < ::ActiveSupport::TestCase # pkg:gem/actionpack#lib/action_controller/test_case.rb:599 def _controller_class?; end + # pkg:gem/actionpack#lib/action_controller/test_case.rb:600 + def _run_setup_callbacks(&block); end + class << self # pkg:gem/actionpack#lib/action_controller/test_case.rb:599 def _controller_class; end @@ -8635,6 +9017,12 @@ module ActionController::Testing::Functional def recycle!; end end +# Raised when a Rate Limit is exceeded by too many requests within a period of +# time. +# +# pkg:gem/actionpack#lib/action_controller/metal/exceptions.rb:109 +class ActionController::TooManyRequests < ::ActionController::ActionControllerError; end + # Raised when a Parameters instance is not marked as permitted and an operation # to transform it to hash is called. # @@ -8756,7 +9144,7 @@ end module ActionDispatch extend ::ActiveSupport::Autoload - # pkg:gem/actionpack#lib/action_dispatch.rb:141 + # pkg:gem/actionpack#lib/action_dispatch.rb:149 def eager_load!; end # pkg:gem/actionpack#lib/action_dispatch.rb:127 @@ -8774,6 +9162,12 @@ module ActionDispatch # pkg:gem/actionpack#lib/action_dispatch.rb:127 def test_app=(val); end + + # pkg:gem/actionpack#lib/action_dispatch.rb:146 + def verbose_redirect_logs; end + + # pkg:gem/actionpack#lib/action_dispatch.rb:146 + def verbose_redirect_logs=(_arg0); end end end @@ -8861,6 +9255,20 @@ end # # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:8 module ActionDispatch::Assertions::ResponseAssertions + # Asserts that the given +text+ is present somewhere in the response body. + # + # assert_in_body fixture(:name).description + # + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:77 + def assert_in_body(text); end + + # Asserts that the given +text+ is not present anywhere in the response body. + # + # assert_not_in_body fixture(:name).description + # + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:84 + def assert_not_in_body(text); end + # Asserts that the response is a redirect to a URL matching the given options. # # # Asserts that the redirection was to the "index" action on the WeblogController @@ -8905,27 +9313,27 @@ module ActionDispatch::Assertions::ResponseAssertions private - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:115 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:129 def code_with_name(code_or_name); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:104 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:118 def exception_if_present; end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:89 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:103 def generate_response_message(expected, actual = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:109 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:123 def location_if_redirected; end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:80 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:94 def normalize_argument_to_redirection(fragment); end # Proxy to to_param if the object will respond to it. # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:76 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:90 def parameterize(value); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:99 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/response.rb:113 def response_body_if_short; end end @@ -8961,7 +9369,7 @@ module ActionDispatch::Assertions::RoutingAssertions # # Asserts that the generated route gives us our custom route # assert_generates "changesets/12", { controller: 'scm', action: 'show_diff', revision: "12" } # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:208 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:216 def assert_generates(expected_path, options, defaults = T.unsafe(nil), extras = T.unsafe(nil), message = T.unsafe(nil)); end # Asserts that the routing of the given `path` was handled correctly and that @@ -9001,7 +9409,7 @@ module ActionDispatch::Assertions::RoutingAssertions # # Test a custom route # assert_recognizes({controller: 'items', action: 'show', id: '1'}, 'view/item1') # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:168 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:176 def assert_recognizes(expected_options, path, extras = T.unsafe(nil), msg = T.unsafe(nil)); end # Asserts that path and options match both ways; in other words, it verifies @@ -9027,15 +9435,15 @@ module ActionDispatch::Assertions::RoutingAssertions # # Tests a route with an HTTP method # assert_routing({ method: 'put', path: '/product/321' }, { controller: "product", action: "update", id: "321" }) # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:252 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:260 def assert_routing(path, options, defaults = T.unsafe(nil), extras = T.unsafe(nil), message = T.unsafe(nil)); end # ROUTES TODO: These assertions should really work in an integration context # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:265 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:273 def method_missing(selector, *, **, &); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:107 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:115 def setup; end # A helper to make it easier to test different route configurations. This method @@ -9051,27 +9459,27 @@ module ActionDispatch::Assertions::RoutingAssertions # assert_equal "/users", users_path # end # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:125 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:133 def with_routing(config = T.unsafe(nil), &block); end private - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:274 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:282 def create_routes(config = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:340 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:348 def fail_on(exception_class, message); end # Recognizes the route for a given path. # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:306 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:314 def recognized_request_for(path, extras = T.unsafe(nil), msg); end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:298 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:306 def reset_routes(old_routes, old_controller); end end -# pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:80 +# pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:88 module ActionDispatch::Assertions::RoutingAssertions::ClassMethods # A helper to make it easier to test different route configurations. This method # temporarily replaces @routes with a new RouteSet instance before each test. @@ -9085,7 +9493,7 @@ module ActionDispatch::Assertions::RoutingAssertions::ClassMethods # end # end # - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:93 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:101 def with_routing(&block); end end @@ -9100,10 +9508,13 @@ module ActionDispatch::Assertions::RoutingAssertions::WithIntegrationRouting private - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:58 def create_routes; end - # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:72 + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:50 + def initialize_lazy_routes(routes); end + + # pkg:gem/actionpack#lib/action_dispatch/testing/assertions/routing.rb:80 def reset_routes(old_routes, old_routes_call_method, old_integration_session); end end @@ -9150,7 +9561,10 @@ class ActionDispatch::Callbacks def _call_callbacks; end # pkg:gem/actionpack#lib/action_dispatch/middleware/callbacks.rb:12 - def _run_call_callbacks(&block); end + def _run_call_callbacks; end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/callbacks.rb:12 + def _run_call_callbacks!(&block); end # pkg:gem/actionpack#lib/action_dispatch/middleware/callbacks.rb:28 def call(env); end @@ -9599,10 +10013,10 @@ ActionDispatch::ContentSecurityPolicy::Request::POLICY_REPORT_ONLY = T.let(T.uns # # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:195 class ActionDispatch::Cookies - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:715 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:717 def initialize(app); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:719 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:721 def call(env); end end @@ -9865,19 +10279,19 @@ ActionDispatch::Cookies::ENCRYPTED_COOKIE_SALT = T.let(T.unsafe(nil), String) # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:200 ActionDispatch::Cookies::ENCRYPTED_SIGNED_COOKIE_SALT = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:663 +# pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:665 class ActionDispatch::Cookies::EncryptedKeyRotatingCookieJar < ::ActionDispatch::Cookies::AbstractCookieJar include ::ActionDispatch::Cookies::SerializedCookieJars - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:666 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:668 def initialize(parent_jar); end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:708 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:710 def commit(name, options); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:700 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:702 def parse(name, encrypted_message, purpose: T.unsafe(nil)); end end @@ -9937,19 +10351,19 @@ end # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:578 ActionDispatch::Cookies::SerializedCookieJars::SERIALIZER = ActiveSupport::MessageEncryptor::NullSerializer -# pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:634 +# pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:636 class ActionDispatch::Cookies::SignedKeyRotatingCookieJar < ::ActionDispatch::Cookies::AbstractCookieJar include ::ActionDispatch::Cookies::SerializedCookieJars - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:637 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:639 def initialize(parent_jar); end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:656 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:658 def commit(name, options); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:650 + # pkg:gem/actionpack#lib/action_dispatch/middleware/cookies.rb:652 def parse(name, signed_message, purpose: T.unsafe(nil)); end end @@ -9974,28 +10388,31 @@ class ActionDispatch::DebugExceptions private - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:200 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:206 def api_request?(content_type); end + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:148 + def compose_exception_message(wrapper); end + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:118 def create_template(request, wrapper); end # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:50 def invoke_interceptors(request, exception, wrapper); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:174 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:180 def log_array(logger, lines, request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:137 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:138 def log_error(request, wrapper); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:204 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:210 def log_rescued_responses?(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:186 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:192 def logger(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:133 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:134 def render(status, body, format); end # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:58 @@ -10007,10 +10424,10 @@ class ActionDispatch::DebugExceptions # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:80 def render_for_browser_request(request, wrapper); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:194 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:200 def routes_inspector(exception); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:190 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_exceptions.rb:196 def stderr_logger; end class << self @@ -10080,10 +10497,13 @@ class ActionDispatch::DebugView < ::ActionView::Base # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:24 def debug_params(params); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:62 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:58 + def editor_url(location, line: T.unsafe(nil)); end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:73 def params_valid?; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:58 + # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:69 def protect_against_forgery?; end # pkg:gem/actionpack#lib/action_dispatch/middleware/debug_view.rb:48 @@ -10095,70 +10515,70 @@ ActionDispatch::DebugView::RESCUES_TEMPLATE_PATHS = T.let(T.unsafe(nil), Array) # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:11 class ActionDispatch::ExceptionWrapper - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:51 def initialize(backtrace_cleaner, exception); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:101 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:102 def actions; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:113 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:114 def annotated_source_code; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:135 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:136 def application_trace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:48 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:49 def backtrace_cleaner; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:89 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:90 def corrections; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:48 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:49 def exception; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:48 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:49 def exception_class_name; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:228 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:234 def exception_id; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:224 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:230 def exception_inspect; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:216 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:222 def exception_name; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:129 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:130 def exception_trace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:77 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:78 def failures; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:93 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:94 def file_name; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:139 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:140 def framework_trace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:143 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:144 def full_trace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:73 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:74 def has_cause?; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:81 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:82 def has_corrections?; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:97 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:98 def line_number; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:220 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:226 def message; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:85 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:86 def original_message; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:194 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:200 def rescue_response?; end # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:12 @@ -10167,87 +10587,87 @@ class ActionDispatch::ExceptionWrapper # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:12 def rescue_responses=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:121 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:122 def rescue_template; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:31 def rescue_templates; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:31 def rescue_templates=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:61 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:62 def routing_error?; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:179 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:185 def show?(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:43 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:44 def silent_exceptions; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:43 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:44 def silent_exceptions=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:198 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:204 def source_extracts; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:212 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:218 def source_to_show_id; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:125 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:126 def status_code; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:69 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:70 def sub_template_message; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:65 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:66 def template_error?; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:204 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:210 def trace_to_show; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:147 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:148 def traces; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:105 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:106 def unwrapped_exception; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:48 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:49 def wrapped_causes; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:39 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:40 def wrapper_exceptions; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:39 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:40 def wrapper_exceptions=(val); end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:252 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:258 def backtrace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:254 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:260 def build_backtrace; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:277 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:283 def causes_for(exception); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:287 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:293 def clean_backtrace(*args); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:340 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:346 def extract_file_and_line_number(trace); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:295 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:301 def extract_source(trace); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:324 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:330 def extract_source_fragment_lines(source_lines, line); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:330 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:336 def source_fragment(path, line); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:283 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:289 def wrapped_causes_for(exception, backtrace_cleaner); end class << self @@ -10257,35 +10677,35 @@ class ActionDispatch::ExceptionWrapper # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:12 def rescue_responses=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:31 def rescue_templates; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:31 def rescue_templates=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:43 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:44 def silent_exceptions; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:43 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:44 def silent_exceptions=(val); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:175 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:181 def status_code_for_exception(class_name); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:39 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:40 def wrapper_exceptions; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:39 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:40 def wrapper_exceptions=(val); end end end -# pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:233 +# pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:239 class ActionDispatch::ExceptionWrapper::SourceMapLocation - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:234 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:240 def initialize(location, template); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:239 + # pkg:gem/actionpack#lib/action_dispatch/middleware/exception_wrapper.rb:245 def spot(exc); end end @@ -10638,48 +11058,48 @@ end # # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:22 class ActionDispatch::HostAuthorization - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:127 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:128 def initialize(app, hosts, exclude: T.unsafe(nil), response_app: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:135 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:136 def call(env); end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:151 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:152 def blocked_hosts(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:163 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:164 def excluded?(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:167 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:168 def mark_as_authorized(request); end end # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:23 ActionDispatch::HostAuthorization::ALLOWED_HOSTS_IN_DEVELOPMENT = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:88 +# pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:89 class ActionDispatch::HostAuthorization::DefaultResponseApp - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:91 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:92 def call(env); end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:122 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:123 def available_logger(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:114 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:115 def log_error(request); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:107 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:108 def response(format, body); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:100 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:101 def response_body(request); end end -# pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:89 +# pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:90 ActionDispatch::HostAuthorization::DefaultResponseApp::RESPONSE_STATUS = T.let(T.unsafe(nil), Integer) # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:26 @@ -10707,7 +11127,7 @@ class ActionDispatch::HostAuthorization::Permissions private - # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:83 + # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:84 def extract_hostname(host); end # pkg:gem/actionpack#lib/action_dispatch/middleware/host_authorization.rb:61 @@ -10736,7 +11156,10 @@ module ActionDispatch::Http::Cache; end # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:8 module ActionDispatch::Http::Cache::Request - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:32 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:71 + def cache_control_directives; end + + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:36 def etag_matches?(etag); end # Check response freshness (`Last-Modified` and `ETag`) against request @@ -10746,19 +11169,19 @@ module ActionDispatch::Http::Cache::Request # `config.action_dispatch.strict_freshness`. # Reference: http://tools.ietf.org/html/rfc7232#section-6 # - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:45 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:49 def fresh?(response); end # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:14 def if_modified_since; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:20 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:24 def if_none_match; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:24 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:28 def if_none_match_etags; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:28 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:32 def not_modified?(modified_at); end # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:12 @@ -10776,24 +11199,106 @@ module ActionDispatch::Http::Cache::Request end end +# Represents the HTTP Cache-Control header for requests, +# providing methods to access various cache control directives +# Reference: https://www.rfc-editor.org/rfc/rfc9111.html#name-request-directives +# +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:78 +class ActionDispatch::Http::Cache::Request::CacheControlDirectives + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:79 + def initialize(cache_control_header); end + + # Returns the value of the max-age directive. + # This directive indicates that the client is willing to accept a response + # whose age is no greater than the specified number of seconds. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:122 + def max_age; end + + # Returns the value of the max-stale directive. + # When max-stale is present with a value, returns that integer value. + # When max-stale is present without a value, returns true (unlimited staleness). + # When max-stale is not present, returns nil. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:128 + def max_stale; end + + # Returns true if max-stale directive is present (with or without a value) + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:131 + def max_stale?; end + + # Returns true if max-stale directive is present without a value (unlimited staleness) + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:136 + def max_stale_unlimited?; end + + # Returns the value of the min-fresh directive. + # This directive indicates that the client is willing to accept a response + # whose freshness lifetime is no less than its current age plus the specified time in seconds. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:143 + def min_fresh; end + + # Returns true if the no-cache directive is present. + # This directive indicates that a cache must not use the response + # to satisfy subsequent requests without successful validation on the origin server. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:102 + def no_cache?; end + + # Returns true if the no-store directive is present. + # This directive indicates that a cache must not store any part of the + # request or response. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:109 + def no_store?; end + + # Returns true if the no-transform directive is present. + # This directive indicates that a cache or proxy must not transform the payload. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:115 + def no_transform?; end + + # Returns true if the only-if-cached directive is present. + # This directive indicates that the client only wishes to obtain a + # stored response. If a valid stored response is not available, + # the server should respond with a 504 (Gateway Timeout) status. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:95 + def only_if_cached?; end + + # Returns the value of the stale-if-error directive. + # This directive indicates that the client is willing to accept a stale response + # if the check for a fresh one fails with an error for the specified number of seconds. + # + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:148 + def stale_if_error; end + + private + + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:151 + def parse_directives(header_value); end +end + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:9 ActionDispatch::Http::Cache::Request::HTTP_IF_MODIFIED_SINCE = T.let(T.unsafe(nil), String) # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:10 ActionDispatch::Http::Cache::Request::HTTP_IF_NONE_MATCH = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:68 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:180 module ActionDispatch::Http::Cache::Response - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:69 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:181 def cache_control; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:85 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:197 def date; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:95 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:207 def date=(utc_time); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:91 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:203 def date?; end # This method sets a weak ETag validator on the response so browsers and proxies @@ -10815,90 +11320,93 @@ module ActionDispatch::Http::Cache::Response # Weak ETags are what we almost always need, so they're the default. Check out # #strong_etag= to provide a strong ETag validator. # - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:117 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:229 def etag=(weak_validators); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:129 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:241 def etag?; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:71 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:183 def last_modified; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:81 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:193 def last_modified=(utc_time); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:77 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:189 def last_modified?; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:125 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:237 def strong_etag=(strong_validators); end # True if an ETag is set, and it isn't a weak validator (not preceded with # `W/`). # - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:138 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:250 def strong_etag?; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:121 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:233 def weak_etag=(weak_validators); end # True if an ETag is set, and it's a weak validator (preceded with `W/`). # - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:132 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:244 def weak_etag?; end private - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:161 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:273 def cache_control_headers; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:155 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:267 def cache_control_segments; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:151 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:263 def generate_strong_etag(validators); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:147 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:259 def generate_weak_etag(validators); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:191 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:304 def handle_conditional_get!; end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:200 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:313 def merge_and_normalize_cache_control!(cache_control); end - # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:179 + # pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:291 def prepare_cache_control!; end end -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:143 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:255 ActionDispatch::Http::Cache::Response::DATE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:183 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:295 ActionDispatch::Http::Cache::Response::DEFAULT_CACHE_CONTROL = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:189 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:301 ActionDispatch::Http::Cache::Response::IMMUTABLE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:144 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:256 ActionDispatch::Http::Cache::Response::LAST_MODIFIED = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:188 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:300 ActionDispatch::Http::Cache::Response::MUST_REVALIDATE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:185 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:302 +ActionDispatch::Http::Cache::Response::MUST_UNDERSTAND = T.let(T.unsafe(nil), String) + +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:297 ActionDispatch::Http::Cache::Response::NO_CACHE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:184 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:296 ActionDispatch::Http::Cache::Response::NO_STORE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:187 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:299 ActionDispatch::Http::Cache::Response::PRIVATE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:186 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:298 ActionDispatch::Http::Cache::Response::PUBLIC = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:145 +# pkg:gem/actionpack#lib/action_dispatch/http/cache.rb:257 ActionDispatch::Http::Cache::Response::SPECIAL_KEYS = T.let(T.unsafe(nil), Set) # pkg:gem/actionpack#lib/action_dispatch/http/content_disposition.rb:7 @@ -10951,49 +11459,53 @@ ActionDispatch::Http::ContentDisposition::TRADITIONAL_ESCAPED_CHAR = T.let(T.uns # # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:19 module ActionDispatch::Http::FilterParameters - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:24 + # :startdoc: + # + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:26 def initialize; end # Returns a hash of request.env with all sensitive data replaced. # - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:40 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:42 def filtered_env; end # Returns a hash of parameters with all sensitive data replaced. # - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:33 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:35 def filtered_parameters; end # Reconstructs a path with all sensitive GET parameters replaced. # - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:45 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:47 def filtered_path; end # Returns the `ActiveSupport::ParameterFilter` object used to filter in this # request. # - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:51 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:53 def parameter_filter; end private - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:60 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:62 def env_filter; end - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:71 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:73 def filtered_query_string; end - # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:67 + # pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:69 def parameter_filter_for(filters); end end -# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:20 +# :stopdoc: +# +# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:21 ActionDispatch::Http::FilterParameters::ENV_MATCH = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:22 +# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:23 ActionDispatch::Http::FilterParameters::NULL_ENV_FILTER = T.let(T.unsafe(nil), ActiveSupport::ParameterFilter) -# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:21 +# pkg:gem/actionpack#lib/action_dispatch/http/filter_parameters.rb:22 ActionDispatch::Http::FilterParameters::NULL_PARAM_FILTER = T.let(T.unsafe(nil), ActiveSupport::ParameterFilter) # pkg:gem/actionpack#lib/action_dispatch/http/filter_redirect.rb:7 @@ -11157,7 +11669,7 @@ module ActionDispatch::Http::MimeNegotiation # end # end # - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:120 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:174 def format=(extension); end # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:72 @@ -11179,7 +11691,7 @@ module ActionDispatch::Http::MimeNegotiation # end # end # - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:140 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:194 def formats=(extensions); end # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:37 @@ -11187,42 +11699,97 @@ module ActionDispatch::Http::MimeNegotiation # Returns the first MIME type that matches the provided array of MIME types. # - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:148 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:202 def negotiate_mime(order); end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:160 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:214 def should_apply_vary_header?; end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:105 + # Returns the \variant for the response template as an instance of + # ActiveSupport::ArrayInquirer. + # + # request.variant = :phone + # request.variant.phone? # => true + # request.variant.tablet? # => false + # + # request.variant = [:phone, :tablet] + # request.variant.phone? # => true + # request.variant.desktop? # => false + # request.variant.any?(:phone, :desktop) # => true + # request.variant.any?(:desktop, :watch) # => false + # + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:159 def variant; end - # Sets the variant for template. + # Sets the \variant for the response template. + # + # When determining which template to render, Action View will incorporate + # all variants from the request. For example, if an + # `ArticlesController#index` action needs to respond to + # `request.variant = [:ios, :turbo_native]`, it will render the + # first template file it can find in the following list: + # + # - `app/views/articles/index.html+ios.erb` + # - `app/views/articles/index.html+turbo_native.erb` + # - `app/views/articles/index.html.erb` + # + # Variants add context to the requests that views render appropriately. + # Variant names are arbitrary, and can communicate anything from the + # request's platform (`:android`, `:ios`, `:linux`, `:macos`, `:windows`) + # to its browser (`:chrome`, `:edge`, `:firefox`, `:safari`), to the type + # of user (`:admin`, `:guest`, `:user`). + # + # Note: Adding many new variant templates with similarities to existing + # template files can make maintaining your view code more difficult. + # + # #### Parameters + # + # * `variant` - a symbol name or an array of symbol names for variants + # used to render the response template + # + # #### Examples # - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:95 + # class ApplicationController < ActionController::Base + # before_action :determine_variants + # + # private + # def determine_variants + # variants = [] + # + # # some code to determine the variant(s) to use + # + # variants << :ios if request.user_agent.include?("iOS") + # variants << :turbo_native if request.user_agent.include?("Turbo Native") + # + # request.variant = variants + # end + # end + # + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:137 def variant=(variant); end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:164 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:218 def vary_headers; end private - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:194 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:248 def format_from_path_extension; end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:179 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:233 def params_readable?; end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:190 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:244 def use_accept_header; end - # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:185 + # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:239 def valid_accept_header; end end # We use normal content negotiation unless you include **/** in your list, in # which case we assume you're a browser and send HTML. # -# pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:177 +# pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:231 ActionDispatch::Http::MimeNegotiation::BROWSER_LIKE_ACCEPTS = T.let(T.unsafe(nil), Regexp) # pkg:gem/actionpack#lib/action_dispatch/http/mime_negotiation.rb:12 @@ -11301,22 +11868,28 @@ end # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:9 module ActionDispatch::Http::URL - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:181 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:277 def initialize; end # Returns the domain part of a host, such as "rubyonrails.org" in # "www.rubyonrails.org". You can specify a different `tld_length`, such as 2 to # catch rubyonrails.co.uk in "www.rubyonrails.co.uk". # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:324 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:420 def domain(tld_length = T.unsafe(nil)); end + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:112 + def domain_extractor; end + + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:112 + def domain_extractor=(val); end + # Returns the host for this request, such as "example.com". # # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.host # => "example.com" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:228 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:324 def host; end # Returns a host:port string for this request, such as "example.com" or @@ -11332,7 +11905,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.host_with_port # => "example.com:8080" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:244 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:340 def host_with_port; end # Returns a number port suffix like 8080 if the port number of this request is @@ -11344,7 +11917,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.optional_port # => 8080 # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:294 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:390 def optional_port; end # Returns the port number of this request as an integer. @@ -11355,7 +11928,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.port # => 8080 # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:255 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:351 def port; end # Returns a string port suffix, including colon, like ":8080" if the port number @@ -11367,7 +11940,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.port_string # => ":8080" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:306 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:402 def port_string; end # Returns 'https://' if this is an SSL request and 'http://' otherwise. @@ -11378,7 +11951,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com', 'HTTPS' => 'on' # req.protocol # => "https://" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:202 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:298 def protocol; end # Returns the host and port for this request, such as "example.com:8080". @@ -11392,13 +11965,13 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.raw_host_with_port # => "example.com:8080" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:216 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:312 def raw_host_with_port; end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:14 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:110 def secure_protocol; end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:14 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:110 def secure_protocol=(val); end # Returns the requested port, such as 8080, based on SERVER_PORT. @@ -11409,7 +11982,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'SERVER_PORT' => '8080' # req.server_port # => 8080 # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:317 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:413 def server_port; end # Returns the standard port number for this request's protocol. @@ -11417,7 +11990,7 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.standard_port # => 80 # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:267 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:363 def standard_port; end # Returns whether this request is using the standard port. @@ -11428,14 +12001,14 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080' # req.standard_port? # => false # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:282 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:378 def standard_port?; end # Returns all the subdomains as a string, so `"dev.www"` would be returned for # "dev.www.rubyonrails.org". You can specify a different `tld_length`, such as 2 # to catch `"www"` instead of `"www.rubyonrails"` in "www.rubyonrails.co.uk". # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:339 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:435 def subdomain(tld_length = T.unsafe(nil)); end # Returns all the subdomains as an array, so `["dev", "www"]` would be returned @@ -11443,13 +12016,13 @@ module ActionDispatch::Http::URL # as 2 to catch `["www"]` instead of `["www", "rubyonrails"]` in # "www.rubyonrails.co.uk". # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:332 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:428 def subdomains(tld_length = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:15 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:111 def tld_length; end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:15 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:111 def tld_length=(val); end # Returns the complete URL used for this request. @@ -11457,10 +12030,16 @@ module ActionDispatch::Http::URL # req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com' # req.url # => "http://example.com" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:191 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:287 def url; end class << self + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:112 + def domain_extractor; end + + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:112 + def domain_extractor=(val); end + # Returns the domain part of a host given the domain level. # # # Top-level domain example @@ -11468,7 +12047,7 @@ module ActionDispatch::Http::URL # # Second-level domain example # extract_domain('dev.www.example.co.uk', 2) # => "example.co.uk" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:24 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:121 def extract_domain(host, tld_length); end # Returns the subdomains of a host as a String given the domain level. @@ -11478,7 +12057,7 @@ module ActionDispatch::Http::URL # # Second-level domain example # extract_subdomain('dev.www.example.co.uk', 2) # => "dev.www" # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:48 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:145 def extract_subdomain(host, tld_length); end # Returns the subdomains of a host as an Array given the domain level. @@ -11488,61 +12067,158 @@ module ActionDispatch::Http::URL # # Second-level domain example # extract_subdomains('dev.www.example.co.uk', 2) # => ["dev", "www"] # - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:34 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:131 def extract_subdomains(host, tld_length); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:60 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:157 def full_url_for(options); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:72 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:169 def path_for(options); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:14 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:110 def secure_protocol; end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:14 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:110 def secure_protocol=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:15 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:111 def tld_length; end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:15 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:111 def tld_length=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:52 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:149 def url_for(options); end private - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:92 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:189 def add_anchor(path, anchor); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:85 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:182 def add_params(path, params); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:107 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:203 def build_host_url(host, port, protocol, options, path); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:98 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:195 def extract_domain_from(host, tld_length); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:102 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:199 def extract_subdomains_from(host, tld_length); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:131 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:227 def named_host?(host); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:148 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:244 def normalize_host(_host, options); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:168 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:264 def normalize_port(port, protocol); end - # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:135 + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:231 def normalize_protocol(protocol); end end end +# DomainExtractor provides utility methods for extracting domain and subdomain +# information from host strings. This module is used internally by Action Dispatch +# to parse host names and separate the domain from subdomains based on the +# top-level domain (TLD) length. +# +# The module assumes a standard domain structure where domains consist of: +# - Subdomains (optional, can be multiple levels) +# - Domain name +# - Top-level domain (TLD, can be multiple levels like .co.uk) +# +# For example, in "api.staging.example.co.uk": +# - Subdomains: ["api", "staging"] +# - Domain: "example.co.uk" (with tld_length=2) +# - TLD: "co.uk" +# +# pkg:gem/actionpack#lib/action_dispatch/http/url.rb:28 +module ActionDispatch::Http::URL::DomainExtractor + extend ::ActionDispatch::Http::URL::DomainExtractor + + # Extracts the domain part from a host string, including the specified + # number of top-level domain components. + # + # The domain includes the main domain name plus the TLD components. + # The +tld_length+ parameter specifies how many components from the right + # should be considered part of the TLD. + # + # ==== Parameters + # + # [+host+] + # The host string to extract the domain from. + # + # [+tld_length+] + # The number of domain components that make up the TLD. For example, + # use 1 for ".com" or 2 for ".co.uk". + # + # ==== Examples + # + # # Standard TLD (tld_length = 1) + # DomainExtractor.domain_from("www.example.com", 1) + # # => "example.com" + # + # # Country-code TLD (tld_length = 2) + # DomainExtractor.domain_from("www.example.co.uk", 2) + # # => "example.co.uk" + # + # # Multiple subdomains + # DomainExtractor.domain_from("api.staging.myapp.herokuapp.com", 1) + # # => "herokuapp.com" + # + # # Single component (returns the host itself) + # DomainExtractor.domain_from("localhost", 1) + # # => "localhost" + # + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:64 + def domain_from(host, tld_length); end + + # Extracts the subdomain components from a host string as an Array. + # + # Returns all the components that come before the domain and TLD parts. + # The +tld_length+ parameter is used to determine where the domain begins + # so that everything before it is considered a subdomain. + # + # ==== Parameters + # + # [+host+] + # The host string to extract subdomains from. + # + # [+tld_length+] + # The number of domain components that make up the TLD. This affects + # where the domain boundary is calculated. + # + # ==== Examples + # + # # Standard TLD (tld_length = 1) + # DomainExtractor.subdomains_from("www.example.com", 1) + # # => ["www"] + # + # # Country-code TLD (tld_length = 2) + # DomainExtractor.subdomains_from("api.staging.example.co.uk", 2) + # # => ["api", "staging"] + # + # # No subdomains + # DomainExtractor.subdomains_from("example.com", 1) + # # => [] + # + # # Single subdomain with complex TLD + # DomainExtractor.subdomains_from("www.mysite.co.uk", 2) + # # => ["www"] + # + # # Multiple levels of subdomains + # DomainExtractor.subdomains_from("dev.api.staging.example.com", 1) + # # => ["dev", "api", "staging"] + # + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:104 + def subdomains_from(host, tld_length); end +end + # pkg:gem/actionpack#lib/action_dispatch/http/url.rb:11 ActionDispatch::Http::URL::HOST_REGEXP = T.let(T.unsafe(nil), Regexp) @@ -12428,10 +13104,10 @@ class ActionDispatch::Journey::Formatter # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:15 def initialize(routes); end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:110 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:115 def clear; end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:114 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:119 def eager_load!; end # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:61 @@ -12442,30 +13118,30 @@ class ActionDispatch::Journey::Formatter private - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:214 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:219 def build_cache; end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:225 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:230 def cache; end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:120 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:125 def extract_parameterized_parts(route, options, recall); end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:147 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:152 def match_route(name, options); end # Returns an array populated with missing keys if any are present. # - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:186 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:191 def missing_keys(route, parts); end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:143 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:148 def named_routes; end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:169 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:174 def non_recursive(cache, options); end - # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:206 + # pkg:gem/actionpack#lib/action_dispatch/journey/formatter.rb:211 def possibles(cache, options, depth = T.unsafe(nil)); end end @@ -12552,91 +13228,86 @@ end # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/builder.rb:11 ActionDispatch::Journey::GTG::Builder::DUMMY_END_NODE = T.let(T.unsafe(nil), ActionDispatch::Journey::Nodes::Dummy) -# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:10 +# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:8 class ActionDispatch::Journey::GTG::MatchData - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:13 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:11 def initialize(memos); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:11 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:9 def memos; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:18 +# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:16 class ActionDispatch::Journey::GTG::Simulator - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:23 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:27 def initialize(transition_table); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:27 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:31 def memos(string); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:21 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:25 def tt; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:19 +# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:23 ActionDispatch::Journey::GTG::Simulator::INITIAL_STATE = T.let(T.unsafe(nil), Array) +# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/simulator.rb:17 +ActionDispatch::Journey::GTG::Simulator::STATIC_TOKENS = T.let(T.unsafe(nil), Array) + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:10 class ActionDispatch::Journey::GTG::TransitionTable include ::ActionDispatch::Journey::NFA::Dot - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:18 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:17 def initialize; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:165 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:168 def []=(from, to, sym); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:34 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:33 def accepting?(state); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:29 def accepting_states; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:26 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:25 def add_accepting(state); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:38 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:37 def add_memo(idx, memo); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:100 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:103 def as_json(options = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:46 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:45 def eclosure(t); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:42 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:41 def memo(idx); end # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:13 def memos; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:50 - def move(t, full_string, start_index, end_index); end + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:49 + def move(t, full_string, token, start_index, token_matches_default); end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:182 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:187 def states; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:117 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:120 def to_svg; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:189 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:194 def transitions; end - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:127 + # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:130 def visualizer(paths, title = T.unsafe(nil)); end - - private - - # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:200 - def states_hash_for(sym); end end # pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:15 ActionDispatch::Journey::GTG::TransitionTable::DEFAULT_EXP = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/gtg/transition_table.rb:16 -ActionDispatch::Journey::GTG::TransitionTable::DEFAULT_EXP_ANCHORED = T.let(T.unsafe(nil), Regexp) - # pkg:gem/actionpack#lib/action_dispatch/journey/nfa/dot.rb:7 module ActionDispatch::Journey::NFA; end @@ -12649,60 +13320,60 @@ end # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:68 module ActionDispatch::Journey::Nodes; end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:181 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:182 class ActionDispatch::Journey::Nodes::Binary < ::ActionDispatch::Journey::Nodes::Node - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:184 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:185 def initialize(left, right); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:189 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:190 def children; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:182 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:183 def right; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:182 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:183 def right=(_arg0); end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:192 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:193 class ActionDispatch::Journey::Nodes::Cat < ::ActionDispatch::Journey::Nodes::Binary - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:193 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:194 def cat?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:194 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:195 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:133 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:134 class ActionDispatch::Journey::Nodes::Dot < ::ActionDispatch::Journey::Nodes::Terminal - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:134 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:135 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:121 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:122 class ActionDispatch::Journey::Nodes::Dummy < ::ActionDispatch::Journey::Nodes::Literal - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:122 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:123 def initialize(x = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:126 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:127 def literal?; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:158 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:159 class ActionDispatch::Journey::Nodes::Group < ::ActionDispatch::Journey::Nodes::Unary - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:160 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:161 def group?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:159 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:160 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:116 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:117 class ActionDispatch::Journey::Nodes::Literal < ::ActionDispatch::Journey::Nodes::Terminal - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:117 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:118 def literal?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:118 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:119 def type; end end @@ -12713,13 +13384,13 @@ class ActionDispatch::Journey::Nodes::Node # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:74 def initialize(left); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:107 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:108 def cat?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:79 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:80 def each(&block); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:108 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:109 def group?; end # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:72 @@ -12728,7 +13399,7 @@ class ActionDispatch::Journey::Nodes::Node # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:72 def left=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:104 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:105 def literal?; end # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:72 @@ -12737,112 +13408,112 @@ class ActionDispatch::Journey::Nodes::Node # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:72 def memo=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:95 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:96 def name; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:106 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:107 def star?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:103 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:104 def symbol?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:105 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:106 def terminal?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:87 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:88 def to_dot; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:83 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:84 def to_s; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:91 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:92 def to_sym; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:99 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:100 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:197 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:198 class ActionDispatch::Journey::Nodes::Or < ::ActionDispatch::Journey::Nodes::Node - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:200 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:201 def initialize(children); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:198 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:199 def children; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:204 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:205 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:129 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:130 class ActionDispatch::Journey::Nodes::Slash < ::ActionDispatch::Journey::Nodes::Terminal - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:130 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:131 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:163 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:164 class ActionDispatch::Journey::Nodes::Star < ::ActionDispatch::Journey::Nodes::Unary - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:166 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:167 def initialize(left); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:176 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:177 def name; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:164 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:165 def regexp; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:164 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:165 def regexp=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:173 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:174 def star?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:174 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:175 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:137 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:138 class ActionDispatch::Journey::Nodes::Symbol < ::ActionDispatch::Journey::Nodes::Terminal - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:144 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:145 def initialize(left, regexp = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:140 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:141 def name; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:138 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:139 def regexp; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:138 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:139 def regexp=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:139 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:140 def symbol; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:151 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:152 def symbol?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:150 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:151 def type; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:142 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:143 ActionDispatch::Journey::Nodes::Symbol::DEFAULT_EXP = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:143 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:144 ActionDispatch::Journey::Nodes::Symbol::GREEDY_EXP = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:111 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:112 class ActionDispatch::Journey::Nodes::Terminal < ::ActionDispatch::Journey::Nodes::Node - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:112 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:113 def symbol; end - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:113 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:114 def terminal?; end end -# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:154 +# pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:155 class ActionDispatch::Journey::Nodes::Unary < ::ActionDispatch::Journey::Nodes::Node - # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:155 + # pkg:gem/actionpack#lib/action_dispatch/journey/nodes/node.rb:156 def children; end end @@ -13024,8 +13695,8 @@ class ActionDispatch::Journey::Route # +path+ is a path constraint. # `constraints` is a hash of constraints to be applied to this route. # - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:58 - def initialize(name:, path:, app: T.unsafe(nil), constraints: T.unsafe(nil), required_defaults: T.unsafe(nil), defaults: T.unsafe(nil), request_method_match: T.unsafe(nil), precedence: T.unsafe(nil), scope_options: T.unsafe(nil), internal: T.unsafe(nil), source_location: T.unsafe(nil)); end + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:79 + def initialize(name:, path:, app: T.unsafe(nil), constraints: T.unsafe(nil), required_defaults: T.unsafe(nil), defaults: T.unsafe(nil), via: T.unsafe(nil), precedence: T.unsafe(nil), scope_options: T.unsafe(nil), internal: T.unsafe(nil), source_location: T.unsafe(nil)); end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def app; end @@ -13042,31 +13713,31 @@ class ActionDispatch::Journey::Route # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def defaults; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:144 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:165 def dispatcher?; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:80 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:101 def eager_load!; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:122 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:143 def format(path_options); end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:140 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:161 def glob?; end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def internal; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:166 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:189 def ip; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:148 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:169 def matches?(request); end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def name; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:117 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:138 def parts; end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 @@ -13075,16 +13746,16 @@ class ActionDispatch::Journey::Route # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def precedence; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:130 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:151 def required_default?(key); end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:134 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:155 def required_defaults; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:105 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:126 def required_keys; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:126 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:147 def required_parts; end # Needed for `bin/rails routes`. Picks up succinctly defined requirements for a @@ -13096,47 +13767,39 @@ class ActionDispatch::Journey::Route # will have {:controller=>"photos", :action=>"show", :[id=>/](A-Z){5}/} as # requirements. # - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:95 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:116 def requirements; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:170 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:193 def requires_matching_verb?; end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def scope_options; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:109 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:130 def score(supplied_keys); end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:120 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:141 def segment_keys; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:101 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:122 def segments; end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:9 def source_location; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:174 + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:197 def verb; end +end - private - - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:183 - def match_verb(request); end - - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:179 - def verbs; end - +# pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:14 +module ActionDispatch::Journey::Route::VerbMatchers class << self - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:49 - def verb_matcher(verb); end + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:65 + def for(verbs); end end end -# pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:14 -module ActionDispatch::Journey::Route::VerbMatchers; end - # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:36 class ActionDispatch::Journey::Route::VerbMatchers::All class << self @@ -13203,6 +13866,18 @@ class ActionDispatch::Journey::Route::VerbMatchers::OPTIONS end end +# pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:41 +class ActionDispatch::Journey::Route::VerbMatchers::Or + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:44 + def initialize(verbs); end + + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:49 + def call(req); end + + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:42 + def verb; end +end + # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:17 class ActionDispatch::Journey::Route::VerbMatchers::PATCH class << self @@ -13273,66 +13948,54 @@ end # pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:15 ActionDispatch::Journey::Route::VerbMatchers::VERBS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:41 +# pkg:gem/actionpack#lib/action_dispatch/journey/route.rb:54 ActionDispatch::Journey::Route::VerbMatchers::VERB_TO_CLASS = T.let(T.unsafe(nil), Hash) # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:7 class ActionDispatch::Journey::Router - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:22 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:19 def initialize(routes); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:26 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:23 def eager_load!; end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:68 - def recognize(rails_req); end + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:43 + def recognize(req, &block); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:20 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:17 def routes; end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:20 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:17 def routes=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:33 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:30 def serve(req); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:81 - def visualizer; end - private - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:95 - def ast; end - - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:103 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:107 def custom_routes; end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:107 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:111 def filter_routes(path); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:112 - def find_routes(req); end - - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:137 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:115 def match_head_routes(routes, req); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:89 - def partitioned_routes; end - - # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:99 + # pkg:gem/actionpack#lib/action_dispatch/journey/router.rb:103 def simulator; end end # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:8 class ActionDispatch::Journey::Router::Utils class << self - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:91 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:93 def escape_fragment(fragment); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:83 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:85 def escape_path(path); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:87 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:89 def escape_segment(segment); end # Normalizes URI path. @@ -13348,82 +14011,71 @@ class ActionDispatch::Journey::Router::Utils # # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:19 def normalize_path(path); end - - # Replaces any escaped sequences with their unescaped representations. - # - # uri = "/topics?title=Ruby%20on%20Rails" - # unescape_uri(uri) #=> "/topics?title=Ruby on Rails" - # - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:99 - def unescape_uri(uri); end end end -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:81 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:83 ActionDispatch::Journey::Router::Utils::ENCODER = T.let(T.unsafe(nil), ActionDispatch::Journey::Router::Utils::UriEncoder) # URI path and fragment escaping https://tools.ietf.org/html/rfc3986 # -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:34 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:41 class ActionDispatch::Journey::Router::Utils::UriEncoder - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:52 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:59 def escape_fragment(fragment); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:56 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:63 def escape_path(path); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:60 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:67 def escape_segment(segment); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:64 - def unescape_uri(uri); end - private - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:70 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:72 def escape(component, pattern); end - # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:74 + # pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:76 def percent_encode(unsafe); end end -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:41 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:48 ActionDispatch::Journey::Router::Utils::UriEncoder::ALPHA = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:39 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:46 ActionDispatch::Journey::Router::Utils::UriEncoder::DEC2HEX = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:42 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:49 ActionDispatch::Journey::Router::Utils::UriEncoder::DIGIT = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:38 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:45 ActionDispatch::Journey::Router::Utils::UriEncoder::EMPTY = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:35 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:42 ActionDispatch::Journey::Router::Utils::UriEncoder::ENCODE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:46 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:53 ActionDispatch::Journey::Router::Utils::UriEncoder::ESCAPED = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:48 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:55 ActionDispatch::Journey::Router::Utils::UriEncoder::FRAGMENT = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:50 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:57 ActionDispatch::Journey::Router::Utils::UriEncoder::PATH = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:49 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:56 ActionDispatch::Journey::Router::Utils::UriEncoder::SEGMENT = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:44 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:51 ActionDispatch::Journey::Router::Utils::UriEncoder::SUB_DELIMS = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:43 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:50 ActionDispatch::Journey::Router::Utils::UriEncoder::UNRESERVED = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:36 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:43 ActionDispatch::Journey::Router::Utils::UriEncoder::US_ASCII = T.let(T.unsafe(nil), Encoding) -# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:37 +# pkg:gem/actionpack#lib/action_dispatch/journey/router/utils.rb:44 ActionDispatch::Journey::Router::Utils::UriEncoder::UTF_8 = T.let(T.unsafe(nil), Encoding) # The Routing table. Contains all routes for a system. Routes can be added to @@ -13475,9 +14127,12 @@ class ActionDispatch::Journey::Routes # pkg:gem/actionpack#lib/action_dispatch/journey/routes.rb:29 def size; end + # pkg:gem/actionpack#lib/action_dispatch/journey/routes.rb:75 + def visualizer; end + private - # pkg:gem/actionpack#lib/action_dispatch/journey/routes.rb:76 + # pkg:gem/actionpack#lib/action_dispatch/journey/routes.rb:83 def clear_cache!; end end @@ -13516,42 +14171,67 @@ class ActionDispatch::Journey::Scanner::Scanner < ::StringScanner; end # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:55 module ActionDispatch::Journey::Visitors; end -# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:196 +# private +# def binary(node, seed) +# visit(node.right, visit(node.left, seed)) +# end +# +# def nary(node, seed) +# last_child = node.children.last +# node.children.inject(seed) { |s, c| +# string = visit(c, s) +# string << "|" unless last_child == c +# string +# } +# end +# +# def terminal(node, seed) +# seed + node.left +# end +# +# def visit_GROUP(node, seed) +# visit(node.left, seed.dup << "(") << ")" +# end +# +# INSTANCE = new +# end +# +# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:228 class ActionDispatch::Journey::Visitors::Dot < ::ActionDispatch::Journey::Visitors::FunctionalVisitor - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:197 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:229 def initialize; end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:202 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:234 def accept(node, seed = T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:217 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:249 def binary(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:224 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:256 def nary(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:256 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:288 def terminal(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:231 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:263 def unary(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:241 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:273 def visit_CAT(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:236 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:268 def visit_GROUP(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:251 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:283 def visit_OR(node, seed); end - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:246 + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:278 def visit_STAR(node, seed); end end -# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:262 +# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:294 ActionDispatch::Journey::Visitors::Dot::INSTANCE = T.let(T.unsafe(nil), ActionDispatch::Journey::Visitors::Dot) # Loop through the requirements AST. @@ -13635,23 +14315,12 @@ end ActionDispatch::Journey::Visitors::FunctionalVisitor::DISPATCH_CACHE = T.let(T.unsafe(nil), Hash) # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:170 -class ActionDispatch::Journey::Visitors::String < ::ActionDispatch::Journey::Visitors::FunctionalVisitor - private - - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:172 - def binary(node, seed); end - - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:176 - def nary(node, seed); end - - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:185 - def terminal(node, seed); end - - # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:189 - def visit_GROUP(node, seed); end +class ActionDispatch::Journey::Visitors::String + # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:171 + def accept(node, seed); end end -# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:193 +# pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:199 ActionDispatch::Journey::Visitors::String::INSTANCE = T.let(T.unsafe(nil), ActionDispatch::Journey::Visitors::String) # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:56 @@ -13704,18 +14373,42 @@ end # pkg:gem/actionpack#lib/action_dispatch/journey/visitors.rb:57 ActionDispatch::Journey::Visitors::Visitor::DISPATCH_CACHE = T.let(T.unsafe(nil), Hash) -# pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:6 +# pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:4 class ActionDispatch::LogSubscriber < ::ActiveSupport::LogSubscriber + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner=(_arg0); end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner?; end + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:7 def redirect(event); end class << self + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner=(value); end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def backtrace_cleaner?; end + private - # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:21 + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def __class_attr_backtrace_cleaner; end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:5 + def __class_attr_backtrace_cleaner=(new_value); end + + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:25 def __class_attr_log_levels; end - # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:21 + # pkg:gem/actionpack#lib/action_dispatch/log_subscriber.rb:25 def __class_attr_log_levels=(new_value); end end end @@ -13865,68 +14558,62 @@ class ActionDispatch::ParamBuilder # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:15 def initialize(param_depth_limit); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 def default; end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 def default=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:62 def from_hash(hash, encoding_template: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:34 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:46 def from_pairs(pairs, encoding_template: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:30 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:42 def from_query_string(qs, separator: T.unsafe(nil), encoding_template: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 - def ignore_leading_brackets; end - - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 - def ignore_leading_brackets=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:13 def param_depth_limit; end private - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:162 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:163 def make_params; end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:166 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:167 def new_depth_limit(param_depth_limit); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:174 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:175 def params_hash_has_key?(hash, key); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:170 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:171 def params_hash_type?(obj); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:65 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:77 def store_nested_param(params, name, v, depth, encoding_template = T.unsafe(nil)); end class << self - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 def default; end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 def default=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:27 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 def from_hash(*, **, &); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:27 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 def from_pairs(*, **, &); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:27 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:23 def from_query_string(*, **, &); end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:25 def ignore_leading_brackets; end - # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:19 - def ignore_leading_brackets=(val); end + # pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:33 + def ignore_leading_brackets=(value); end # -- # This implementation is based on Rack::QueryParser, @@ -13937,9 +14624,6 @@ class ActionDispatch::ParamBuilder end end -# pkg:gem/actionpack#lib/action_dispatch/http/param_builder.rb:21 -ActionDispatch::ParamBuilder::LEADING_BRACKETS_COMPAT = T.let(T.unsafe(nil), FalseClass) - # pkg:gem/actionpack#lib/action_dispatch/http/param_error.rb:4 class ActionDispatch::ParamError < ::ActionDispatch::Http::Parameters::ParseError # pkg:gem/actionpack#lib/action_dispatch/http/param_error.rb:5 @@ -14146,54 +14830,42 @@ class ActionDispatch::PublicExceptions private - # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:43 + # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:39 def render(status, content_type, body); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:52 + # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:48 def render_format(status, content_type, body); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:57 + # pkg:gem/actionpack#lib/action_dispatch/middleware/public_exceptions.rb:53 def render_html(status); end end # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:7 class ActionDispatch::QueryParser - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:12 - def strict_query_string_separator; end - - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:12 - def strict_query_string_separator=(val); end - class << self # -- # Note this departs from WHATWG's specified parsing algorithm by # giving a nil value for keys that do not use '='. Callers that need # the standard's interpretation can use `v.to_s`. # - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:20 + # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:29 def each_pair(s, separator = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:12 + # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:11 def strict_query_string_separator; end - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:12 - def strict_query_string_separator=(val); end + # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:18 + def strict_query_string_separator=(value); end end end -# pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:10 -ActionDispatch::QueryParser::COMMON_SEP = T.let(T.unsafe(nil), Hash) - # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:9 -ActionDispatch::QueryParser::COMPAT_SEP = T.let(T.unsafe(nil), Regexp) +ActionDispatch::QueryParser::COMMON_SEP = T.let(T.unsafe(nil), Hash) # pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:8 ActionDispatch::QueryParser::DEFAULT_SEP = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/http/query_parser.rb:14 -ActionDispatch::QueryParser::SEMICOLON_COMPAT = T.let(T.unsafe(nil), FalseClass) - -# pkg:gem/actionpack#lib/action_dispatch/railtie.rb:10 +# pkg:gem/actionpack#lib/action_dispatch/railtie.rb:12 class ActionDispatch::Railtie < ::Rails::Railtie; end # # Action Dispatch Reloader @@ -14229,20 +14901,21 @@ class ActionDispatch::Reloader < ::ActionDispatch::Executor; end # middleware assumes that there is at least one proxy sitting around and setting # headers with the client's remote IP address. If you don't use a proxy, because # you are hosted on e.g. Heroku without SSL, any client can claim to have any IP -# address by setting the `X-Forwarded-For` header. If you care about that, then -# you need to explicitly drop or ignore those headers sometime before this -# middleware runs. Alternatively, remove this middleware to avoid inadvertently -# relying on it. +# address by setting the `Forwarded` or `X-Forwarded-For` header. If you care +# about that, then you need to explicitly drop or ignore those headers sometime +# before this middleware runs. Alternatively, remove this middleware to avoid +# inadvertently relying on it. # # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:33 class ActionDispatch::RemoteIp # Create a new `RemoteIp` middleware instance. # # The `ip_spoofing_check` option is on by default. When on, an exception is - # raised if it looks like the client is trying to lie about its own IP address. - # It makes sense to turn off this check on sites aimed at non-IP clients (like - # WAP devices), or behind proxies that set headers in an incorrect or confusing - # way (like AWS ELB). + # raised if it looks like the client is trying to lie about its own IP address, + # such as when the request carries conflicting `Forwarded`, `X-Forwarded-For`, + # or `Client-Ip` headers. It makes sense to turn off this check on sites aimed + # at non-IP clients (like WAP devices), or behind proxies that set headers in + # an incorrect or confusing way (like AWS ELB). # # The `custom_proxies` argument can take an enumerable which will be used # instead of `TRUSTED_PROXIES`. Any proxy setup will put the value you want in @@ -14251,7 +14924,7 @@ class ActionDispatch::RemoteIp # `custom_proxies` parameter. That way, the middleware will ignore those IP # addresses, and return the one that you want. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:65 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:68 def initialize(app, ip_spoofing_check = T.unsafe(nil), custom_proxies = T.unsafe(nil)); end # Since the IP address may not be needed, we store the object here without @@ -14259,13 +14932,13 @@ class ActionDispatch::RemoteIp # those requests that do need to know the IP, the GetIp#calculate_ip method will # calculate the memoized client IP address. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:93 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:96 def call(env); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:49 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:51 def check_ip; end - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:49 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:51 def proxies; end end @@ -14273,9 +14946,9 @@ end # an actual IP address. If the ActionDispatch::Request#remote_ip method is # called, this class will calculate the value and then memoize it. # -# pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:102 +# pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:105 class ActionDispatch::RemoteIp::GetIp - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:103 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:114 def initialize(req, check_ip, proxies); end # Sort through the various IP address headers, looking for the IP most likely to @@ -14297,22 +14970,41 @@ class ActionDispatch::RemoteIp::GetIp # list of IPs, remove known and trusted proxies, and then take the last address # left, which was presumably set by one of those proxies. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:127 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:138 def calculate_ip; end # Memoizes the value returned by #calculate_ip and returns it for # ActionDispatch::Request to use. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:171 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:176 def to_s; end private - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:191 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:197 + def check_ip(client_ips, forwarded_ips); end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:228 def filter_proxies(ips); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:176 + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:181 def ips_from(header); end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:187 + def raise_spoofing_error; end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:216 + def sanitize_ips(ips); end +end + +# Parses X-Forwarded-For as Rack does, whatever `Rack::Request.forwarded_priority` says. +# +# pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:107 +class ActionDispatch::RemoteIp::GetIp::XForwardedForParser < ::Rack::Request + private + + # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:109 + def forwarded_priority; end end # pkg:gem/actionpack#lib/action_dispatch/middleware/remote_ip.rb:34 @@ -14336,90 +15028,90 @@ class ActionDispatch::Request include ::ActionDispatch::Http::FilterParameters include ::ActionDispatch::Http::URL include ::ActionDispatch::ContentSecurityPolicy::Request - include ::ActionDispatch::PermissionsPolicy::Request include ::Rack::Request::Env + include ::ActionDispatch::PermissionsPolicy::Request include ::ActionDispatch::RequestCookieMethods extend ::ActionDispatch::Http::Parameters::ClassMethods - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:64 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:63 def initialize(env); end # Override Rack's GET method to support indifferent access. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:395 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:400 def GET; end # Override Rack's POST method to support indifferent access. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:408 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:413 def POST; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def accept; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def accept_charset; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def accept_encoding; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def accept_language; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def auth_type; end # Returns the authorization header regardless of whether it was specified # directly or through one of the proxy alternatives. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:460 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:465 def authorization; end # The request body is an IO input stream. If the RAW_POST_DATA environment # variable is already set, wrap it in a StringIO. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:357 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:362 def body; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:377 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:382 def body_stream; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def cache_control; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def client_ip; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:79 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:78 def commit_cookie_jar!; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:492 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:497 def commit_csrf_token; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:481 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:486 def commit_flash; end # Returns the content length of the request as an integer. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:292 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:297 def content_length; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:88 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:87 def controller_class; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:94 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:93 def controller_class_for(name); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:190 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:195 def controller_instance; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:194 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:199 def controller_instance=(controller); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:176 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:181 def engine_script_name(_routes); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:180 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:185 def engine_script_name=(name); end # Determine whether the request body contains form-data by checking the request @@ -14430,10 +15122,10 @@ class ActionDispatch::Request # A request body is not assumed to contain form-data when no `Content-Type` # header is provided and the request_method is POST. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:373 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:378 def form_data?; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def from; end # Returns the `String` full path including params of the last URL requested. @@ -14444,20 +15136,20 @@ class ActionDispatch::Request # # get "/articles?page=2" # request.fullpath # => "/articles?page=2" # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:271 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:276 def fullpath; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def gateway_interface; end # Provides access to the request's HTTP headers, for example: # # request.headers["Content-Type"] # => "text/plain" # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:232 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:237 def headers; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:198 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:203 def http_auth_salt; end # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:23 @@ -14466,27 +15158,27 @@ class ActionDispatch::Request # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:23 def ignore_accept_header=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:484 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:489 def inspect; end # Returns the IP address of client as a `String`. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:306 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:311 def ip; end # Returns true if the request has a header matching the given key parameter. # # request.key? :ip_spoofing_check # => true # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:115 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:114 def key?(key); end # True if the request came from localhost, 127.0.0.1, or ::1. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:468 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:473 def local?; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:477 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:482 def logger; end # The `String` MIME type of the request. @@ -14494,7 +15186,7 @@ class ActionDispatch::Request # # get "/articles" # request.media_type # => "application/x-www-form-urlencoded" # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:287 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:292 def media_type; end # Returns the original value of the environment's REQUEST_METHOD, even if it was @@ -14503,18 +15195,18 @@ class ActionDispatch::Request # For debugging purposes, when called with arguments this method will fall back # to Object#method # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:212 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:217 def method(*args, **); end # Returns a symbol form of the #method. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:225 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:230 def method_symbol; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def negotiate; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def origin; end # Returns a `String` with the last requested path including their params. @@ -14525,10 +15217,10 @@ class ActionDispatch::Request # # get '/foo?bar' # request.original_fullpath # => '/foo?bar' # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:260 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:265 def original_fullpath; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def original_script_name; end # Returns the original request URL as a `String`. @@ -14536,49 +15228,49 @@ class ActionDispatch::Request # # get "/articles?page=2" # request.original_url # => "http://www.example.com/articles?page=2" # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:279 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:284 def original_url; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def path_translated; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def pragma; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:405 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:410 def query_parameters; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:77 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:76 def rack_request; end # Read the request body. This is useful for web services that need to work with # raw requests directly. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:348 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:353 def raw_post; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:145 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:144 def raw_request_method; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def remote_addr; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def remote_host; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def remote_ident; end # Returns the IP address of client as a `String`, usually set by the RemoteIp # middleware. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:312 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:317 def remote_ip; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:316 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:321 def remote_ip=(remote_ip); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def remote_user; end # Returns the unique request id, which is based on either the `X-Request-Id` @@ -14590,10 +15282,10 @@ class ActionDispatch::Request # logging or debugging. This relies on the Rack variable set by the # ActionDispatch::RequestId middleware. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:331 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:336 def request_id; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:335 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:340 def request_id=(id); end # Returns the HTTP method that the application should see. In the case where the @@ -14602,47 +15294,47 @@ class ActionDispatch::Request # the application should use), this method returns the overridden value, not the # original. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:152 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:151 def request_method; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:184 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:189 def request_method=(request_method); end # Returns a symbol form of the #request_method. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:203 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:208 def request_method_symbol; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:435 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:440 def request_parameters; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:472 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:477 def request_parameters=(params); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:437 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:442 def request_parameters_list; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:488 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:493 def reset_csrf_token; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:381 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:386 def reset_session; end + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:169 + def route=(route); end + # Returns the URI pattern of the matched route for the request, using the same # format as `bin/rails routes`: # # request.route_uri_pattern # => "/:controller(/:action(/:id))(.:format)" # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:160 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:159 def route_uri_pattern; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:164 - def route_uri_pattern=(pattern); end - - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:168 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:173 def routes; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:172 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:177 def routes=(routes); end # Early Hints is an HTTP/2 status code that indicates hints to help a client @@ -14659,73 +15351,73 @@ class ActionDispatch::Request # or {stylesheet_link_tag}[rdoc-ref:ActionView::Helpers::AssetTagHelper#stylesheet_link_tag] # the Early Hints headers are included by default if supported. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:249 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:254 def send_early_hints(links); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def server_name; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def server_protocol; end # Returns the lowercase name of the HTTP server software. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:342 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:347 def server_software; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:386 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:391 def session=(session); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:390 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:395 def session_options=(options); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:339 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:344 def uuid; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def version; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def x_csrf_token; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def x_forwarded_for; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def x_forwarded_host; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:50 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:49 def x_request_id; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:303 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:308 def xhr?; end # Returns true if the `X-Requested-With` header contains "XMLHttpRequest" # (case-insensitive), which may need to be manually added depending on the # choice of JavaScript libraries and frameworks. # - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:300 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:305 def xml_http_request?; end private - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:497 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:502 def check_method(name); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:505 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:510 def default_session; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:535 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:540 def fallback_request_parameters; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:509 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:514 def read_body_stream; end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:521 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:526 def reset_stream(body_stream); end class << self - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:60 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:59 def empty; end # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:23 @@ -14739,73 +15431,73 @@ class ActionDispatch::Request end end -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:321 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:326 ActionDispatch::Request::ACTION_DISPATCH_REQUEST_ID = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:36 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:35 ActionDispatch::Request::ENV_METHODS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:136 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:135 ActionDispatch::Request::HTTP_METHODS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:138 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:137 ActionDispatch::Request::HTTP_METHOD_LOOKUP = T.let(T.unsafe(nil), Hash) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:34 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:33 ActionDispatch::Request::LOCALHOST = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:82 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:81 class ActionDispatch::Request::PASS_NOT_FOUND class << self - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:83 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:82 def action(_); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:85 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:84 def action_encoding_template(action); end - # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:84 + # pkg:gem/actionpack#lib/action_dispatch/http/request.rb:83 def call(_); end end end # HTTP methods from [RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV](https://www.ietf.org/rfc/rfc2518.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:122 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:121 ActionDispatch::Request::RFC2518 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1](https://www.ietf.org/rfc/rfc2616.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:120 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:119 ActionDispatch::Request::RFC2616 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 3253: Versioning Extensions to WebDAV](https://www.ietf.org/rfc/rfc3253.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:124 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:123 ActionDispatch::Request::RFC3253 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 3648: WebDAV Ordered Collections Protocol](https://www.ietf.org/rfc/rfc3648.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:126 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:125 ActionDispatch::Request::RFC3648 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 3744: WebDAV Access Control Protocol](https://www.ietf.org/rfc/rfc3744.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:128 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:127 ActionDispatch::Request::RFC3744 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 4791: Calendaring Extensions to WebDAV](https://www.ietf.org/rfc/rfc4791.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:132 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:131 ActionDispatch::Request::RFC4791 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 5323: WebDAV SEARCH](https://www.ietf.org/rfc/rfc5323.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:130 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:129 ActionDispatch::Request::RFC5323 = T.let(T.unsafe(nil), Array) # HTTP methods from [RFC 5789: PATCH Method for HTTP](https://www.ietf.org/rfc/rfc5789.txt) # -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:134 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:133 ActionDispatch::Request::RFC5789 = T.let(T.unsafe(nil), Array) # Session is responsible for lazily loading the session from store. @@ -15016,7 +15708,7 @@ end # pkg:gem/actionpack#lib/action_dispatch/request/session.rb:16 ActionDispatch::Request::Session::Unspecified = T.let(T.unsafe(nil), Object) -# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:58 +# pkg:gem/actionpack#lib/action_dispatch/http/request.rb:57 ActionDispatch::Request::TRANSFER_ENCODING = T.let(T.unsafe(nil), String) # pkg:gem/actionpack#lib/action_dispatch/request/utils.rb:9 @@ -15251,7 +15943,7 @@ class ActionDispatch::Response include ::ActionDispatch::Http::Cache::Response include ::MonitorMixin - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:197 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:198 def initialize(status = T.unsafe(nil), headers = T.unsafe(nil), body = T.unsafe(nil)); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:89 @@ -15268,33 +15960,33 @@ class ActionDispatch::Response # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:108 def _cache_control=(value); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:433 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:447 def abort; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:223 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:224 def await_commit; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:229 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:230 def await_sent; end # Returns the content of the response as a string. This contains the contents of # any calls to `render`. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:356 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:370 def body; end # Allows you to manually set or override the response body. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:371 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:385 def body=(body); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:420 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:434 def body_parts; end # The charset of the response. HTML wants to know the encoding of the content # you're giving them, so we need to send that along. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:326 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:340 def charset; end # Sets the HTTP character set. In case of `nil` parameter it sets the charset to @@ -15303,45 +15995,49 @@ class ActionDispatch::Response # response.charset = 'utf-16' # => 'utf-16' # response.charset = nil # => 'utf-8' # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:315 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:329 def charset=(charset); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:429 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:443 def close; end # Returns a string to ensure compatibility with `Net::HTTPResponse`. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:337 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:351 def code; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:233 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:234 def commit!; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:257 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:258 def committed?; end # Content type of response. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:295 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:309 def content_type; end # Sets the HTTP response's content MIME type. For example, in the controller you # could write this: # - # response.content_type = "text/plain" + # response.content_type = "text/html" + # + # This method also accepts a symbol with the extension of the MIME type: + # + # response.content_type = :html # # If a character set has been defined for this response (see #charset=) then the # character set information will also be included in the content type # information. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:285 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:290 def content_type=(content_type); end # Returns the response cookies, converted to a Hash of (name => value) pairs # # assert_equal 'AuthorOfNewPage', r.cookies['author'] # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:456 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:470 def cookies; end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:102 @@ -15356,16 +16052,16 @@ class ActionDispatch::Response # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:103 def default_headers=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:221 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:222 def delete_header(key); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:91 def each(&block); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:219 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:220 def get_header(key); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:218 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:219 def has_header?(key); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:87 @@ -15390,7 +16086,7 @@ class ActionDispatch::Response # Media type of response. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:300 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:314 def media_type; end # Returns the corresponding message for the current HTTP status code: @@ -15401,15 +16097,15 @@ class ActionDispatch::Response # response.status = 404 # response.message # => "Not Found" # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:349 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:363 def message; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:451 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:465 def prepare!; end # The location header we'll be responding with. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:427 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:441 def redirect_url; end # The request that the response is responding to. @@ -15422,35 +16118,35 @@ class ActionDispatch::Response # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:67 def request=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:416 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:430 def reset_body!; end # The response code of the request. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:332 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:346 def response_code; end # Send the file stored at `path` as the response body. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:411 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:425 def send_file(path); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:241 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:242 def sending!; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:256 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:257 def sending?; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:304 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:318 def sending_file=(v); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:249 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:250 def sent!; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:258 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:259 def sent?; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:220 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:221 def set_header(key, v); end # The HTTP status code. @@ -15460,15 +16156,15 @@ class ActionDispatch::Response # Sets the HTTP status code. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:273 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:274 def status=(status); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:352 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:366 def status_message; end # The underlying body, as a streamable object. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:195 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:196 def stream; end # Turns the Response into a Rack-compatible array of the status, headers, and @@ -15476,46 +16172,46 @@ class ActionDispatch::Response # # status, headers, body = *response # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:447 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:461 def to_a; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:366 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:380 def write(string); end private - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:522 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:536 def assign_default_content_type_and_charset!; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:500 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:514 def before_committed; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:508 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:522 def before_sending; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:518 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:532 def build_buffer(response, body); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:574 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:588 def handle_no_content!; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:480 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:494 def parse_content_type(content_type); end # Small internal convenience method to get the parsed version of the current # content type header. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:490 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:504 def parsed_content_type_header; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:581 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:595 def rack_response(status, headers); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:494 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:508 def set_content_type(content_type, charset); end class << self - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:185 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:186 def create(status = T.unsafe(nil), headers = T.unsafe(nil), body = T.unsafe(nil), default_headers: T.unsafe(nil)); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:102 @@ -15530,7 +16226,7 @@ class ActionDispatch::Response # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:103 def default_headers=(val); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:190 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:191 def merge_default_headers(original, default); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:51 @@ -15543,22 +16239,22 @@ class ActionDispatch::Response::Buffer # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:115 def initialize(response, buf); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:155 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:156 def <<(string); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:167 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:168 def abort; end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:140 def body; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:170 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:171 def close; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:175 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:176 def closed?; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:157 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:158 def each(&block); end # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:124 @@ -15572,7 +16268,7 @@ class ActionDispatch::Response::Buffer private - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:180 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:181 def each_chunk(&block); end end @@ -15582,37 +16278,37 @@ ActionDispatch::Response::Buffer::BODY_METHODS = T.let(T.unsafe(nil), Hash) # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:98 ActionDispatch::Response::CONTENT_TYPE = T.let(T.unsafe(nil), String) -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:474 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:488 ActionDispatch::Response::CONTENT_TYPE_PARSER = T.let(T.unsafe(nil), Regexp) -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 class ActionDispatch::Response::ContentTypeHeader < ::Struct - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def charset; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def charset=(_); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def mime_type; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def mime_type=(_); end class << self - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def [](*_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def inspect; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def keyword_init?; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def members; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:471 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:485 def new(*_arg0); end end end @@ -15621,20 +16317,20 @@ end # will usually intercept the response and uses the path directly, so there is no # reason to open the file. # -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:389 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:403 class ActionDispatch::Response::FileBody - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:392 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:406 def initialize(path); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:396 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:410 def body; end # Stream the file's contents if Rack::Sendfile isn't present. # - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:401 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:415 def each; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:390 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:404 def to_path; end end @@ -15649,40 +16345,40 @@ ActionDispatch::Response::Headers = Rack::Headers # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:100 ActionDispatch::Response::NO_CONTENT_CODES = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:472 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:486 ActionDispatch::Response::NullContentTypeHeader = T.let(T.unsafe(nil), ActionDispatch::Response::ContentTypeHeader) -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:530 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:544 class ActionDispatch::Response::RackBody - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:531 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:545 def initialize(response); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:543 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:557 def body; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:565 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:579 def call(*arguments, &block); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:537 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:551 def close; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:561 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:575 def each(*args, &block); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:549 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:563 def respond_to?(method, include_private = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:535 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:549 def response; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:557 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:571 def to_ary; end - # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:569 + # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:583 def to_path; end end -# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:547 +# pkg:gem/actionpack#lib/action_dispatch/http/response.rb:561 ActionDispatch::Response::RackBody::BODY_METHODS = T.let(T.unsafe(nil), Hash) # pkg:gem/actionpack#lib/action_dispatch/http/response.rb:99 @@ -15936,80 +16632,89 @@ module ActionDispatch::Routing extend ::ActiveSupport::Autoload end -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:155 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:158 module ActionDispatch::Routing::ConsoleFormatter; end -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:156 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:159 class ActionDispatch::Routing::ConsoleFormatter::Base - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:157 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:160 def initialize; end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:171 - def header(routes); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:177 + def footer(routes); end # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:174 - def no_routes(routes, filter); end + def header(routes); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:180 + def no_routes(engine, routes, filter); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:161 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:164 def result; end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:168 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:171 def section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:165 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:168 def section_title(title); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:228 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:244 class ActionDispatch::Routing::ConsoleFormatter::Expanded < ::ActionDispatch::Routing::ConsoleFormatter::Base - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:229 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:245 def initialize(width: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:238 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:258 + def footer(routes); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:254 def section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:234 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:250 def section_title(title); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:243 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:263 def draw_expanded_section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:258 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:278 def route_header(index:); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:192 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:204 class ActionDispatch::Routing::ConsoleFormatter::Sheet < ::ActionDispatch::Routing::ConsoleFormatter::Base - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:201 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:217 + def footer(routes); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:213 def header(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:197 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:209 def section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:193 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:205 def section_title(title); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:215 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:231 def draw_header(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:206 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:222 def draw_section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:221 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:237 def widths(routes); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:263 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:283 class ActionDispatch::Routing::ConsoleFormatter::Unused < ::ActionDispatch::Routing::ConsoleFormatter::Sheet - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:264 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:284 def header(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:272 - def no_routes(routes, filter); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:292 + def no_routes(engine, routes, filter); end end # pkg:gem/actionpack#lib/action_dispatch/routing/endpoint.rb:7 @@ -16036,26 +16741,29 @@ end # pkg:gem/actionpack#lib/action_dispatch/routing.rb:260 ActionDispatch::Routing::HTTP_METHODS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:285 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:305 class ActionDispatch::Routing::HtmlTableFormatter - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:286 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:306 def initialize(view); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:323 + def footer(routes); end + # The header is part of the HTML page, so we don't construct it here. # - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:300 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:320 def header(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:303 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:326 def no_routes(*); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:316 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:339 def result; end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:295 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:315 def section(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:291 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:311 def section_title(title); end end @@ -16069,7 +16777,7 @@ class ActionDispatch::Routing::Mapper include ::ActionDispatch::Routing::Mapper::Resources include ::ActionDispatch::Routing::Mapper::CustomUrls - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2378 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2530 def initialize(set); end class << self @@ -16079,14 +16787,14 @@ class ActionDispatch::Routing::Mapper # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:27 def backtrace_cleaner=(val); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:412 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:407 def normalize_name(name); end # Invokes Journey::Router::Utils.normalize_path, then ensures that /(:locale) # becomes (/:locale). Except for root cases, where the former is the correct # one. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:397 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:392 def normalize_path(path); end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:26 @@ -16103,17 +16811,17 @@ class ActionDispatch::Routing::Mapper::BacktraceCleaner < ::ActiveSupport::Backt def initialize; end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:416 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:411 module ActionDispatch::Routing::Mapper::Base - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:643 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:653 def default_url_options(options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:640 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:650 def default_url_options=(options); end # Query if the following named route was already defined. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:652 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:662 def has_named_route?(name); end # Matches a URL pattern to one or more routes. @@ -16278,7 +16986,7 @@ module ActionDispatch::Routing::Mapper::Base # :format # disable it by supplying `false`. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:592 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:587 def match(path, options = T.unsafe(nil)); end # Mount a Rack-based application to be used within the application. @@ -16297,21 +17005,27 @@ module ActionDispatch::Routing::Mapper::Base # This will generate the `exciting_path` and `exciting_url` helpers which can be # used to navigate to this mounted app. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:610 - def mount(app, options = T.unsafe(nil)); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:605 + def mount(app = T.unsafe(nil), deprecated_options = T.unsafe(nil), as: T.unsafe(nil), via: T.unsafe(nil), at: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:645 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:655 def with_default_scope(scope, &block); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:661 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:689 def app_name(app, rails_app); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:670 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:667 + def assign_deprecated_option(deprecated_options, key, method_name); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:676 + def assign_deprecated_options(deprecated_options, options, method_name); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:698 def define_generate_prefix(app, name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:657 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:685 def rails_app?(app); end end @@ -16336,7 +17050,7 @@ end # concerns :commentable # end # -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2091 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2242 module ActionDispatch::Routing::Mapper::Concerns # Define a routing concern using a name. # @@ -16393,7 +17107,7 @@ module ActionDispatch::Routing::Mapper::Concerns # Any routing helpers can be used inside a concern. If using a callable, they're # accessible from the Mapper that's passed to `call`. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2146 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2297 def concern(name, callable = T.unsafe(nil), &block); end # Use the named concerns @@ -16408,8 +17122,8 @@ module ActionDispatch::Routing::Mapper::Concerns # concerns :commentable # end # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2162 - def concerns(*args); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2313 + def concerns(*args, **options); end end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:29 @@ -16444,7 +17158,7 @@ ActionDispatch::Routing::Mapper::Constraints::CALL = T.let(T.unsafe(nil), Proc) # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:32 ActionDispatch::Routing::Mapper::Constraints::SERVE = T.let(T.unsafe(nil), Proc) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2174 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2324 module ActionDispatch::Routing::Mapper::CustomUrls # Define custom URL helpers that will be added to the application's routes. This # allows you to override and/or replace the default behavior of routing helpers, @@ -16496,7 +17210,7 @@ module ActionDispatch::Routing::Mapper::CustomUrls # NOTE: The `direct` method can't be used inside of a scope block such as # `namespace` or `scope` and will raise an error if it detects that it is. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2224 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2374 def direct(name, options = T.unsafe(nil), &block); end # Define custom polymorphic mappings of models to URLs. This alters the behavior @@ -16544,11 +17258,14 @@ module ActionDispatch::Routing::Mapper::CustomUrls # NOTE: The `resolve` method can't be used inside of a scope block such as # `namespace` or `scope` and will raise an error if it detects that it is. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2276 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2426 def resolve(*args, &block); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:705 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2528 +ActionDispatch::Routing::Mapper::DEFAULT = T.let(T.unsafe(nil), Object) + +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:733 module ActionDispatch::Routing::Mapper::HttpHelpers # Define a route that recognizes HTTP CONNECT (and GET) requests. More # specifically this recognizes HTTP/1 protocol upgrade requests and HTTP/2 @@ -16557,67 +17274,62 @@ module ActionDispatch::Routing::Mapper::HttpHelpers # # connect 'live', to: 'live#index' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:760 - def connect(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:884 + def connect(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP DELETE. For supported arguments, see # [match](rdoc-ref:Base#match) # # delete 'broccoli', to: 'food#broccoli' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:742 - def delete(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:834 + def delete(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP GET. For supported arguments, see # [match](rdoc-ref:Base#match) # # get 'bacon', to: 'food#bacon' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:710 - def get(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:738 + def get(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP OPTIONS. For supported arguments, see # [match](rdoc-ref:Base#match) # # options 'carrots', to: 'food#carrots' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:750 - def options(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:858 + def options(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP PATCH. For supported arguments, see # [match](rdoc-ref:Base#match) # # patch 'bacon', to: 'food#bacon' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:726 - def patch(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:786 + def patch(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP POST. For supported arguments, see # [match](rdoc-ref:Base#match) # # post 'bacon', to: 'food#bacon' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:718 - def post(*args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:762 + def post(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # Define a route that only recognizes HTTP PUT. For supported arguments, see # [match](rdoc-ref:Base#match) # # put 'bacon', to: 'food#bacon' # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:734 - def put(*args, &block); end - - private - - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:765 - def map_method(method, args, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:810 + def put(*path_or_actions, as: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:83 class ActionDispatch::Routing::Mapper::Mapping # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:132 - def initialize(set:, ast:, controller:, default_action:, to:, formatted:, via:, options_constraints:, anchor:, scope_params:, options:); end + def initialize(set:, ast:, controller:, default_action:, to:, formatted:, via:, options_constraints:, anchor:, scope_params:, internal:, options:); end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:190 def application; end @@ -16657,60 +17369,57 @@ class ActionDispatch::Routing::Mapper::Mapping private - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:334 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:329 def add_controller_module(controller, modyoule); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:295 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:290 def app(blocks); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:353 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:348 def blocks(callable_constraint); end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:198 def build_conditions(current_conditions, request_class); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:307 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:302 def check_controller_and_action(path_params, controller, action); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:322 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:317 def check_part(name, part, path_params, hash); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:360 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:355 def constraints(options, path_params); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:374 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:369 def dispatcher(raise_on_name_error); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:213 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:208 def intern(object); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:291 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:286 def normalize_defaults(options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:259 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:254 def normalize_format(formatted); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:217 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:212 def normalize_options!(options, path_params, modyoule); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:207 - def request_method; end - - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:378 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:373 def route_source_location; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:253 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:248 def split_constraints(path_params, constraints); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:346 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:341 def translate_controller(controller); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:275 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:270 def verify_regexp_requirements(requirements, wildcard_options); end class << self # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:90 - def build(scope, set, ast, controller, default_action, to, via, formatted, options_constraints, anchor, options); end + def build(scope, set, ast, controller, default_action, to, via, formatted, options_constraints, anchor, internal, options); end # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:104 def check_via(via); end @@ -16770,7 +17479,7 @@ ActionDispatch::Routing::Mapper::Mapping::OPTIONAL_FORMAT_REGEX = T.let(T.unsafe # # This allows any character other than a slash as part of your `:id`. # -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1157 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1299 module ActionDispatch::Routing::Mapper::Resources # To add a route to the collection: # @@ -16784,7 +17493,7 @@ module ActionDispatch::Routing::Mapper::Resources # and route to the search action of `PhotosController`. It will also create the # `search_photos_url` and `search_photos_path` route helpers. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1559 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1707 def collection(&block); end # Loads another routes file with the given `name` located inside the @@ -16810,17 +17519,17 @@ module ActionDispatch::Routing::Mapper::Resources # even those with a few hundred routes — it's easier for developers to have a # single routes file. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1668 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1816 def draw(name); end # Matches a URL pattern to one or more routes. For more information, see # [match](rdoc-ref:Base#match). # # match 'path', to: 'controller#action', via: :post - # match 'path', 'otherpath', on: :member, via: :get + # match 'otherpath', on: :member, via: :get # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1689 - def match(path, *rest, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1837 + def match(*path_or_actions, as: T.unsafe(nil), via: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), defaults: T.unsafe(nil), constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), internal: T.unsafe(nil), **mapping, &block); end # To add a member route, add a member block into the resource block: # @@ -16834,18 +17543,18 @@ module ActionDispatch::Routing::Mapper::Resources # action of `PhotosController`. It will also create the `preview_photo_url` and # `preview_photo_path` helpers. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1580 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1728 def member(&block); end # See ActionDispatch::Routing::Mapper::Scoping#namespace. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1627 - def namespace(path, options = T.unsafe(nil)); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1775 + def namespace(name, deprecated_options = T.unsafe(nil), as: T.unsafe(nil), path: T.unsafe(nil), shallow_path: T.unsafe(nil), shallow_prefix: T.unsafe(nil), **options, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1606 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1754 def nested(&block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1596 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1744 def new(&block); end # Sometimes, you have a resource that clients always look up without referencing @@ -16878,8 +17587,8 @@ module ActionDispatch::Routing::Mapper::Resources # ### Options # Takes same options as [resources](rdoc-ref:#resources) # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1348 - def resource(*resources, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1490 + def resource(*resources, concerns: T.unsafe(nil), **options, &block); end # In Rails, a resourceful route provides a mapping between HTTP verbs and URLs # and controller actions. By convention, each action also maps to particular @@ -17014,10 +17723,10 @@ module ActionDispatch::Routing::Mapper::Resources # # resource actions are at /admin/posts. # resources :posts, path: "admin/posts" # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1518 - def resources(*resources, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1663 + def resources(*resources, concerns: T.unsafe(nil), **options, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1315 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1457 def resources_path_names(options); end # You can specify what Rails should route "/" to with the root method: @@ -17034,224 +17743,224 @@ module ActionDispatch::Routing::Mapper::Resources # means it will be matched first. As this is the most popular route of most # Rails applications, this is beneficial. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1736 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1903 def root(path, options = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1635 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1783 def shallow; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1642 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1790 def shallow?; end private - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1800 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1968 def action_options?(options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1897 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2066 def action_path(name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2038 - def add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2195 + def add_route(action, controller, as, options_action, _path, to, via, formatted, anchor, options_constraints, internal, options_mapping); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1951 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2120 def api_only?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1814 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1982 def applicable_actions_for(method); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1795 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1963 def apply_action_options(method, options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1761 - def apply_common_behavior_for(method, resources, options, &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1928 + def apply_common_behavior_for(method, resources, shallow: T.unsafe(nil), **options, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1873 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2041 def canonical_action?(action); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2023 - def decomposed_match(path, controller, options, _path, to, via, formatted, anchor, options_constraints); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2180 + def decomposed_match(path, controller, as, action, _path, to, via, formatted, anchor, options_constraints, internal, options_mapping, on = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2008 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2165 def get_to_from_path(path, to, action); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1962 - def map_match(paths, options); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2131 + def map_match(path_or_action, constraints: T.unsafe(nil), anchor: T.unsafe(nil), format: T.unsafe(nil), path: T.unsafe(nil), as: T.unsafe(nil), via: T.unsafe(nil), to: T.unsafe(nil), controller: T.unsafe(nil), action: T.unsafe(nil), on: T.unsafe(nil), internal: T.unsafe(nil), mapping: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2065 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2217 def match_root_route(options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1913 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2082 def name_for_action(as, action); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1850 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2018 def nested_options; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1831 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1999 def nested_scope?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1869 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2037 def param_constraint; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1865 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2033 def param_constraint?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1757 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1924 def parent_resource; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1887 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2056 def path_for_action(action, path); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1955 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2124 def path_scope(path); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1901 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2070 def prefix_name_for_action(as, action); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1827 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1995 def resource_method_scope?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1842 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2010 def resource_scope(resource, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1823 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1991 def resource_scope?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1804 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1972 def scope_action_options(method); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1939 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2108 def set_member_mappings_for_resource; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1859 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2027 def shallow_nesting_depth; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1877 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2045 def shallow_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2019 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2176 def using_match_shorthand?(path); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1835 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2003 def with_scope_level(kind); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1162 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1304 ActionDispatch::Routing::Mapper::Resources::CANONICAL_ACTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1161 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1303 ActionDispatch::Routing::Mapper::Resources::RESOURCE_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1164 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1306 class ActionDispatch::Routing::Mapper::Resources::Resource - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1177 - def initialize(entities, api_only, shallow, options = T.unsafe(nil)); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1319 + def initialize(entities, api_only, shallow, only: T.unsafe(nil), except: T.unsafe(nil), **options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1204 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1346 def actions; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1212 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1354 def available_actions; end # Checks for uncountable plurals, and appends "_index" if the plural and # singular form are the same. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1236 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1378 def collection_name; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1244 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1386 def collection_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1175 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1317 def controller; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1200 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1342 def default_actions; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1232 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1374 def member_name; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1246 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1388 def member_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1220 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1362 def name; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1256 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1398 def nested_param; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1260 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1402 def nested_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1252 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1394 def new_scope(new_path); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1175 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1317 def param; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1175 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1317 def path; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1224 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1366 def plural; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1240 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1382 def resource_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1264 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1406 def shallow?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1250 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1392 def shallow_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1268 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1410 def singleton?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1228 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1370 def singular; end private - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1271 - def invalid_only_except_options(options, valid_actions); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1413 + def invalid_only_except_options(valid_actions, only:, except:); end class << self - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1166 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1308 def default_actions(api_only); end end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1276 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1418 class ActionDispatch::Routing::Mapper::Resources::SingletonResource < ::ActionDispatch::Routing::Mapper::Resources::Resource - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1287 - def initialize(entities, api_only, shallow, options); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1429 + def initialize(entities, api_only, shallow, **options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1307 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1449 def collection_name; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1294 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1436 def default_actions; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1306 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1448 def member_name; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1309 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1451 def member_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1310 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1452 def nested_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1298 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1440 def plural; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1312 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1454 def singleton?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1302 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1444 def singular; end class << self - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1278 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1420 def default_actions(api_only); end end end @@ -17259,72 +17968,72 @@ end # CANONICAL_ACTIONS holds all actions that does not need a prefix or a path # appended since they fit properly in their scope level. # -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1160 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1302 ActionDispatch::Routing::Mapper::Resources::VALID_ON_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2290 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2440 class ActionDispatch::Routing::Mapper::Scope include ::Enumerable - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2300 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2450 def initialize(hash, parent = T.unsafe(nil), scope_level = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2359 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2509 def [](key); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2326 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2476 def action_name(name_prefix, prefix, collection_name, member_name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2367 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2517 def each; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2363 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2513 def frame; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2306 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2456 def nested?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2351 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2501 def new(hash); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2355 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2505 def new_level(level); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2310 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2460 def null?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2347 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2497 def options; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2298 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2448 def parent; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2322 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2472 def resource_method_scope?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2343 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2493 def resource_scope?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2318 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2468 def resources?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2314 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2464 def root?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2298 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2448 def scope_level; end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2291 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2441 ActionDispatch::Routing::Mapper::Scope::OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2296 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2446 ActionDispatch::Routing::Mapper::Scope::RESOURCE_METHOD_SCOPES = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2295 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2445 ActionDispatch::Routing::Mapper::Scope::RESOURCE_SCOPES = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2375 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:2525 ActionDispatch::Routing::Mapper::Scope::ROOT = T.let(T.unsafe(nil), ActionDispatch::Routing::Mapper::Scope) # You may wish to organize groups of controllers under a namespace. Most @@ -17381,7 +18090,7 @@ ActionDispatch::Routing::Mapper::Scope::ROOT = T.let(T.unsafe(nil), ActionDispat # PATCH/PUT /admin/posts/1 # DELETE /admin/posts/1 # -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:826 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:958 module ActionDispatch::Routing::Mapper::Scoping # ### Parameter Restriction # Allows you to constrain the nested routes based on a set of rules. For @@ -17442,7 +18151,7 @@ module ActionDispatch::Routing::Mapper::Scoping # resources :iphones # end # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1034 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1176 def constraints(constraints = T.unsafe(nil), &block); end # Scopes routes to a specific controller @@ -17451,7 +18160,7 @@ module ActionDispatch::Routing::Mapper::Scoping # match "bacon", action: :bacon, via: :get # end # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:916 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1052 def controller(controller); end # Allows you to set default parameters for a route, such as this: @@ -17462,7 +18171,7 @@ module ActionDispatch::Routing::Mapper::Scoping # # Using this, the `:id` parameter here will default to 'home'. # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1045 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1187 def defaults(defaults = T.unsafe(nil)); end # Scopes routes to a specific namespace. For example: @@ -17504,8 +18213,8 @@ module ActionDispatch::Routing::Mapper::Scoping # resources :posts # end # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:961 - def namespace(path, options = T.unsafe(nil), &block); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1097 + def namespace(name, deprecated_options = T.unsafe(nil), as: T.unsafe(nil), path: T.unsafe(nil), shallow_path: T.unsafe(nil), shallow_prefix: T.unsafe(nil), **options, &block); end # Scopes a set of routes to the given default options. # @@ -17538,93 +18247,93 @@ module ActionDispatch::Routing::Mapper::Scoping # resources :posts # end # - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:857 - def scope(*args); end + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:989 + def scope(*args, only: T.unsafe(nil), except: T.unsafe(nil), **options); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1077 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1219 def merge_action_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1061 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1203 def merge_as_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1101 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1243 def merge_blocks_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1093 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1235 def merge_constraints_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1073 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1215 def merge_controller_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1097 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1239 def merge_defaults_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1085 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1227 def merge_format_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1069 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1211 def merge_module_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1107 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1249 def merge_options_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1089 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1231 def merge_path_names_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1053 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1195 def merge_path_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1057 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1199 def merge_shallow_path_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1065 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1207 def merge_shallow_prefix_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1111 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1253 def merge_shallow_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1115 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1257 def merge_to_scope(parent, child); end - # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1081 + # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1223 def merge_via_scope(parent, child); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:909 +# pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:1045 ActionDispatch::Routing::Mapper::Scoping::POISON = T.let(T.unsafe(nil), Object) # pkg:gem/actionpack#lib/action_dispatch/routing/mapper.rb:24 ActionDispatch::Routing::Mapper::URL_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:114 +# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:116 class ActionDispatch::Routing::OptionRedirect < ::ActionDispatch::Routing::Redirect - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:143 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:145 def inspect; end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:115 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:117 def options; end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:117 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:119 def path(params, request); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:89 +# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:91 class ActionDispatch::Routing::PathRedirect < ::ActionDispatch::Routing::Redirect - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:104 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:106 def inspect; end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:92 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:94 def path(params, request); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:109 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:111 def interpolation_required?(string, params); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:90 +# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:92 ActionDispatch::Routing::PathRedirect::URL_PARTS = T.let(T.unsafe(nil), Regexp) # # Action Dispatch Routing PolymorphicRoutes @@ -17836,24 +18545,24 @@ ActionDispatch::Routing::PolymorphicRoutes::HelperMethodBuilder::CACHE = T.let(T # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:12 class ActionDispatch::Routing::Redirect < ::ActionDispatch::Routing::Endpoint # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:15 - def initialize(status, block); end + def initialize(status, block, source_location); end # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:13 def block; end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:35 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:37 def build_response(req); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:22 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:23 def call(env); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:67 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:69 def inspect; end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:63 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:65 def path(params, request); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:20 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:21 def redirect?; end # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:13 @@ -17861,20 +18570,20 @@ class ActionDispatch::Routing::Redirect < ::ActionDispatch::Routing::Endpoint private - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:76 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:78 def escape(params); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:80 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:82 def escape_fragment(params); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:84 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:86 def escape_path(params); end - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:72 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:74 def relative_path?(path); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:148 +# pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:150 module ActionDispatch::Routing::Redirection # Redirect any path to another path: # @@ -17931,7 +18640,7 @@ module ActionDispatch::Routing::Redirection # # get 'accounts/:name' => redirect(SubdomainRedirector.new('api')) # - # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:204 + # pkg:gem/actionpack#lib/action_dispatch/routing/redirection.rb:206 def redirect(*args, &block); end end @@ -17940,88 +18649,88 @@ end # # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:17 class ActionDispatch::Routing::RouteSet - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:388 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:386 def initialize(config = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:676 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:674 def add_polymorphic_mapping(klass, options, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:645 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:643 def add_route(mapping, name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:680 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:678 def add_url_helper(name, options, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:419 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:417 def api_only?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:466 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:464 def append(&block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:905 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:903 def call(env); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:490 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:488 def clear!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:440 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:438 def default_env; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:423 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:421 def default_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:427 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:425 def default_scope=(new_default_scope); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:356 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 def default_url_options; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:356 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 def default_url_options=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:511 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:509 def define_mounted_helper(name, script_namer = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:353 def disable_clear_and_finalize; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:353 def disable_clear_and_finalize=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:459 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:457 def draw(&block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:356 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 def draw_paths; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:356 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 def draw_paths=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:408 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:406 def eager_load!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:641 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:639 def empty?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:357 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 def env_key; end # Generate the path indicated by the arguments, and return an array of the keys # that were not used to generate it. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:820 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:818 def extra_keys(options, recall = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:484 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:482 def finalize!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:848 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:846 def find_script_name(options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def formatter; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def formatter=(_arg0); end # Returns a Route matching the given requirements, or `nil` if none are found. @@ -18039,10 +18748,10 @@ class ActionDispatch::Routing::RouteSet # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:29 def from_requirements(requirements); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:824 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:822 def generate_extras(options, recall = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:538 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:536 def generate_url_helpers(supports_path); end # Since the router holds references to many parts of the system like engines, @@ -18056,153 +18765,153 @@ class ActionDispatch::Routing::RouteSet # helper for the application. You can include this in your classes if you want # to access routes for other engines. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:507 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:505 def mounted_helpers; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def named_routes; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def named_routes=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:844 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:842 def optimize_routes_generation?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:852 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:850 def path_for(options, route_name = T.unsafe(nil), reserved = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:357 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 def polymorphic_mappings; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:470 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:468 def prepend(&block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:911 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:909 def recognize_path(path, environment = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:926 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:924 def recognize_path_with_request(req, path, extras, raise_on_missing: T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:415 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:413 def relative_url_root; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:431 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:429 def request_class; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:353 def resources_path_names; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:355 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:353 def resources_path_names=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def router; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def router=(_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:359 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:357 def routes; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def set; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:354 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 def set=(_arg0); end # The `options` argument must be a hash whose keys are **symbols**. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:857 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:855 def url_for(options, route_name = T.unsafe(nil), url_strategy = T.unsafe(nil), method_name = T.unsafe(nil), reserved = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:530 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:528 def url_helpers(supports_path = T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:474 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:472 def eval_block(block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:835 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:833 def generate(route_name, options, recall = T.unsafe(nil), method_name = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:435 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:433 def make_request(env); end class << self - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:361 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:359 def default_resources_path_names; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:365 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:363 def new_with_config(config); end end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 class ActionDispatch::Routing::RouteSet::Config < ::Struct - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def api_only; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def api_only=(_); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def default_scope; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def default_scope=(_); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def relative_url_root; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def relative_url_root=(_); end class << self - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def [](*_arg0); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def inspect; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def keyword_init?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def members; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:382 def new(*_arg0); end end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:684 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:682 class ActionDispatch::Routing::RouteSet::CustomUrlHelper - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:687 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:685 def initialize(name, defaults, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:685 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:683 def block; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:693 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:691 def call(t, args, only_path = T.unsafe(nil)); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:685 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:683 def defaults; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:685 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:683 def name; end private - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:705 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:703 def eval_block(t, args, options); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:709 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:707 def merge_defaults(options); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:386 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:384 ActionDispatch::Routing::RouteSet::DEFAULT_CONFIG = T.let(T.unsafe(nil), ActionDispatch::Routing::RouteSet::Config) # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:39 @@ -18221,36 +18930,36 @@ class ActionDispatch::Routing::RouteSet::Dispatcher < ::ActionDispatch::Routing: # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:60 def controller(req); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:66 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:64 def dispatch(controller, action, req, res); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:714 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:712 class ActionDispatch::Routing::RouteSet::Generator - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:717 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:715 def initialize(named_route, options, recall, set); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:729 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:727 def controller; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:733 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:731 def current_controller; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:803 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:801 def different_controller?; end # Generates a path from routes, returns a RouteWithParams or MissingRoute. # MissingRoute will raise ActionController::UrlGenerationError. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:799 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:797 def generate; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:715 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:713 def named_route; end # Remove leading slashes from controllers # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:787 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:785 def normalize_controller!; end # This pulls :controller, :action, and :id out of the recall. The recall key is @@ -18258,40 +18967,40 @@ class ActionDispatch::Routing::RouteSet::Generator # identical. If any of :controller, :action or :id is not found, don't pull any # more keys from the recall. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:769 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:767 def normalize_controller_action_id!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:745 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:743 def normalize_options!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:715 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:713 def options; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:715 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:713 def recall; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:715 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:713 def set; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:737 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:735 def use_recall_for(key); end # if the current controller is "foo/bar/baz" and controller: "baz/bat" is # specified, the controller becomes "foo/baz/bat" # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:777 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:775 def use_relative_controller!; end private - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:809 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:807 def named_route_exists?; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:813 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:811 def segment_keys; end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:499 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:497 module ActionDispatch::Routing::RouteSet::MountedHelpers extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -18316,59 +19025,59 @@ end # maintains an anonymous module that can be used to install helpers for the # named routes. # -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:84 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:82 class ActionDispatch::Routing::RouteSet::NamedRouteCollection include ::Enumerable - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:89 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:87 def initialize; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:149 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:147 def [](name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:148 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:146 def []=(name, route); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:120 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:118 def add(name, route); end # Given a `name`, defines name_path and name_url helpers. Used by 'direct', # 'resolve', and 'polymorphic' route helpers. # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:167 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:165 def add_url_helper(name, defaults, &block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:150 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:148 def clear; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:106 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:104 def clear!; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:152 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:150 def each(&block); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:139 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:137 def get(name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:102 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:100 def helper_names; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:143 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:141 def key?(name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:161 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:159 def length; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:157 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:155 def names; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:86 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:84 def path_helpers_module; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:97 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:95 def route_defined?(name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:86 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:84 def url_helpers_module; end private @@ -18386,82 +19095,82 @@ class ActionDispatch::Routing::RouteSet::NamedRouteCollection # # foo_url(bar, baz, bang, sort_by: 'baz') # - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:335 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:333 def define_url_helper(mod, name, helper, url_strategy); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:86 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:84 def routes; end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:190 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:188 class ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:273 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:271 def initialize(route, options, route_name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:280 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:278 def call(t, method_name, args, inner_options, url_strategy); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:292 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:290 def handle_positional_args(controller_options, inner_options, args, result, path_params); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:203 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:201 def route_name; end class << self - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:191 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:189 def create(route, options, route_name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:199 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:197 def optimize_helper?(route); end end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:205 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:203 class ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper::OptimizedUrlHelper < ::ActionDispatch::Routing::RouteSet::NamedRouteCollection::UrlHelper - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:208 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:206 def initialize(route, options, route_name); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:206 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:204 def arg_size; end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:214 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:212 def call(t, method_name, args, inner_options, url_strategy); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:245 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:243 def optimize_routes_generation?(t); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:237 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:235 def optimized_helper(args); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:249 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:247 def parameterize_args(args); end - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:260 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:258 def raise_generation_error(args); end end # strategy for building URLs to send to the client # -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:351 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:349 ActionDispatch::Routing::RouteSet::PATH = T.let(T.unsafe(nil), Proc) -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:840 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:838 ActionDispatch::Routing::RouteSet::RESERVED_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:71 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:69 class ActionDispatch::Routing::RouteSet::StaticDispatcher < ::ActionDispatch::Routing::RouteSet::Dispatcher - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:72 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:70 def initialize(controller_class); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:78 + # pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:76 def controller(_); end end -# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:352 +# pkg:gem/actionpack#lib/action_dispatch/routing/route_set.rb:350 ActionDispatch::Routing::RouteSet::UNKNOWN = T.let(T.unsafe(nil), Proc) # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:10 @@ -18498,33 +19207,39 @@ class ActionDispatch::Routing::RouteWrapper < ::SimpleDelegator # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:44 def reqs; end + + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:68 + def to_h; end end # This class is just used for displaying route information when someone # executes `bin/rails routes` or looks at the RoutingError page. People should # not use this class. # -# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:73 +# pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:81 class ActionDispatch::Routing::RoutesInspector - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:74 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:82 def initialize(routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:79 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:87 def format(formatter, filter = T.unsafe(nil)); end private - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:143 - def collect_engine_routes(route); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:147 + def filter_routes(routes, filter); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:129 - def collect_routes(routes); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:98 + def format_routes(formatter, filter, engine_name, routes); end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:118 - def filter_routes(filter); end + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:115 + def load_engines_routes; end - # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:99 + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:128 def normalize_filter(filter); end + + # pkg:gem/actionpack#lib/action_dispatch/routing/inspector.rb:111 + def wrap_routes(routes); end end # pkg:gem/actionpack#lib/action_dispatch/routing/routes_proxy.rb:9 @@ -19016,51 +19731,58 @@ end # * `expire_after` - The length of time a session will be stored before # automatically expiring. By default, the `:expires_in` option of the cache # is used. +# * `check_collisions` - Check if newly generated session ids aren't already in use. +# If for some reason 128 bits of randomness aren't considered secure enough to avoid +# collisions, this option can be enabled to ensure newly generated ids aren't in use. +# By default, it is set to `false` to avoid additional cache write operations. # -# pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:22 +# pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:26 class ActionDispatch::Session::CacheStore < ::ActionDispatch::Session::AbstractSecureStore - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:25 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:29 def initialize(app, options = T.unsafe(nil)); end # Remove a session from the cache. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:54 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:59 def delete_session(env, sid, options); end # Get a session from the cache. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:32 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:37 def find_session(req, sid); end # Set a session in the cache. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:42 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:47 def write_session(req, sid, session, options); end private # Turn the session id into a cache key. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:62 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:67 def cache_key(id); end # Writing back a session that another request deleted, such as on logout, # would restore it. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:72 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:77 def destroyed_since_loaded?(req, sid); end # The request-local cache still holds the entry this request loaded, so # a lookup through it cannot see a delete made by another request. # - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:80 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:85 def exist_in_backend?(key); end - # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:66 + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:93 + def generate_sid; end + + # pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:71 def get_session_with_fallback(sid); end end -# pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:23 +# pkg:gem/actionpack#lib/action_dispatch/middleware/session/cache_store.rb:27 ActionDispatch::Session::CacheStore::LOADED_SESSION_ID = T.let(T.unsafe(nil), String) # pkg:gem/actionpack#lib/action_dispatch/middleware/session/abstract_store.rb:22 @@ -19277,6 +19999,12 @@ class ActionDispatch::Static def call(env); end end +# pkg:gem/actionpack#lib/action_dispatch/structured_event_subscriber.rb:4 +class ActionDispatch::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # pkg:gem/actionpack#lib/action_dispatch/structured_event_subscriber.rb:5 + def redirect(event); end +end + # pkg:gem/actionpack#lib/action_dispatch/testing/test_helpers/page_dump_helper.rb:4 module ActionDispatch::TestHelpers; end diff --git a/sorbet/rbi/gems/actiontext@8.0.5.2.rbi b/sorbet/rbi/gems/actiontext@8.1.4.1.rbi similarity index 91% rename from sorbet/rbi/gems/actiontext@8.0.5.2.rbi rename to sorbet/rbi/gems/actiontext@8.1.4.1.rbi index 685a855d..f3901310 100644 --- a/sorbet/rbi/gems/actiontext@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actiontext@8.1.4.1.rbi @@ -28,19 +28,19 @@ module ActionText # pkg:gem/actiontext#lib/action_text.rb:53 def html_document_fragment_class; end - # pkg:gem/actiontext#lib/action_text/engine.rb:14 + # pkg:gem/actiontext#lib/action_text/engine.rb:15 def railtie_helpers_paths; end - # pkg:gem/actiontext#lib/action_text/engine.rb:14 + # pkg:gem/actiontext#lib/action_text/engine.rb:15 def railtie_namespace; end - # pkg:gem/actiontext#lib/action_text/engine.rb:14 + # pkg:gem/actiontext#lib/action_text/engine.rb:15 def railtie_routes_url_helpers(include_path_helpers = T.unsafe(nil)); end - # pkg:gem/actiontext#lib/action_text/engine.rb:14 + # pkg:gem/actiontext#lib/action_text/engine.rb:15 def table_name_prefix; end - # pkg:gem/actiontext#lib/action_text/engine.rb:14 + # pkg:gem/actiontext#lib/action_text/engine.rb:15 def use_relative_model_naming?; end # Returns the currently loaded version of Action Text as a `Gem::Version`. @@ -194,6 +194,9 @@ class ActionText::Attachables::ContentAttachment # pkg:gem/actiontext#lib/action_text/attachables/content_attachment.rb:8 def _run_validate_callbacks(&block); end + # pkg:gem/actiontext#lib/action_text/attachables/content_attachment.rb:8 + def _run_validate_callbacks!(&block); end + # pkg:gem/actiontext#lib/action_text/attachables/content_attachment.rb:8 def _validate_callbacks; end @@ -526,7 +529,10 @@ class ActionText::AttachmentGallery def __callbacks; end # pkg:gem/actiontext#lib/action_text/attachment_gallery.rb:7 - def _run_validate_callbacks(&block); end + def _run_validate_callbacks; end + + # pkg:gem/actiontext#lib/action_text/attachment_gallery.rb:7 + def _run_validate_callbacks!(&block); end # pkg:gem/actiontext#lib/action_text/attachment_gallery.rb:7 def _validate_callbacks; end @@ -731,13 +737,13 @@ class ActionText::Content # pkg:gem/actiontext#lib/action_text/content.rb:40 def initialize(content = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actiontext#lib/action_text/content.rb:169 + # pkg:gem/actiontext#lib/action_text/content.rb:170 def ==(other); end # pkg:gem/actiontext#lib/action_text/content.rb:93 def append_attachables(attachables); end - # pkg:gem/actiontext#lib/action_text/content.rb:161 + # pkg:gem/actiontext#lib/action_text/content.rb:162 def as_json(*); end # Extracts ActionText::Attachable objects from the HTML fragment: @@ -781,7 +787,7 @@ class ActionText::Content # pkg:gem/actiontext#lib/action_text/content.rb:30 def html_safe(*, **, &); end - # pkg:gem/actiontext#lib/action_text/content.rb:165 + # pkg:gem/actiontext#lib/action_text/content.rb:166 def inspect; end # Extracts links from the HTML fragment: @@ -805,10 +811,10 @@ class ActionText::Content # pkg:gem/actiontext#lib/action_text/content.rb:98 def render_attachments(**options, &block); end - # pkg:gem/actiontext#lib/action_text/content.rb:138 + # pkg:gem/actiontext#lib/action_text/content.rb:139 def to_html; end - # pkg:gem/actiontext#lib/action_text/content.rb:146 + # pkg:gem/actiontext#lib/action_text/content.rb:147 def to_partial_path; end # Returns a plain-text version of the markup contained by the content, with tags @@ -818,46 +824,47 @@ class ActionText::Content # content.to_plain_text # => "Funny times!" # # content = ActionText::Content.new("
safe
") - # content.to_plain_text # => "safeunsafe" + # content.to_plain_text # => "safe" # # NOTE: that the returned string is not HTML safe and should not be rendered in - # browsers. + # browsers without additional sanitization. # # content = ActionText::Content.new("<script>alert()</script>") # content.to_plain_text # => "" + # ActionText::ContentHelper.sanitizer.sanitize(content.to_plain_text) # => "" # - # pkg:gem/actiontext#lib/action_text/content.rb:130 + # pkg:gem/actiontext#lib/action_text/content.rb:131 def to_plain_text; end - # pkg:gem/actiontext#lib/action_text/content.rb:142 + # pkg:gem/actiontext#lib/action_text/content.rb:143 def to_rendered_html_with_layout; end # Safely transforms Content into an HTML String. # - # content = ActionText::Content.new(content: "

Funny times!

") + # content = ActionText::Content.new("

Funny times!

") # content.to_s # => "

Funny times!

" # # content = ActionText::Content.new("
safe
") # content.to_s # => "
safeunsafe
" # - # pkg:gem/actiontext#lib/action_text/content.rb:157 + # pkg:gem/actiontext#lib/action_text/content.rb:158 def to_s; end - # pkg:gem/actiontext#lib/action_text/content.rb:134 + # pkg:gem/actiontext#lib/action_text/content.rb:135 def to_trix_html; end private - # pkg:gem/actiontext#lib/action_text/content.rb:186 + # pkg:gem/actiontext#lib/action_text/content.rb:187 def attachment_for_node(node, with_full_attributes: T.unsafe(nil)); end - # pkg:gem/actiontext#lib/action_text/content.rb:191 + # pkg:gem/actiontext#lib/action_text/content.rb:192 def attachment_gallery_for_node(node); end - # pkg:gem/actiontext#lib/action_text/content.rb:182 + # pkg:gem/actiontext#lib/action_text/content.rb:183 def attachment_gallery_nodes; end - # pkg:gem/actiontext#lib/action_text/content.rb:178 + # pkg:gem/actiontext#lib/action_text/content.rb:179 def attachment_nodes; end class << self @@ -943,7 +950,7 @@ module ActionText::Encryption def has_encrypted_rich_texts?; end end -# pkg:gem/actiontext#lib/action_text/engine.rb:13 +# pkg:gem/actiontext#lib/action_text/engine.rb:14 class ActionText::Engine < ::Rails::Engine; end # # Action Text FixtureSet @@ -1075,70 +1082,93 @@ module ActionText::PlainTextConversion private - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:111 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:118 def break_if_nested_list(node, text); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:88 - def bullet_for_li_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:94 + def bullet_for_li_node(node); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:100 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:107 def indentation_for_li_node(node); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:107 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:114 def list_node_depth_for_node(node); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:96 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:103 def list_node_name_for_li_node(node); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:34 - def plain_text_for_block(node, index = T.unsafe(nil)); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:40 + def plain_text_for_block(node, child_values); end + + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:72 + def plain_text_for_blockquote_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:66 - def plain_text_for_blockquote_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:56 + def plain_text_for_br_node(node, _child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:50 - def plain_text_for_br_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:28 + def plain_text_for_child_values(child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:58 - def plain_text_for_div_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:64 + def plain_text_for_div_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:62 - def plain_text_for_figcaption_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:68 + def plain_text_for_figcaption_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:39 - def plain_text_for_h1_node(node, index = T.unsafe(nil)); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:45 + def plain_text_for_h1_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:76 - def plain_text_for_li_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:82 + def plain_text_for_li_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:42 - def plain_text_for_list(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:48 + def plain_text_for_list(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:14 - def plain_text_for_node(node, index = T.unsafe(nil)); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:16 + def plain_text_for_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:22 - def plain_text_for_node_children(node); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:53 + def plain_text_for_ol_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:47 - def plain_text_for_ol_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:45 + def plain_text_for_p_node(node, child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:39 - def plain_text_for_p_node(node, index = T.unsafe(nil)); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:37 + def plain_text_for_script_node(node, _child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:54 - def plain_text_for_text_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:37 + def plain_text_for_style_node(node, _child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:47 - def plain_text_for_ul_node(node, index); end + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:60 + def plain_text_for_text_node(node, _child_values); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:30 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:53 + def plain_text_for_ul_node(node, child_values); end + + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:32 + def plain_text_for_unsupported_node(node, _child_values); end + + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:24 def plain_text_method_for_node(node); end - # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:84 + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:90 def remove_trailing_newlines(text); end end +# pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:126 +class ActionText::PlainTextConversion::BottomUpReducer + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:127 + def initialize(node); end + + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:132 + def reduce(&block); end + + private + + # pkg:gem/actiontext#lib/action_text/plain_text_conversion.rb:141 + def traverse_bottom_up(node, &block); end +end + class ActionText::Record < ::ActiveRecord::Base include ::ActionText::Record::GeneratedAttributeMethods include ::ActionText::Record::GeneratedAssociationMethods @@ -1156,22 +1186,22 @@ end module ActionText::Record::GeneratedAssociationMethods; end module ActionText::Record::GeneratedAttributeMethods; end -# pkg:gem/actiontext#lib/action_text/rendering.rb:9 +# pkg:gem/actiontext#lib/action_text/rendering.rb:8 module ActionText::Rendering extend ::ActiveSupport::Concern mixes_in_class_methods ::ActionText::Rendering::ClassMethods end -# pkg:gem/actiontext#lib/action_text/rendering.rb:17 +# pkg:gem/actiontext#lib/action_text/rendering.rb:16 module ActionText::Rendering::ClassMethods - # pkg:gem/actiontext#lib/action_text/rendering.rb:18 + # pkg:gem/actiontext#lib/action_text/rendering.rb:17 def action_controller_renderer; end - # pkg:gem/actiontext#lib/action_text/rendering.rb:30 + # pkg:gem/actiontext#lib/action_text/rendering.rb:29 def render(*args, &block); end - # pkg:gem/actiontext#lib/action_text/rendering.rb:22 + # pkg:gem/actiontext#lib/action_text/rendering.rb:21 def with_renderer(renderer); end end @@ -1179,6 +1209,12 @@ class ActionText::RichText < ::ActionText::Record include ::ActionText::RichText::GeneratedAttributeMethods include ::ActionText::RichText::GeneratedAssociationMethods + def _run_commit_callbacks(&block); end + def _run_create_callbacks(&block); end + def _run_destroy_callbacks(&block); end + def _run_save_callbacks(&block); end + def _run_touch_callbacks(&block); end + def _run_update_callbacks(&block); end def autosave_associated_records_for_embeds_attachments(*args); end def autosave_associated_records_for_embeds_blobs(*args); end def autosave_associated_records_for_record(*args); end @@ -1254,8 +1290,8 @@ module ActionText::Serialization::ClassMethods end module ActionText::TagHelper - def rich_text_area_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end - def rich_textarea_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end + def rich_text_area_tag(name, value = T.unsafe(nil), options = T.unsafe(nil), &block); end + def rich_textarea_tag(name, value = T.unsafe(nil), options = T.unsafe(nil), &block); end class << self def id; end @@ -1359,8 +1395,8 @@ module ActionView::Helpers end class ActionView::Helpers::FormBuilder - def rich_text_area(method, options = T.unsafe(nil)); end - def rich_textarea(method, options = T.unsafe(nil)); end + def rich_text_area(method, options = T.unsafe(nil), &block); end + def rich_textarea(method, options = T.unsafe(nil), &block); end end module ActionView::Helpers::FormHelper @@ -1372,8 +1408,8 @@ module ActionView::Helpers::FormHelper mixes_in_class_methods ::ActionView::Helpers::UrlHelper::ClassMethods mixes_in_class_methods ::ActionView::Helpers::SanitizeHelper::ClassMethods - def rich_text_area(object_name, method, options = T.unsafe(nil)); end - def rich_textarea(object_name, method, options = T.unsafe(nil)); end + def rich_text_area(object_name, method, options = T.unsafe(nil), &block); end + def rich_textarea(object_name, method, options = T.unsafe(nil), &block); end end module ActionView::Helpers::Tags; end @@ -1382,5 +1418,5 @@ class ActionView::Helpers::Tags::ActionText < ::ActionView::Helpers::Tags::Base include ::ActionView::Helpers::Tags::Placeholderable def dom_id(*, **, &); end - def render; end + def render(&block); end end diff --git a/sorbet/rbi/gems/actionview@8.0.5.2.rbi b/sorbet/rbi/gems/actionview@8.1.4.1.rbi similarity index 94% rename from sorbet/rbi/gems/actionview@8.0.5.2.rbi rename to sorbet/rbi/gems/actionview@8.1.4.1.rbi index af1dd671..46c9bdb3 100644 --- a/sorbet/rbi/gems/actionview@8.0.5.2.rbi +++ b/sorbet/rbi/gems/actionview@8.1.4.1.rbi @@ -11,6 +11,7 @@ class ActionController::Base < ::ActionController::Metal include ::AbstractController::Caching::ConfigMethods include ::ActionController::BasicImplicitRender extend ::AbstractController::Helpers::Resolution + extend ::ActionController::Renderers::DeprecatedEscapeJsonResponses end # :include: ../README.rdoc @@ -24,7 +25,7 @@ module ActionView # pkg:gem/actionview#lib/action_view/deprecator.rb:4 def deprecator; end - # pkg:gem/actionview#lib/action_view.rb:94 + # pkg:gem/actionview#lib/action_view.rb:110 def eager_load!; end # Returns the currently loaded version of Action View as a +Gem::Version+. @@ -32,6 +33,12 @@ module ActionView # pkg:gem/actionview#lib/action_view/gem_version.rb:5 def gem_version; end + # pkg:gem/actionview#lib/action_view.rb:95 + def render_tracker; end + + # pkg:gem/actionview#lib/action_view.rb:97 + def render_tracker=(value); end + # Returns the currently loaded version of Action View as a +Gem::Version+. # # pkg:gem/actionview#lib/action_view/version.rb:7 @@ -330,7 +337,7 @@ class ActionView::ActionViewError < ::StandardError; end # # For more information on Builder please consult the {source code}[https://github.com/rails/builder]. # -# pkg:gem/actionview#lib/action_view/base.rb:157 +# pkg:gem/actionview#lib/action_view/base.rb:158 class ActionView::Base include ::ActionView::Context include ::ERB::Escape @@ -372,237 +379,249 @@ class ActionView::Base # :startdoc: # - # pkg:gem/actionview#lib/action_view/base.rb:244 + # pkg:gem/actionview#lib/action_view/base.rb:249 def initialize(lookup_context, assigns, controller); end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes; end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes=(_arg0); end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes?; end - # pkg:gem/actionview#lib/action_view/base.rb:261 + # pkg:gem/actionview#lib/action_view/base.rb:264 def _run(method, template, locals, buffer, add_to_stack: T.unsafe(nil), has_strict_locals: T.unsafe(nil), &block); end - # pkg:gem/actionview#lib/action_view/base.rb:179 + # pkg:gem/actionview#lib/action_view/base.rb:180 def annotate_rendered_view_with_filenames; end - # pkg:gem/actionview#lib/action_view/base.rb:179 + # pkg:gem/actionview#lib/action_view/base.rb:180 def annotate_rendered_view_with_filenames=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:223 + # pkg:gem/actionview#lib/action_view/base.rb:228 def assign(new_assigns); end - # pkg:gem/actionview#lib/action_view/base.rb:219 + # pkg:gem/actionview#lib/action_view/base.rb:224 def assigns; end - # pkg:gem/actionview#lib/action_view/base.rb:219 + # pkg:gem/actionview#lib/action_view/base.rb:224 def assigns=(_arg0); end - # pkg:gem/actionview#lib/action_view/base.rb:176 + # pkg:gem/actionview#lib/action_view/base.rb:177 def automatically_disable_submit_tag; end - # pkg:gem/actionview#lib/action_view/base.rb:176 + # pkg:gem/actionview#lib/action_view/base.rb:177 def automatically_disable_submit_tag=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:284 + # pkg:gem/actionview#lib/action_view/base.rb:287 def compiled_method_container; end - # pkg:gem/actionview#lib/action_view/base.rb:219 + # pkg:gem/actionview#lib/action_view/base.rb:224 def config; end - # pkg:gem/actionview#lib/action_view/base.rb:219 + # pkg:gem/actionview#lib/action_view/base.rb:224 def config=(_arg0); end - # pkg:gem/actionview#lib/action_view/base.rb:158 + # pkg:gem/actionview#lib/action_view/base.rb:159 def debug_missing_translation; end - # pkg:gem/actionview#lib/action_view/base.rb:158 + # pkg:gem/actionview#lib/action_view/base.rb:159 def debug_missing_translation=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:173 + # pkg:gem/actionview#lib/action_view/base.rb:174 def default_formats; end - # pkg:gem/actionview#lib/action_view/base.rb:173 + # pkg:gem/actionview#lib/action_view/base.rb:174 def default_formats=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:161 + # pkg:gem/actionview#lib/action_view/base.rb:162 def field_error_proc; end - # pkg:gem/actionview#lib/action_view/base.rb:161 + # pkg:gem/actionview#lib/action_view/base.rb:162 def field_error_proc=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def formats(*, **, &); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def formats=(arg); end - # pkg:gem/actionview#lib/action_view/base.rb:292 + # pkg:gem/actionview#lib/action_view/base.rb:295 def in_rendering_context(options); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def locale(*, **, &); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def locale=(arg); end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger; end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger=(_arg0); end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger?; end - # pkg:gem/actionview#lib/action_view/base.rb:218 + # pkg:gem/actionview#lib/action_view/base.rb:223 def lookup_context; end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace; end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace=(_arg0); end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace?; end - # pkg:gem/actionview#lib/action_view/base.rb:165 + # pkg:gem/actionview#lib/action_view/base.rb:187 + def remove_hidden_field_autocomplete; end + + # pkg:gem/actionview#lib/action_view/base.rb:187 + def remove_hidden_field_autocomplete=(val); end + + # pkg:gem/actionview#lib/action_view/base.rb:166 def streaming_completion_on_exception; end - # pkg:gem/actionview#lib/action_view/base.rb:165 + # pkg:gem/actionview#lib/action_view/base.rb:166 def streaming_completion_on_exception=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def view_paths(*, **, &); end - # pkg:gem/actionview#lib/action_view/base.rb:221 + # pkg:gem/actionview#lib/action_view/base.rb:226 def view_paths=(arg); end - # pkg:gem/actionview#lib/action_view/base.rb:218 + # pkg:gem/actionview#lib/action_view/base.rb:223 def view_renderer; end class << self - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes; end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes=(value); end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def _routes?; end - # pkg:gem/actionview#lib/action_view/base.rb:179 + # pkg:gem/actionview#lib/action_view/base.rb:180 def annotate_rendered_view_with_filenames; end - # pkg:gem/actionview#lib/action_view/base.rb:179 + # pkg:gem/actionview#lib/action_view/base.rb:180 def annotate_rendered_view_with_filenames=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:176 + # pkg:gem/actionview#lib/action_view/base.rb:177 def automatically_disable_submit_tag; end - # pkg:gem/actionview#lib/action_view/base.rb:176 + # pkg:gem/actionview#lib/action_view/base.rb:177 def automatically_disable_submit_tag=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:187 + # pkg:gem/actionview#lib/action_view/base.rb:192 def cache_template_loading; end - # pkg:gem/actionview#lib/action_view/base.rb:191 + # pkg:gem/actionview#lib/action_view/base.rb:196 def cache_template_loading=(value); end - # pkg:gem/actionview#lib/action_view/base.rb:213 + # pkg:gem/actionview#lib/action_view/base.rb:218 def changed?(other); end - # pkg:gem/actionview#lib/action_view/base.rb:158 + # pkg:gem/actionview#lib/action_view/base.rb:159 def debug_missing_translation; end - # pkg:gem/actionview#lib/action_view/base.rb:158 + # pkg:gem/actionview#lib/action_view/base.rb:159 def debug_missing_translation=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:311 + # pkg:gem/actionview#lib/action_view/base.rb:314 def default_form_builder; end - # pkg:gem/actionview#lib/action_view/base.rb:311 + # pkg:gem/actionview#lib/action_view/base.rb:314 def default_form_builder=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:173 + # pkg:gem/actionview#lib/action_view/base.rb:174 def default_formats; end - # pkg:gem/actionview#lib/action_view/base.rb:173 + # pkg:gem/actionview#lib/action_view/base.rb:174 def default_formats=(val); end # :stopdoc: # - # pkg:gem/actionview#lib/action_view/base.rb:230 + # pkg:gem/actionview#lib/action_view/base.rb:235 def empty; end - # pkg:gem/actionview#lib/action_view/base.rb:185 + # pkg:gem/actionview#lib/action_view/base.rb:190 def erb_trim_mode=(arg); end - # pkg:gem/actionview#lib/action_view/base.rb:161 + # pkg:gem/actionview#lib/action_view/base.rb:162 def field_error_proc; end - # pkg:gem/actionview#lib/action_view/base.rb:161 + # pkg:gem/actionview#lib/action_view/base.rb:162 def field_error_proc=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger; end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger=(value); end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def logger?; end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace; end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace=(value); end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def prefix_partial_path_with_controller_namespace?; end - # pkg:gem/actionview#lib/action_view/base.rb:165 + # pkg:gem/actionview#lib/action_view/base.rb:187 + def remove_hidden_field_autocomplete; end + + # pkg:gem/actionview#lib/action_view/base.rb:187 + def remove_hidden_field_autocomplete=(val); end + + # pkg:gem/actionview#lib/action_view/base.rb:166 def streaming_completion_on_exception; end - # pkg:gem/actionview#lib/action_view/base.rb:165 + # pkg:gem/actionview#lib/action_view/base.rb:166 def streaming_completion_on_exception=(val); end - # pkg:gem/actionview#lib/action_view/base.rb:238 + # pkg:gem/actionview#lib/action_view/base.rb:243 def with_context(context, assigns = T.unsafe(nil), controller = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/base.rb:199 + # pkg:gem/actionview#lib/action_view/base.rb:204 def with_empty_template_cache; end - # pkg:gem/actionview#lib/action_view/base.rb:234 + # pkg:gem/actionview#lib/action_view/base.rb:239 def with_view_paths(view_paths, assigns = T.unsafe(nil), controller = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/base.rb:195 + # pkg:gem/actionview#lib/action_view/base.rb:200 def xss_safe?; end private - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def __class_attr__routes; end - # pkg:gem/actionview#lib/action_view/base.rb:181 + # pkg:gem/actionview#lib/action_view/base.rb:182 def __class_attr__routes=(new_value); end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def __class_attr_logger; end - # pkg:gem/actionview#lib/action_view/base.rb:182 + # pkg:gem/actionview#lib/action_view/base.rb:183 def __class_attr_logger=(new_value); end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def __class_attr_prefix_partial_path_with_controller_namespace; end - # pkg:gem/actionview#lib/action_view/base.rb:170 + # pkg:gem/actionview#lib/action_view/base.rb:171 def __class_attr_prefix_partial_path_with_controller_namespace=(new_value); end end end @@ -1236,7 +1255,7 @@ module ActionView::Helpers::AssetTagHelper # audio_tag(user.name_pronunciation_audio) # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:593 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:612 def audio_tag(*sources); end # Returns a link tag that browsers and feed readers can use to auto-detect @@ -1267,9 +1286,21 @@ module ActionView::Helpers::AssetTagHelper # auto_discovery_link_tag(:rss, "http://www.example.com/feed.rss", {title: "Example RSS"}) # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:271 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:279 def auto_discovery_link_tag(type = T.unsafe(nil), url_options = T.unsafe(nil), tag_options = T.unsafe(nil)); end + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:29 + def auto_include_nonce_for_scripts; end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:29 + def auto_include_nonce_for_scripts=(val); end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:30 + def auto_include_nonce_for_styles; end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:30 + def auto_include_nonce_for_styles=(val); end + # Returns a link tag for a favicon managed by the asset pipeline. # # If a page has no link like the one generated by this helper, browsers @@ -1298,7 +1329,7 @@ module ActionView::Helpers::AssetTagHelper # favicon_link_tag 'mb-icon.png', rel: 'apple-touch-icon', type: 'image/png' # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:312 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:320 def favicon_link_tag(source = T.unsafe(nil), options = T.unsafe(nil)); end # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:26 @@ -1359,7 +1390,7 @@ module ActionView::Helpers::AssetTagHelper # image_tag(user.avatar.variant(resize_to_limit: [100, 100]), size: '100') # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:430 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:449 def image_tag(source, options = T.unsafe(nil)); end # Returns an HTML script tag for each of the +sources+ provided. @@ -1446,7 +1477,7 @@ module ActionView::Helpers::AssetTagHelper # javascript_include_tag "http://www.example.com/xmlhr.js", defer: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:113 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:115 def javascript_include_tag(*sources); end # Returns an HTML picture tag for the +sources+. If +sources+ is a string, @@ -1489,7 +1520,7 @@ module ActionView::Helpers::AssetTagHelper # picture_tag(user.profile_picture) # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:491 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:510 def picture_tag(*sources, &block); end # Returns a link tag that browsers can use to preload the +source+. @@ -1527,7 +1558,7 @@ module ActionView::Helpers::AssetTagHelper # preload_link_tag("/media/audio.ogg", nopush: true) # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:355 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:363 def preload_link_tag(source, options = T.unsafe(nil)); end # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:27 @@ -1589,7 +1620,7 @@ module ActionView::Helpers::AssetTagHelper # stylesheet_link_tag "style", nonce: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:202 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:207 def stylesheet_link_tag(*sources); end # Returns an HTML video tag for the +sources+. If +sources+ is a string, @@ -1641,27 +1672,27 @@ module ActionView::Helpers::AssetTagHelper # video_tag(user.intro_video) # # => # - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:561 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:580 def video_tag(*sources); end private - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:634 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:653 def check_for_image_tag_errors(options); end - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:625 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:644 def extract_dimensions(size); end - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:598 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:617 def multiple_sources_tag_builder(type, sources); end - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:615 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:634 def resolve_asset_source(asset_type, source, skip_pipeline); end - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:640 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:659 def resolve_link_as(extname, mime_type); end - # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:654 + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:673 def send_preload_links_header(preload_links, max_header_size: T.unsafe(nil)); end class << self @@ -1671,6 +1702,18 @@ module ActionView::Helpers::AssetTagHelper # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:28 def apply_stylesheet_media_default=(val); end + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:29 + def auto_include_nonce_for_scripts; end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:29 + def auto_include_nonce_for_scripts=(val); end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:30 + def auto_include_nonce_for_styles; end + + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:30 + def auto_include_nonce_for_styles=(val); end + # pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:26 def image_decoding; end @@ -1694,7 +1737,7 @@ end # Some HTTP client and proxies have a 4kiB header limit, but more importantly # including preload links has diminishing returns so it's best to not go overboard # -# pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:652 +# pkg:gem/actionview#lib/action_view/helpers/asset_tag_helper.rb:671 ActionView::Helpers::AssetTagHelper::MAX_HEADER_SIZE = T.let(T.unsafe(nil), Integer) # = Action View Asset URL \Helpers @@ -2571,7 +2614,7 @@ module ActionView::Helpers::CaptureHelper # @greeting # => "Welcome to my shiny new web page! The date and time is 2018-09-06 11:09:16 -0500" # # pkg:gem/actionview#lib/action_view/helpers/capture_helper.rb:47 - def capture(*args, &block); end + def capture(*, **, &block); end # Calling content_for stores a block of markup in an identifier for later use. # In order to access this stored content in other templates, helper modules @@ -2834,7 +2877,7 @@ module ActionView::Helpers::ControllerHelper # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:18 def headers(*, **, &); end - # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:32 + # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:36 def logger; end # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:18 @@ -2849,7 +2892,7 @@ module ActionView::Helpers::ControllerHelper # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:18 def request_forgery_protection_token(*, **, &); end - # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:36 + # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:40 def respond_to?(method_name, include_private = T.unsafe(nil)); end # pkg:gem/actionview#lib/action_view/helpers/controller_helper.rb:18 @@ -3031,7 +3074,7 @@ module ActionView::Helpers::DateHelper # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that # all month choices are valid. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:297 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:314 def date_select(object_name, method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a set of select tags (one for year, month, day, hour, and minute) pre-selected for accessing a @@ -3066,7 +3109,7 @@ module ActionView::Helpers::DateHelper # # The selects are prepared for multi-parameter assignment to an Active Record object. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:373 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:390 def datetime_select(object_name, method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Reports the approximate distance in time between two Time, Date, or DateTime objects or integers as seconds. @@ -3142,6 +3185,19 @@ module ActionView::Helpers::DateHelper # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:187 def distance_of_time_in_words_to_now(from_time, options = T.unsafe(nil)); end + # Like time_ago_in_words, but adds a prefix/suffix depending on whether the time is in the past or future. + # You can use the scope option to customize the translation scope. All other options + # are forwarded to time_ago_in_words. + # + # relative_time_in_words(3.minutes.from_now) # => "in 3 minutes" + # relative_time_in_words(3.minutes.ago) # => "3 minutes ago" + # relative_time_in_words(10.seconds.ago, include_seconds: true) # => "less than 10 seconds ago" + # + # See also #time_ago_in_words + # + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:198 + def relative_time_in_words(from_time, options = T.unsafe(nil)); end + # Returns a set of HTML select-tags (one for year, month, and day) pre-selected with the +date+. # It's possible to explicitly set the order of the tags using the :order option with an array of # symbols :year, :month and :day in the desired order. @@ -3178,7 +3234,7 @@ module ActionView::Helpers::DateHelper # select_date(my_date, prompt: { hour: true }) # generic prompt for hours # select_date(my_date, prompt: true) # generic prompts for all # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:461 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:478 def select_date(date = T.unsafe(nil), options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a set of HTML select-tags (one for year, month, day, hour, minute, and second) pre-selected with the @@ -3227,7 +3283,7 @@ module ActionView::Helpers::DateHelper # select_datetime(my_date_time, prompt: { hour: true }) # generic prompt for hours # select_datetime(my_date_time, prompt: true) # generic prompts for all # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:422 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:439 def select_datetime(datetime = T.unsafe(nil), options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the days 1 through 31 with the current day selected. @@ -3254,7 +3310,7 @@ module ActionView::Helpers::DateHelper # # generic prompt. # select_day(5, prompt: 'Choose day') # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:604 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:621 def select_day(date, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the hours 0 through 23 with the current hour selected. @@ -3283,7 +3339,7 @@ module ActionView::Helpers::DateHelper # # Generates a select field that includes options for hours from 2 to 14. # select_hour(my_time, start_hour: 2, end_hour: 14) # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:577 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:594 def select_hour(datetime, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the minutes 0 through 59 with the current minute selected. @@ -3307,7 +3363,7 @@ module ActionView::Helpers::DateHelper # # generic prompt. # select_minute(14, prompt: 'Choose minutes') # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:548 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:565 def select_minute(datetime, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the months January through December with the current month @@ -3352,7 +3408,7 @@ module ActionView::Helpers::DateHelper # # generic prompt. # select_month(14, prompt: 'Choose month') # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:649 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:666 def select_month(date, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the seconds 0 through 59 with the current second selected. @@ -3375,7 +3431,7 @@ module ActionView::Helpers::DateHelper # # generic prompt. # select_second(14, prompt: 'Choose seconds') # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:524 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:541 def select_second(datetime, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a set of HTML select-tags (one for hour and minute). @@ -3415,7 +3471,7 @@ module ActionView::Helpers::DateHelper # select_time(my_time, prompt: { hour: true }) # generic prompt for hours # select_time(my_time, prompt: true) # generic prompts for all # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:501 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:518 def select_time(datetime = T.unsafe(nil), options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a select tag with options for each of the five years on each side of the current, which is selected. @@ -3444,7 +3500,7 @@ module ActionView::Helpers::DateHelper # # generic prompt. # select_year(14, prompt: 'Choose year') # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:678 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:695 def select_year(date, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Like distance_of_time_in_words, but where to_time is fixed to Time.now. @@ -3504,7 +3560,7 @@ module ActionView::Helpers::DateHelper # Note: If the day is not included as an option but the month is, the day will be set to the 1st to ensure that # all month choices are valid. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:338 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:355 def time_select(object_name, method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns an HTML time tag for the given date or time. @@ -3523,12 +3579,12 @@ module ActionView::Helpers::DateHelper # <% end %> # # => # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:697 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:714 def time_tag(date_or_time, *args, &block); end private - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:706 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:723 def normalize_distance_of_time_argument_to_time(value); end end @@ -3541,40 +3597,40 @@ ActionView::Helpers::DateHelper::MINUTES_IN_THREE_QUARTERS_YEAR = T.let(T.unsafe # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:25 ActionView::Helpers::DateHelper::MINUTES_IN_YEAR = T.let(T.unsafe(nil), Integer) -# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:717 +# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:734 class ActionView::Helpers::DateTimeSelector include ::ActionView::Helpers::CaptureHelper include ::ActionView::Helpers::OutputSafetyHelper include ::ActionView::Helpers::TagHelper - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:734 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:751 def initialize(datetime, options = T.unsafe(nil), html_options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:763 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:780 def select_date; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:742 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:759 def select_datetime; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:825 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:842 def select_day; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:813 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:830 def select_hour; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:805 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:822 def select_minute; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:833 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:850 def select_month; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:797 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:814 def select_second; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:781 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:798 def select_time; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:847 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:864 def select_year; end private @@ -3600,7 +3656,7 @@ class ActionView::Helpers::DateTimeSelector # # ..." # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1077 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1094 def build_day_options(selected); end # Builds hidden input tag for date part and value. @@ -3608,7 +3664,7 @@ class ActionView::Helpers::DateTimeSelector # build_hidden(:year, 2008) # => "" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1172 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1189 def build_hidden(type, value); end # Build select option HTML from date value and options. @@ -3632,12 +3688,12 @@ class ActionView::Helpers::DateTimeSelector # # ..." # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1034 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1051 def build_options(selected, options = T.unsafe(nil)); end # Build full select tag from date type and options. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1010 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1027 def build_options_and_select(type, selected, options = T.unsafe(nil)); end # Builds select tag from date type and HTML select options. @@ -3647,13 +3703,13 @@ class ActionView::Helpers::DateTimeSelector # ... # " # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1117 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1134 def build_select(type, select_options_as_html); end # Given an ordering of datetime components, create the selection HTML # and join them with their appropriate separators. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1210 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1227 def build_selects_from_types(order); end # Build select option HTML for year. @@ -3663,7 +3719,7 @@ class ActionView::Helpers::DateTimeSelector # # " # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1095 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1112 def build_year_options(selected, options = T.unsafe(nil)); end # Builds the CSS class value for the select element. @@ -3671,13 +3727,13 @@ class ActionView::Helpers::DateTimeSelector # css_class_attribute(:year, 'date optional', { year: 'my-year' }) # => "date optional my-year" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1137 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1154 def css_class_attribute(type, html_options_class, options); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:992 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1009 def date_order; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def day; end # Looks up day names by number. @@ -3692,28 +3748,28 @@ class ActionView::Helpers::DateTimeSelector # # day_name(1) # => "1st" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:932 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:949 def day_name(number); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def hour; end # Returns the id attribute for the input tag. # => "post_written_on_1i" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1201 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1218 def input_id_from_type(type); end # Returns the name attribute for the input tag. # => post[written_on(1i)] # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1187 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1204 def input_name_from_type(type); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def min; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def month; end # Looks up month names by number (1-based): @@ -3738,13 +3794,13 @@ class ActionView::Helpers::DateTimeSelector # # depending on the format string. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:963 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:980 def month_name(number); end # Returns translated month names, but also ensures that a custom month # name array has a leading +nil+ element. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:899 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:916 def month_names; end # Builds a prompt option tag with supplied options or from default options. @@ -3752,27 +3808,27 @@ class ActionView::Helpers::DateTimeSelector # prompt_option_tag(:month, prompt: 'Select month') # => "" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1153 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1170 def prompt_option_tag(type, options); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:885 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:902 def prompt_text(prompt, type); end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def sec; end # Returns the separator for a given datetime component. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1221 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1238 def separator(type); end # If the day is hidden, the day should be set to the 1st so all month and year choices are # valid. Otherwise, February 31st or February 29th, 2011 can be selected, which are invalid. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:891 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:908 def set_day_if_discarded; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:996 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1013 def translated_date_order; end # Returns translated month names. @@ -3785,10 +3841,10 @@ class ActionView::Helpers::DateTimeSelector # => [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", # "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"] # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:916 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:933 def translated_month_names; end - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:875 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:892 def year; end # Looks up year names by number. @@ -3799,17 +3855,17 @@ class ActionView::Helpers::DateTimeSelector # # year_name(1998) # => "Heisei 10" # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:984 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1001 def year_name(number); end end -# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:725 +# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:742 ActionView::Helpers::DateTimeSelector::AMPM_TRANSLATION = T.let(T.unsafe(nil), Hash) -# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:720 +# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:737 ActionView::Helpers::DateTimeSelector::DEFAULT_PREFIX = T.let(T.unsafe(nil), String) -# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:721 +# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:738 ActionView::Helpers::DateTimeSelector::POSITION = T.let(T.unsafe(nil), Hash) # = Action View Debug \Helpers @@ -3846,7 +3902,8 @@ end # # A +FormBuilder+ object is associated with a particular model object and # allows you to generate fields associated with the model object. The -# +FormBuilder+ object is yielded when using #form_with or #fields_for. +# +FormBuilder+ object is yielded when using +# {form_with}[rdof-ref:ActionView::Helpers::FormHelper#form_with] or #fields_for. # For example: # # <%= form_with model: @person do |person_form| %> @@ -3893,11 +3950,11 @@ end # The standard set of helper methods for form building are located in the # +field_helpers+ class attribute. # -# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1235 +# pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1252 class ActionView::Helpers::FormBuilder include ::ActionView::ModelNaming - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1721 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1720 def initialize(object_name, object, template, options); end # Add the submit button for the given form. When no value is given, it checks @@ -3954,10 +4011,10 @@ class ActionView::Helpers::FormBuilder # # Save as draft # # # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2650 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2649 def button(value = T.unsafe(nil), options = T.unsafe(nil), &block); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2477 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2476 def check_box(method, options = T.unsafe(nil), checked_value = T.unsafe(nil), unchecked_value = T.unsafe(nil)); end # Returns a checkbox tag tailored for accessing a specified attribute (identified by +method+) on an object @@ -4026,10 +4083,10 @@ class ActionView::Helpers::FormBuilder # # => # # # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2474 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2473 def checkbox(method, options = T.unsafe(nil), checked_value = T.unsafe(nil), unchecked_value = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:916 + # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:919 def collection_check_boxes(method, collection, value_method, text_method, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Wraps ActionView::Helpers::FormOptionsHelper#collection_checkboxes for form builders: @@ -4041,7 +4098,7 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:913 + # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:916 def collection_checkboxes(method, collection, value_method, text_method, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Wraps ActionView::Helpers::FormOptionsHelper#collection_radio_buttons for form builders: @@ -4053,7 +4110,7 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:926 + # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:929 def collection_radio_buttons(method, collection, value_method, text_method, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Wraps ActionView::Helpers::FormOptionsHelper#collection_select for form builders: @@ -4065,13 +4122,13 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:865 + # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:868 def collection_select(method, collection, value_method, text_method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2025 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2024 def color_field(method, options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2025 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2024 def date_field(method, options = T.unsafe(nil)); end # Wraps ActionView::Helpers::DateHelper#date_select for form builders: @@ -4083,13 +4140,13 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1244 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1261 def date_select(method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2025 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2024 def datetime_field(method, options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2025 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2024 def datetime_local_field(method, options = T.unsafe(nil)); end # Wraps ActionView::Helpers::DateHelper#datetime_select for form builders: @@ -4101,22 +4158,22 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1268 + # pkg:gem/actionview#lib/action_view/helpers/date_helper.rb:1285 def datetime_select(method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2025 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2024 def email_field(method, options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2671 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2670 def emitted_hidden_id?; end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1686 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1685 def field_helpers; end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1686 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1685 def field_helpers=(_arg0); end - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1686 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1685 def field_helpers?; end # Generate an HTML id attribute value for the given field @@ -4136,7 +4193,7 @@ class ActionView::Helpers::FormBuilder # element, sharing a common id root (article_title, in this # case). # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1778 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1777 def field_id(method, *suffixes, namespace: T.unsafe(nil), index: T.unsafe(nil)); end # Generate an HTML name attribute value for the given name and @@ -4155,12 +4212,12 @@ class ActionView::Helpers::FormBuilder # <%# => %> # <% end %> # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1798 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:1797 def field_name(method, *methods, multiple: T.unsafe(nil), index: T.unsafe(nil)); end # See the docs for the ActionView::Helpers::FormHelper#fields helper method. # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2328 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2327 def fields(scope = T.unsafe(nil), model: T.unsafe(nil), **options, &block); end # Creates a scope around a specific model object like #form_with, but @@ -4417,7 +4474,7 @@ class ActionView::Helpers::FormBuilder # hidden field is not needed and you can pass include_id: false # to prevent +fields_for+ from rendering it automatically. # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2290 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2289 def fields_for(record_name, record_object = T.unsafe(nil), fields_options = T.unsafe(nil), &block); end # Returns a file upload input tag tailored for accessing a specified attribute (identified by +method+) on an object @@ -4455,7 +4512,7 @@ class ActionView::Helpers::FormBuilder # file_field(:file, class: 'file_input') # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2558 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2557 def file_field(method, options = T.unsafe(nil)); end # Wraps ActionView::Helpers::FormOptionsHelper#grouped_collection_select for form builders: @@ -4467,7 +4524,7 @@ class ActionView::Helpers::FormBuilder # # Please refer to the documentation of the base helper for details. # - # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:877 + # pkg:gem/actionview#lib/action_view/helpers/form_options_helper.rb:880 def grouped_collection_select(method, collection, group_method, group_label_method, option_key_method, option_value_method, options = T.unsafe(nil), html_options = T.unsafe(nil)); end # Returns a hidden input tag tailored for accessing a specified attribute (identified by +method+) on an object @@ -4488,7 +4545,7 @@ class ActionView::Helpers::FormBuilder # hidden_field(:token) # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2519 + # pkg:gem/actionview#lib/action_view/helpers/form_helper.rb:2518 def hidden_field(method, options = T.unsafe(nil)); end # Generate an HTML id attribute value. @@ -4509,10 +4566,10 @@ class ActionView::Helpers::FormBuilder # # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:569 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:571 def button_tag(content_or_options = T.unsafe(nil), options = T.unsafe(nil), &block); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:467 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:469 def check_box_tag(name, *args); end # :call-seq: @@ -7187,7 +7249,7 @@ module ActionView::Helpers::FormTagHelper # checkbox_tag 'eula', 'accepted', false, disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:457 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:459 def checkbox_tag(name, *args); end # Creates a text field of type "color". @@ -7210,7 +7272,7 @@ module ActionView::Helpers::FormTagHelper # color_field_tag 'color', '#DEF726', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:669 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:671 def color_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text field of type "date". @@ -7233,7 +7295,7 @@ module ActionView::Helpers::FormTagHelper # date_field_tag 'date', '2014-12-31', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:739 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:741 def date_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text field of type "datetime-local". @@ -7261,16 +7323,16 @@ module ActionView::Helpers::FormTagHelper # datetime_field_tag 'datetime', '2014-01-01T01:01', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:798 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:800 def datetime_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:802 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:804 def datetime_local_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:30 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:28 def default_enforce_utf8; end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:30 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:28 def default_enforce_utf8=(val); end # Creates a text field of type "email". @@ -7293,13 +7355,13 @@ module ActionView::Helpers::FormTagHelper # email_field_tag 'email', 'email@example.com', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:900 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:902 def email_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:27 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:25 def embed_authenticity_token_in_remote_forms; end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:27 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:25 def embed_authenticity_token_in_remote_forms=(val); end # Generate an HTML id attribute value for the given name and @@ -7318,7 +7380,7 @@ module ActionView::Helpers::FormTagHelper # element, sharing a common id root (post_title, in this # case). # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:103 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:101 def field_id(object_name, method_name, *suffixes, index: T.unsafe(nil), namespace: T.unsafe(nil)); end # Generate an HTML name attribute value for the given name and @@ -7333,7 +7395,7 @@ module ActionView::Helpers::FormTagHelper # <%= text_field :post, :tag, name: field_name(:post, :tag, multiple: true) %> # <%# => %> # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:133 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:131 def field_name(object_name, method_name, *method_names, multiple: T.unsafe(nil), index: T.unsafe(nil)); end # Creates a field set for grouping HTML form elements. @@ -7357,10 +7419,10 @@ module ActionView::Helpers::FormTagHelper # <% end %> # # =>

# - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:641 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:643 def field_set_tag(legend = T.unsafe(nil), options = T.unsafe(nil), &block); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:648 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:650 def fieldset_tag(legend = T.unsafe(nil), options = T.unsafe(nil), &block); end # Creates a file upload field. If you are using file uploads then you will also need @@ -7399,7 +7461,7 @@ module ActionView::Helpers::FormTagHelper # file_field_tag 'file', accept: 'text/html', class: 'upload', value: 'index.html' # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:348 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:350 def file_field_tag(name, options = T.unsafe(nil)); end # Starts a form tag that points the action to a URL configured with url_for_options just like @@ -7449,7 +7511,7 @@ module ActionView::Helpers::FormTagHelper # form_tag('http://far.away.com/form', authenticity_token: "cf50faa3fe97702ca1ae") # # form with custom authenticity token # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:79 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:77 def form_tag(url_for_options = T.unsafe(nil), options = T.unsafe(nil), &block); end # Creates a hidden form input field used to transmit data that would be lost due to HTTP's statelessness or @@ -7469,7 +7531,7 @@ module ActionView::Helpers::FormTagHelper # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:309 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:307 def hidden_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Displays an image which when clicked will submit the form. @@ -7503,7 +7565,7 @@ module ActionView::Helpers::FormTagHelper # image_submit_tag("save.png", data: { confirm: "Are you sure?" }) # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:615 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:617 def image_submit_tag(source, options = T.unsafe(nil)); end # Creates a label element. Accepts a block. @@ -7521,7 +7583,7 @@ module ActionView::Helpers::FormTagHelper # label_tag 'name', nil, class: 'small_label' # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:282 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:280 def label_tag(name = T.unsafe(nil), content_or_options = T.unsafe(nil), options = T.unsafe(nil), &block); end # Creates a text field of type "month". @@ -7548,7 +7610,7 @@ module ActionView::Helpers::FormTagHelper # month_field_tag 'month', '2014-01', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:827 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:829 def month_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a number field. @@ -7596,7 +7658,7 @@ module ActionView::Helpers::FormTagHelper # number_field_tag 'quantity', '1', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:948 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:950 def number_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a password field, a masked text field that will hide the users input behind a mask character. @@ -7629,10 +7691,10 @@ module ActionView::Helpers::FormTagHelper # password_field_tag 'pin', '1234', maxlength: 4, size: 6, class: "pin_input" # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:381 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:383 def password_field_tag(name = T.unsafe(nil), value = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:718 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:720 def phone_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # :call-seq: @@ -7660,7 +7722,7 @@ module ActionView::Helpers::FormTagHelper # radio_button_tag 'color', "green", true, class: "color_input" # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:494 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:496 def radio_button_tag(name, value, *args); end # Creates a range form element. @@ -7680,7 +7742,7 @@ module ActionView::Helpers::FormTagHelper # range_field_tag 'quantity', min: 1, max: 10, step: 2 # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:692 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:694 def search_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a dropdown selection box, or if the :multiple option is set to true, a multiple @@ -7762,7 +7824,7 @@ module ActionView::Helpers::FormTagHelper # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:202 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:200 def select_tag(name, option_tags = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a submit button with the text value as the caption. @@ -7788,7 +7850,7 @@ module ActionView::Helpers::FormTagHelper # submit_tag "Edit", class: "edit_button" # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:528 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:530 def submit_tag(value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text field of type "tel". @@ -7811,10 +7873,10 @@ module ActionView::Helpers::FormTagHelper # telephone_field_tag 'tel', '0123456789', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:715 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:717 def telephone_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:426 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:428 def text_area_tag(name, content = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a standard text field; use these text fields to input smaller chunks of text like a username @@ -7854,7 +7916,7 @@ module ActionView::Helpers::FormTagHelper # text_field_tag 'ip', '0.0.0.0', maxlength: 15, size: 20, class: "ip-input" # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:264 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:262 def text_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text input area; use a textarea for longer text inputs such as blog posts or descriptions. @@ -7887,7 +7949,7 @@ module ActionView::Helpers::FormTagHelper # textarea_tag 'comment', nil, class: 'comment_input' # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:414 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:416 def textarea_tag(name, content = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text field of type "time". @@ -7918,7 +7980,7 @@ module ActionView::Helpers::FormTagHelper # time_field_tag 'time', '01:01', min: '00:00', max: '23:59', step: 1 # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:770 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:772 def time_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates a text field of type "url". @@ -7941,13 +8003,13 @@ module ActionView::Helpers::FormTagHelper # url_field_tag 'url', 'http://rubyonrails.org', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:877 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:879 def url_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end # Creates the hidden UTF-8 enforcer tag. Override this method in a helper # to customize the tag. # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:979 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:981 def utf8_enforcer_tag; end # Creates a text field of type "week". @@ -7974,45 +8036,45 @@ module ActionView::Helpers::FormTagHelper # week_field_tag 'week', '2014-W01', class: 'special_input', disabled: true # # => # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:854 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:856 def week_field_tag(name, value = T.unsafe(nil), options = T.unsafe(nil)); end private - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1076 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1083 def convert_direct_upload_option_to_url(options); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1014 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1021 def extra_tags_for_form(html_options); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1044 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1051 def form_tag_html(html_options); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1050 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1057 def form_tag_with_body(html_options, content); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:987 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:994 def html_options_for_form(url_for_options, options); end # see http://www.w3.org/TR/html4/types.html#type-name # - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1057 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1064 def sanitize_to_id(name); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1061 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:1068 def set_default_disable_with(value, tag_options); end class << self - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:30 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:28 def default_enforce_utf8; end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:30 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:28 def default_enforce_utf8=(val); end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:27 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:25 def embed_authenticity_token_in_remote_forms; end - # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:27 + # pkg:gem/actionview#lib/action_view/helpers/form_tag_helper.rb:25 def embed_authenticity_token_in_remote_forms=(val); end end end @@ -8021,6 +8083,12 @@ end # # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:6 module ActionView::Helpers::JavaScriptHelper + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:7 + def auto_include_nonce; end + + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:7 + def auto_include_nonce=(val); end + # Escapes carriage returns and single and double quotes for JavaScript segments. # # Also available through the alias j(). This is particularly helpful in JavaScript @@ -8028,13 +8096,13 @@ module ActionView::Helpers::JavaScriptHelper # # $('some_element').replaceWith('<%= j render 'some/element_template' %>'); # - # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:28 + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:30 def escape_javascript(javascript); end - # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:38 + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:40 def j(javascript); end - # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:91 + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:95 def javascript_cdata_section(content); end # Returns a JavaScript tag with the +content+ inside. Example: @@ -8073,11 +8141,19 @@ module ActionView::Helpers::JavaScriptHelper # alert('All is good') # <% end -%> # - # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:75 + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:77 def javascript_tag(content_or_options_with_block = T.unsafe(nil), html_options = T.unsafe(nil), &block); end + + class << self + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:7 + def auto_include_nonce; end + + # pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:7 + def auto_include_nonce=(val); end + end end -# pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:7 +# pkg:gem/actionview#lib/action_view/helpers/javascript_helper.rb:9 ActionView::Helpers::JavaScriptHelper::JS_ESCAPE_MAP = T.let(T.unsafe(nil), Hash) # = Action View Number \Helpers @@ -8093,99 +8169,113 @@ ActionView::Helpers::JavaScriptHelper::JS_ESCAPE_MAP = T.let(T.unsafe(nil), Hash module ActionView::Helpers::NumberHelper # Delegates to ActiveSupport::NumberHelper#number_to_currency. # + # number_to_currency("1234") # => "$1234.00" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_to_currency("12x34") # => "$12x34" # number_to_currency("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:51 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:55 def number_to_currency(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_human. # + # number_to_human("1234") # => "1.23 Thousand" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_to_human("12x34") # => "12x34" # number_to_human("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:111 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:125 def number_to_human(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_human_size. # + # number_to_human_size("1234") # => "1.21 KB" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_to_human_size("12x34") # => "12x34" # number_to_human_size("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:99 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:111 def number_to_human_size(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_percentage. # + # number_to_percentage("99") # => "99.000%" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_to_percentage("99x") # => "99x%" # number_to_percentage("99x", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:63 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:69 def number_to_percentage(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_phone. # + # number_to_phone("1234567890") # => "123-456-7890" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_to_phone("12x34") # => "12x34" # number_to_phone("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:35 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:37 def number_to_phone(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_delimited. # + # number_with_delimiter("1234") # => "1,234" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_with_delimiter("12x34") # => "12x34" # number_with_delimiter("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:75 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:83 def number_with_delimiter(number, options = T.unsafe(nil)); end # Delegates to ActiveSupport::NumberHelper#number_to_rounded. # + # number_with_precision("1234") # => "1234.000" + # # Additionally, supports a +:raise+ option that will cause # InvalidNumberError to be raised if +number+ is not a valid number: # # number_with_precision("12x34") # => "12x34" # number_with_precision("12x34", raise: true) # => InvalidNumberError # - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:87 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:97 def number_with_precision(number, options = T.unsafe(nil)); end private - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:116 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:130 def delegate_number_helper_method(method, number, options); end - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:135 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:149 def escape_units(units); end - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:125 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:139 def escape_unsafe_options(options); end - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:158 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:172 def parse_float(number, raise_error); end - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:154 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:168 def valid_float?(number); end - # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:141 + # pkg:gem/actionview#lib/action_view/helpers/number_helper.rb:155 def wrap_with_output_safety_handling(number, raise_on_invalid, &block); end end @@ -8692,10 +8782,10 @@ module ActionView::Helpers::TagHelper # cdata_section("hello]]>world") # # => world]]> # - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:570 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:567 def cdata_section(content); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:555 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:552 def class_names(*args); end # Returns an HTML block tag of type +name+ surrounding the +content+. Add @@ -8727,7 +8817,7 @@ module ActionView::Helpers::TagHelper # <% end -%> # # =>
Hello world!
# - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:528 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:525 def content_tag(name, content_or_options_with_block = T.unsafe(nil), options = T.unsafe(nil), escape = T.unsafe(nil), &block); end # Returns an escaped version of +html+ without affecting existing escaped entities. @@ -8738,7 +8828,7 @@ module ActionView::Helpers::TagHelper # escape_once("<< Accept & Checkout") # # => "<< Accept & Checkout" # - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:582 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:579 def escape_once(html); end # Returns an HTML tag. @@ -8888,7 +8978,7 @@ module ActionView::Helpers::TagHelper # tag("div", class: { highlight: current_user.admin? }) # # =>
# - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:491 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:488 def tag(name = T.unsafe(nil), options = T.unsafe(nil), open = T.unsafe(nil), escape = T.unsafe(nil)); end # Returns a string of tokens built from +args+. @@ -8903,25 +8993,25 @@ module ActionView::Helpers::TagHelper # token_list(nil, false, 123, "", "foo", { bar: true }) # # => "123 foo bar" # - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:550 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:547 def token_list(*args); end private - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:592 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:589 def build_tag_values(*args); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:587 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:584 def ensure_valid_html5_tag_name(name); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:612 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:609 def tag_builder; end class << self - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:610 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:607 def build_tag_values(*args); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:590 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:587 def ensure_valid_html5_tag_name(name); end end end @@ -8943,37 +9033,34 @@ ActionView::Helpers::TagHelper::TAG_TYPES = T.let(T.unsafe(nil), Hash) # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:46 class ActionView::Helpers::TagHelper::TagBuilder - include ::ActionView::Helpers::CaptureHelper - include ::ActionView::Helpers::OutputSafetyHelper - - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:216 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:213 def initialize(view_context); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def a(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def abbr(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def address(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def animate(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def animate_motion(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def animate_transform(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def area(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def article(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def aside(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end # Transforms a Hash into HTML Attributes, ready to be interpolated into @@ -8982,403 +9069,403 @@ class ActionView::Helpers::TagHelper::TagBuilder # > # # => # - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:225 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:222 def attributes(attributes); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def audio(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def b(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def base(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def bdi(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def bdo(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def blockquote(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def body(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:302 - def boolean_tag_option(key); end - - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def br(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def button(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def canvas(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def caption(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def circle(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def cite(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def code(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def col(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def colgroup(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:239 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:226 def content_tag_string(name, content, options, escape = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def data(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def datalist(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def dd(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def del(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def details(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def dfn(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def dialog(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def div(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def dl(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def dt(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def ellipse(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def em(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def embed(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def fieldset(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def figcaption(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def figure(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def footer(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def form(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h1(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h2(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h3(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h4(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h5(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def h6(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def head(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def header(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def hgroup(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def hr(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def html(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def i(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def iframe(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def img(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def input(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def ins(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def kbd(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def keygen(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def label(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def legend(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def li(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def line(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def link(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def main(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def map(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def mark(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def menu(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def meta(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def meter(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def nav(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def noscript(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def object(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def ol(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def optgroup(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def option(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def output(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def p(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def path(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def picture(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def polygon(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def polyline(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def portal(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def pre(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def progress(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def q(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def rect(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def rp(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def rt(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def ruby(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def s(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def samp(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def script(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def search(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def section(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def select(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:235 - def self_closing_tag_string(name, options, escape = T.unsafe(nil), tag_suffix = T.unsafe(nil)); end - - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def set(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def slot(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def small(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def source(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def span(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def stop(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def strong(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def style(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def sub(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def summary(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def sup(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def table(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:306 - def tag_option(key, value, escape); end - - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:248 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:235 def tag_options(options, escape = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:229 - def tag_string(name, content = T.unsafe(nil), options, escape: T.unsafe(nil), &block); end - - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def tbody(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def td(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def template(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def textarea(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def tfoot(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def th(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def thead(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def time(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def title(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def tr(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def track(escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def u(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def ul(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def use(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def var(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def video(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def view(content = T.unsafe(nil), escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:83 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:80 def wbr(escape: T.unsafe(nil), **options, &block); end private - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:336 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:300 + def boolean_tag_option(key); end + + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:333 def method_missing(called, *args, escape: T.unsafe(nil), **options, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:324 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:321 def prefix_tag_option(prefix, key, value, escape); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:332 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:329 def respond_to_missing?(*args); end + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:296 + def self_closing_tag_string(name, options, escape = T.unsafe(nil), tag_suffix = T.unsafe(nil)); end + + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:304 + def tag_option(key, value, escape); end + + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:290 + def tag_string(name, content = T.unsafe(nil), options, escape: T.unsafe(nil), &block); end + class << self - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:50 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:47 def define_element(name, code_generator:, method_name: T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:70 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:67 def define_self_closing_element(name, code_generator:, method_name: T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:61 + # pkg:gem/actionview#lib/action_view/helpers/tag_helper.rb:58 def define_void_element(name, code_generator:, method_name: T.unsafe(nil)); end end end @@ -9525,22 +9612,27 @@ module ActionView::Helpers::Tags::CollectionHelpers # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:47 def default_html_options_for_collection(item, value); end - # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:107 + # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:117 def hidden_field; end - # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:113 + # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:123 def hidden_field_name; end # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:40 def instantiate_builder(builder_class, item, value, text, html_options); end - # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:75 + # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:85 def render_collection; end - # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:86 + # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:96 def render_collection_for(builder_class, &block); end - # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:71 + # Sanitize the attribute name used for the label's `for` attribute + # in collection helpers. When the value is nil or results in an + # empty sanitized string, skip the trailing underscore to match the + # id generated by add_default_name_and_id_for_value. + # + # pkg:gem/actionview#lib/action_view/helpers/tags/collection_helpers.rb:75 def sanitize_attribute_name(value); end end @@ -9814,10 +9906,10 @@ end module ActionView::Helpers::Tags::SelectRenderer private - # pkg:gem/actionview#lib/action_view/helpers/tags/select_renderer.rb:36 + # pkg:gem/actionview#lib/action_view/helpers/tags/select_renderer.rb:38 def add_options(option_tags, options, value = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/tags/select_renderer.rb:31 + # pkg:gem/actionview#lib/action_view/helpers/tags/select_renderer.rb:33 def placeholder_required?(html_options); end # pkg:gem/actionview#lib/action_view/helpers/tags/select_renderer.rb:8 @@ -10616,15 +10708,25 @@ module ActionView::Helpers::UrlHelper # current_page?('http://www.example.com/shop/checkout?order=desc&page=1') # # => true # - # Let's say we're in the http://www.example.com/products action with method POST in case of invalid product. + # Different actions may share the same URL path but have a different HTTP method. Let's say we + # sent a POST to http://www.example.com/products and rendered a validation error. # # current_page?(controller: 'product', action: 'index') # # => false # + # current_page?(controller: 'product', action: 'create') + # # => false + # + # current_page?(controller: 'product', action: 'create', method: :post) + # # => true + # + # current_page?(controller: 'product', action: 'index', method: [:get, :post]) + # # => true + # # We can also pass in the symbol arguments instead of strings. # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:548 - def current_page?(options = T.unsafe(nil), check_parameters: T.unsafe(nil), **options_as_kwargs); end + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:559 + def current_page?(options = T.unsafe(nil), check_parameters: T.unsafe(nil), method: T.unsafe(nil), **options_as_kwargs); end # Creates an anchor element of the given +name+ using a URL created by the set of +options+. # See the valid options in the documentation for +url_for+. It's also possible to @@ -10781,7 +10883,7 @@ module ActionView::Helpers::UrlHelper # # If they are logged in... # # => my_username # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:437 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:438 def link_to_if(condition, name, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Creates a link tag of the given +name+ using a URL created by the set of @@ -10805,7 +10907,7 @@ module ActionView::Helpers::UrlHelper # # If not... # # => Reply # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:414 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:415 def link_to_unless(condition, name, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Creates a link tag of the given +name+ using a URL created by the set of @@ -10847,7 +10949,7 @@ module ActionView::Helpers::UrlHelper # end # %> # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:390 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:391 def link_to_unless_current(name, options = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Creates a mailto link tag to the specified +email_address+, which is @@ -10889,7 +10991,7 @@ module ActionView::Helpers::UrlHelper # Email me: me@domain.com # # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:487 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:488 def mail_to(email_address, name = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Creates a TEL anchor link tag to the specified +phone_number+. When the @@ -10928,7 +11030,7 @@ module ActionView::Helpers::UrlHelper # Phone me: # # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:669 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:693 def phone_to(phone_number, name = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Creates an SMS anchor link tag to the specified +phone_number+. When the @@ -10972,7 +11074,7 @@ module ActionView::Helpers::UrlHelper # Text me: # # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:618 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:642 def sms_to(phone_number, name = T.unsafe(nil), html_options = T.unsafe(nil), &block); end # Basic implementation of url_for to allow use helpers without routes existence @@ -10988,25 +11090,25 @@ module ActionView::Helpers::UrlHelper # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:55 def _filtered_referrer; end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:712 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:736 def add_method_to_attributes!(html_options, method); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:683 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:707 def convert_options_to_data_attributes(options, html_options); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:706 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:730 def link_to_remote_options?(options); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:723 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:747 def method_for_options(options); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:741 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:765 def method_not_get_method?(method); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:760 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:786 def method_tag(method); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:806 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:834 def remove_trailing_slash!(url_string); end # Returns an array of hashes each containing :name and :value keys @@ -11026,13 +11128,13 @@ module ActionView::Helpers::UrlHelper # to_form_params({ name: 'Denmark' }, 'country') # # => [{name: 'country[name]', value: 'Denmark'}] # - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:780 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:808 def to_form_params(attribute, namespace = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:746 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:770 def token_tag(token = T.unsafe(nil), form_options: T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:698 + # pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:722 def url_target(name, options); end class << self @@ -11059,7 +11161,7 @@ module ActionView::Helpers::UrlHelper::ClassMethods def _url_for_modules; end end -# pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:733 +# pkg:gem/actionview#lib/action_view/helpers/url_helper.rb:757 ActionView::Helpers::UrlHelper::STRINGIFIED_COMMON_METHODS = T.let(T.unsafe(nil), Hash) # This is a class to fix I18n global state. Whenever you provide I18n.locale during a request, @@ -11434,80 +11536,76 @@ module ActionView::Layouts::ClassMethods::LayoutConditions def _conditional_layout?; end end -# = Action View Log Subscriber -# -# Provides functionality so that \Rails can output logs from Action View. -# -# pkg:gem/actionview#lib/action_view/log_subscriber.rb:9 +# pkg:gem/actionview#lib/action_view/log_subscriber.rb:6 class ActionView::LogSubscriber < ::ActiveSupport::LogSubscriber include ::ActionView::LogSubscriber::Utils - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:12 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:9 def initialize; end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:45 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:42 def render_collection(event); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:37 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:34 def render_layout(event); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:26 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:23 def render_partial(event); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:17 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:14 def render_template(event); end private - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:121 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:118 def cache_message(payload); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:113 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:110 def render_count(payload); end class << self - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:105 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:102 def attach_to(*); end private - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:24 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:21 def __class_attr_log_levels; end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:24 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:21 def __class_attr_log_levels=(new_value); end end end -# pkg:gem/actionview#lib/action_view/log_subscriber.rb:76 +# pkg:gem/actionview#lib/action_view/log_subscriber.rb:73 class ActionView::LogSubscriber::Start include ::ActionView::LogSubscriber::Utils - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:97 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:94 def finish(name, id, payload); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:100 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:97 def silenced?(_); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:79 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:76 def start(name, id, payload); end end -# pkg:gem/actionview#lib/action_view/log_subscriber.rb:57 +# pkg:gem/actionview#lib/action_view/log_subscriber.rb:54 module ActionView::LogSubscriber::Utils - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:58 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:55 def logger; end private - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:63 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:60 def from_rails_root(string); end - # pkg:gem/actionview#lib/action_view/log_subscriber.rb:69 + # pkg:gem/actionview#lib/action_view/log_subscriber.rb:66 def rails_root; end end -# pkg:gem/actionview#lib/action_view/log_subscriber.rb:10 +# pkg:gem/actionview#lib/action_view/log_subscriber.rb:7 ActionView::LogSubscriber::VIEWS_PATTERN = T.let(T.unsafe(nil), Regexp) # = Action View Lookup Context @@ -12022,6 +12120,22 @@ end # # <%= render partial: "account", locals: { user: @buyer } %> # +# == \Rendering variants of a partial +# +# The :variants option can be used to render a different template variant of a partial. For instance: +# +# <%= render partial: "account", variants: :mobile %> +# +# This will render _account.html+mobile.erb. This option also accepts multiple variants +# like so: +# +# <%= render partial: "account", variants: [:desktop, :mobile] %> +# +# This will look for the following templates and render the first one that exists: +# * _account.html+desktop.erb +# * _account.html+mobile.erb +# * _account.html.erb +# # == \Rendering a collection of partials # # The example of partial use describes a familiar pattern where a template needs to iterate over an array and @@ -12192,38 +12306,38 @@ end # # As you can see, the :locals hash is shared between both the partial and its layout. # -# pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:220 +# pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:236 class ActionView::PartialRenderer < ::ActionView::AbstractRenderer include ::ActionView::CollectionCaching - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:223 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:239 def initialize(lookup_context, options); end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:221 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:237 def collection_cache; end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:221 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:237 def collection_cache=(val); end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:230 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:246 def render(partial, context, block); end private - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:262 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:278 def find_template(path, locals); end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:245 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:261 def render_partial_template(view, locals, template, layout, block); end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:241 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:257 def template_keys(_); end class << self - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:221 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:237 def collection_cache; end - # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:221 + # pkg:gem/actionview#lib/action_view/renderer/partial_renderer.rb:237 def collection_cache=(val); end end end @@ -12427,6 +12541,17 @@ module ActionView::RecordIdentifier # pkg:gem/actionview#lib/action_view/record_identifier.rb:93 def dom_id(record_or_class, prefix = T.unsafe(nil)); end + # The DOM target convention is to concatenate any number of parameters into a string. + # Records are passed through dom_id, while string and symbols are retained. + # + # dom_target(Post.find(45)) # => "post_45" + # dom_target(Post.find(45), :edit) # => "post_45_edit" + # dom_target(Post.find(45), :edit, :special) # => "post_45_edit_special" + # dom_target(Post.find(45), Comment.find(1)) # => "post_45_comment_1" + # + # pkg:gem/actionview#lib/action_view/record_identifier.rb:111 + def dom_target(*objects); end + private # Returns a string representation of the key attribute(s) that is suitable for use in an HTML DOM id. @@ -12438,7 +12563,7 @@ module ActionView::RecordIdentifier # method that replaces all characters that are invalid inside DOM ids, with valid ones. You need to # make sure yourself that your dom ids are valid, in case you override this method. # - # pkg:gem/actionview#lib/action_view/record_identifier.rb:113 + # pkg:gem/actionview#lib/action_view/record_identifier.rb:134 def record_key_for_dom_id(record); end end @@ -12950,12 +13075,70 @@ class ActionView::StrictLocalsError < ::ArgumentError def initialize(argument_error, template); end end +# pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:6 +class ActionView::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + include ::ActionView::StructuredEventSubscriber::Utils + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:9 + def initialize; end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:44 + def render_collection(event); end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:35 + def render_layout(event); end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:24 + def render_partial(event); end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:14 + def render_template(event); end + + class << self + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:88 + def attach_to(*); end + + private + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:22 + def __class_attr_debug_methods; end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:22 + def __class_attr_debug_methods=(new_value); end + end +end + +# pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:73 +class ActionView::StructuredEventSubscriber::Start + include ::ActionView::StructuredEventSubscriber::Utils + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:84 + def finish(name, id, payload); end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:76 + def start(name, id, payload); end +end + +# pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:56 +module ActionView::StructuredEventSubscriber::Utils + private + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:58 + def from_rails_root(string); end + + # pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:66 + def rails_root; end +end + +# pkg:gem/actionview#lib/action_view/structured_event_subscriber.rb:7 +ActionView::StructuredEventSubscriber::VIEWS_PATTERN = T.let(T.unsafe(nil), Regexp) + # pkg:gem/actionview#lib/action_view/template/error.rb:256 class ActionView::SyntaxErrorInTemplate < ::ActionView::Template::Error # pkg:gem/actionview#lib/action_view/template/error.rb:257 def initialize(template, offending_code_string); end - # pkg:gem/actionview#lib/action_view/template/error.rb:268 + # pkg:gem/actionview#lib/action_view/template/error.rb:272 def annotated_source_code; end # pkg:gem/actionview#lib/action_view/template/error.rb:262 @@ -13091,7 +13274,7 @@ class ActionView::Template # In general, this means that templates will be UTF-8 inside of Rails, # regardless of the original source encoding. # - # pkg:gem/actionview#lib/action_view/template.rb:506 + # pkg:gem/actionview#lib/action_view/template.rb:507 def compile(mod); end # Compile a template. This method ensures a template is compiled @@ -13110,25 +13293,25 @@ class ActionView::Template # pkg:gem/actionview#lib/action_view/template.rb:411 def find_node_by_id(node, node_id); end - # pkg:gem/actionview#lib/action_view/template.rb:555 + # pkg:gem/actionview#lib/action_view/template.rb:556 def handle_render_error(view, e); end - # pkg:gem/actionview#lib/action_view/template.rb:580 + # pkg:gem/actionview#lib/action_view/template.rb:581 def identifier_method_name; end - # pkg:gem/actionview#lib/action_view/template.rb:584 + # pkg:gem/actionview#lib/action_view/template.rb:585 def instrument(action, &block); end - # pkg:gem/actionview#lib/action_view/template.rb:592 + # pkg:gem/actionview#lib/action_view/template.rb:593 def instrument_payload; end - # pkg:gem/actionview#lib/action_view/template.rb:588 + # pkg:gem/actionview#lib/action_view/template.rb:589 def instrument_render_template(&block); end - # pkg:gem/actionview#lib/action_view/template.rb:567 + # pkg:gem/actionview#lib/action_view/template.rb:568 def locals_code; end - # pkg:gem/actionview#lib/action_view/template.rb:547 + # pkg:gem/actionview#lib/action_view/template.rb:548 def offset; end class << self @@ -13301,7 +13484,7 @@ end # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:9 class ActionView::Template::Handlers::ERB - # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:63 + # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:65 def call(template, source); end # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:17 @@ -13350,10 +13533,21 @@ class ActionView::Template::Handlers::ERB # source location inside the template. # # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:43 - def translate_location(spot, backtrace_location, source); end + def translate_location(spot, _backtrace_location, source); end private + # Return the offset between the error lineno and the source lineno. + # Searches in reverse from the backtrace lineno so we have a better + # chance of finding the correct line + # + # The compiled template is likely to be longer than the source. + # Use the difference between the compiled and source sizes to + # determine the earliest line that could contain the highlight. + # + # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:119 + def find_lineno_offset(compiled, source_lines, highlight, error_lineno); end + # Find which token in the source template spans the byte range that # contains the error_column, then return the offset compared to the # original source template. @@ -13373,13 +13567,13 @@ class ActionView::Template::Handlers::ERB # the current token from looping past the next token if they both # match (i.e. if the current token is a single space character). # - # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:128 + # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:152 def find_offset(compiled, source_tokens, error_column); end - # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:153 + # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:177 def offset_source_tokens(source_tokens); end - # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:95 + # pkg:gem/actionview#lib/action_view/template/handlers/erb.rb:97 def valid_encoding(string, encoding); end class << self @@ -13512,7 +13706,7 @@ ActionView::Template::LEADING_ENCODING_REGEXP = T.let(T.unsafe(nil), Regexp) # pkg:gem/actionview#lib/action_view/template.rb:197 ActionView::Template::NONE = T.let(T.unsafe(nil), Object) -# pkg:gem/actionview#lib/action_view/template.rb:564 +# pkg:gem/actionview#lib/action_view/template.rb:565 ActionView::Template::RUBY_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) # = Action View RawFile Template @@ -13874,67 +14068,70 @@ class ActionView::TestCase < ::ActiveSupport::TestCase extend ::ActiveSupport::Testing::ConstantLookup::ClassMethods extend ::ActionView::TestCase::Behavior::ClassMethods - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods=(_arg0); end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods?; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:251 + def _run_setup_callbacks(&block); end + + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def debug_missing_translation; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def debug_missing_translation=(val); end class << self - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods=(value); end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helper_methods?; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def _helpers; end - # pkg:gem/actionview#lib/action_view/test_case.rb:200 + # pkg:gem/actionview#lib/action_view/test_case.rb:249 def content_class; end - # pkg:gem/actionview#lib/action_view/test_case.rb:200 + # pkg:gem/actionview#lib/action_view/test_case.rb:249 def content_class=(value); end - # pkg:gem/actionview#lib/action_view/test_case.rb:200 + # pkg:gem/actionview#lib/action_view/test_case.rb:249 def content_class?; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def debug_missing_translation; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def debug_missing_translation=(val); end private - # pkg:gem/actionview#lib/action_view/test_case.rb:202 + # pkg:gem/actionview#lib/action_view/test_case.rb:251 def __class_attr___callbacks; end - # pkg:gem/actionview#lib/action_view/test_case.rb:202 + # pkg:gem/actionview#lib/action_view/test_case.rb:251 def __class_attr___callbacks=(new_value); end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def __class_attr__helper_methods; end - # pkg:gem/actionview#lib/action_view/test_case.rb:446 + # pkg:gem/actionview#lib/action_view/test_case.rb:459 def __class_attr__helper_methods=(new_value); end - # pkg:gem/actionview#lib/action_view/test_case.rb:200 + # pkg:gem/actionview#lib/action_view/test_case.rb:249 def __class_attr_content_class; end - # pkg:gem/actionview#lib/action_view/test_case.rb:200 + # pkg:gem/actionview#lib/action_view/test_case.rb:249 def __class_attr_content_class=(new_value); end end end @@ -13975,8 +14172,30 @@ module ActionView::TestCase::Behavior mixes_in_class_methods ::ActiveSupport::Testing::ConstantLookup::ClassMethods mixes_in_class_methods ::ActionView::TestCase::Behavior::ClassMethods - # :method: rendered - # + # pkg:gem/actionview#lib/action_view/test_case.rb:305 + def _routes; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:281 + def config; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:63 + def controller; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:63 + def controller=(_arg0); end + + # pkg:gem/actionview#lib/action_view/test_case.rb:62 + def lookup_context(*, **, &); end + + # pkg:gem/actionview#lib/action_view/test_case.rb:63 + def output_buffer; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:63 + def output_buffer=(_arg0); end + + # pkg:gem/actionview#lib/action_view/test_case.rb:285 + def render(options = T.unsafe(nil), local_assigns = T.unsafe(nil), &block); end + # Returns the content rendered by the last +render+ call. # # The returned object behaves like a string but also exposes a number of methods @@ -14025,37 +14244,61 @@ module ActionView::TestCase::Behavior # assert_pattern { rendered.json => { title: "Hello, world" } } # end # - # pkg:gem/actionview#lib/action_view/test_case.rb:297 - def _routes; end - - # pkg:gem/actionview#lib/action_view/test_case.rb:232 - def config; end - - # pkg:gem/actionview#lib/action_view/test_case.rb:63 - def controller; end - - # pkg:gem/actionview#lib/action_view/test_case.rb:63 - def controller=(_arg0); end - - # pkg:gem/actionview#lib/action_view/test_case.rb:62 - def lookup_context(*, **, &); end - - # pkg:gem/actionview#lib/action_view/test_case.rb:63 - def output_buffer; end - - # pkg:gem/actionview#lib/action_view/test_case.rb:63 - def output_buffer=(_arg0); end - - # pkg:gem/actionview#lib/action_view/test_case.rb:236 - def render(options = T.unsafe(nil), local_assigns = T.unsafe(nil), &block); end - - # pkg:gem/actionview#lib/action_view/test_case.rb:63 + # pkg:gem/actionview#lib/action_view/test_case.rb:112 def rendered; end - # pkg:gem/actionview#lib/action_view/test_case.rb:63 + # Returns the content rendered by the last +render+ call. + # + # The returned object behaves like a string but also exposes a number of methods + # that allows you to parse the content string in formats registered using + # .register_parser. + # + # By default includes the following parsers: + # + # +.html+ + # + # Parse the rendered content String into HTML. By default, this means + # a Nokogiri::XML::Node. + # + # test "renders HTML" do + # article = Article.create!(title: "Hello, world") + # + # render partial: "articles/article", locals: { article: article } + # + # assert_pattern { rendered.html.at("main h1") => { content: "Hello, world" } } + # end + # + # To parse the rendered content into a Capybara::Simple::Node, + # re-register an :html parser with a call to + # Capybara.string: + # + # register_parser :html, -> rendered { Capybara.string(rendered) } + # + # test "renders HTML" do + # article = Article.create!(title: "Hello, world") + # + # render partial: article + # + # rendered.html.assert_css "h1", text: "Hello, world" + # end + # + # +.json+ + # + # Parse the rendered content String into JSON. By default, this means + # a ActiveSupport::HashWithIndifferentAccess. + # + # test "renders JSON" do + # article = Article.create!(title: "Hello, world") + # + # render formats: :json, partial: "articles/article", locals: { article: article } + # + # assert_pattern { rendered.json => { title: "Hello, world" } } + # end + # + # pkg:gem/actionview#lib/action_view/test_case.rb:112 def rendered=(_arg0); end - # pkg:gem/actionview#lib/action_view/test_case.rb:242 + # pkg:gem/actionview#lib/action_view/test_case.rb:301 def rendered_views; end # pkg:gem/actionview#lib/action_view/test_case.rb:63 @@ -14064,31 +14307,34 @@ module ActionView::TestCase::Behavior # pkg:gem/actionview#lib/action_view/test_case.rb:63 def request=(_arg0); end - # pkg:gem/actionview#lib/action_view/test_case.rb:220 + # pkg:gem/actionview#lib/action_view/test_case.rb:269 def setup_with_controller; end private - # pkg:gem/actionview#lib/action_view/test_case.rb:403 + # pkg:gem/actionview#lib/action_view/test_case.rb:426 + def _reset_rendered; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:412 def _user_defined_ivars; end - # pkg:gem/actionview#lib/action_view/test_case.rb:366 + # pkg:gem/actionview#lib/action_view/test_case.rb:374 def _view; end # Need to experiment if this priority is the best one: rendered => output_buffer # - # pkg:gem/actionview#lib/action_view/test_case.rb:331 + # pkg:gem/actionview#lib/action_view/test_case.rb:339 def document_root_element; end - # pkg:gem/actionview#lib/action_view/test_case.rb:417 + # pkg:gem/actionview#lib/action_view/test_case.rb:430 def method_missing(selector, *, **, &); end - # pkg:gem/actionview#lib/action_view/test_case.rb:433 + # pkg:gem/actionview#lib/action_view/test_case.rb:446 def respond_to_missing?(name, include_private = T.unsafe(nil)); end # The instance of ActionView::Base that is used by +render+. # - # pkg:gem/actionview#lib/action_view/test_case.rb:355 + # pkg:gem/actionview#lib/action_view/test_case.rb:363 def view; end # Returns a Hash of instance variables and their values, as defined by @@ -14096,7 +14342,7 @@ module ActionView::TestCase::Behavior # rendered. This is generally intended for internal use and extension # frameworks. # - # pkg:gem/actionview#lib/action_view/test_case.rb:411 + # pkg:gem/actionview#lib/action_view/test_case.rb:420 def view_assigns; end module GeneratedClassMethods @@ -14115,24 +14361,24 @@ module ActionView::TestCase::Behavior end end -# pkg:gem/actionview#lib/action_view/test_case.rb:65 +# pkg:gem/actionview#lib/action_view/test_case.rb:114 module ActionView::TestCase::Behavior::ClassMethods - # pkg:gem/actionview#lib/action_view/test_case.rb:164 + # pkg:gem/actionview#lib/action_view/test_case.rb:213 def determine_default_helper_class(name); end - # pkg:gem/actionview#lib/action_view/test_case.rb:183 + # pkg:gem/actionview#lib/action_view/test_case.rb:232 def helper_class; end - # pkg:gem/actionview#lib/action_view/test_case.rb:181 + # pkg:gem/actionview#lib/action_view/test_case.rb:230 def helper_class=(_arg0); end - # pkg:gem/actionview#lib/action_view/test_case.rb:170 + # pkg:gem/actionview#lib/action_view/test_case.rb:219 def helper_method(*methods); end - # pkg:gem/actionview#lib/action_view/test_case.rb:66 + # pkg:gem/actionview#lib/action_view/test_case.rb:115 def inherited(descendant); end - # pkg:gem/actionview#lib/action_view/test_case.rb:187 + # pkg:gem/actionview#lib/action_view/test_case.rb:236 def new(*); end # Register a callable to parse rendered content for a given template @@ -14205,66 +14451,66 @@ module ActionView::TestCase::Behavior::ClassMethods # rendered.html.assert_css "h1", text: "Hello, world" # end # - # pkg:gem/actionview#lib/action_view/test_case.rb:148 + # pkg:gem/actionview#lib/action_view/test_case.rb:197 def register_parser(format, callable = T.unsafe(nil), &block); end - # pkg:gem/actionview#lib/action_view/test_case.rb:155 + # pkg:gem/actionview#lib/action_view/test_case.rb:204 def tests(helper_class); end private - # pkg:gem/actionview#lib/action_view/test_case.rb:193 + # pkg:gem/actionview#lib/action_view/test_case.rb:242 def include_helper_modules!; end end -# pkg:gem/actionview#lib/action_view/test_case.rb:368 +# pkg:gem/actionview#lib/action_view/test_case.rb:376 ActionView::TestCase::Behavior::INTERNAL_IVARS = T.let(T.unsafe(nil), Array) -# pkg:gem/actionview#lib/action_view/test_case.rb:335 +# pkg:gem/actionview#lib/action_view/test_case.rb:343 module ActionView::TestCase::Behavior::Locals - # pkg:gem/actionview#lib/action_view/test_case.rb:338 + # pkg:gem/actionview#lib/action_view/test_case.rb:346 def render(options = T.unsafe(nil), local_assigns = T.unsafe(nil)); end - # pkg:gem/actionview#lib/action_view/test_case.rb:336 + # pkg:gem/actionview#lib/action_view/test_case.rb:344 def rendered_views; end - # pkg:gem/actionview#lib/action_view/test_case.rb:336 + # pkg:gem/actionview#lib/action_view/test_case.rb:344 def rendered_views=(_arg0); end end -# pkg:gem/actionview#lib/action_view/test_case.rb:301 +# pkg:gem/actionview#lib/action_view/test_case.rb:309 class ActionView::TestCase::Behavior::RenderedViewContent < ::String - # pkg:gem/actionview#lib/action_view/test_case.rb:150 + # pkg:gem/actionview#lib/action_view/test_case.rb:199 def html; end - # pkg:gem/actionview#lib/action_view/test_case.rb:150 + # pkg:gem/actionview#lib/action_view/test_case.rb:199 def json; end end -# pkg:gem/actionview#lib/action_view/test_case.rb:304 +# pkg:gem/actionview#lib/action_view/test_case.rb:312 class ActionView::TestCase::Behavior::RenderedViewsCollection - # pkg:gem/actionview#lib/action_view/test_case.rb:305 + # pkg:gem/actionview#lib/action_view/test_case.rb:313 def initialize; end - # pkg:gem/actionview#lib/action_view/test_case.rb:309 + # pkg:gem/actionview#lib/action_view/test_case.rb:317 def add(view, locals); end - # pkg:gem/actionview#lib/action_view/test_case.rb:314 + # pkg:gem/actionview#lib/action_view/test_case.rb:322 def locals_for(view); end - # pkg:gem/actionview#lib/action_view/test_case.rb:318 + # pkg:gem/actionview#lib/action_view/test_case.rb:326 def rendered_views; end - # pkg:gem/actionview#lib/action_view/test_case.rb:322 + # pkg:gem/actionview#lib/action_view/test_case.rb:330 def view_rendered?(view, expected_locals); end end -# pkg:gem/actionview#lib/action_view/test_case.rb:446 +# pkg:gem/actionview#lib/action_view/test_case.rb:459 module ActionView::TestCase::HelperMethods - # pkg:gem/actionview#lib/action_view/test_case.rb:214 + # pkg:gem/actionview#lib/action_view/test_case.rb:263 def _test_case; end - # pkg:gem/actionview#lib/action_view/test_case.rb:210 + # pkg:gem/actionview#lib/action_view/test_case.rb:259 def protect_against_forgery?; end end @@ -14318,6 +14564,12 @@ class ActionView::TestCase::TestController < ::ActionController::Base private + # pkg:gem/actionview#lib/action_view/test_case.rb:16 + def __class_attr_config; end + + # pkg:gem/actionview#lib/action_view/test_case.rb:16 + def __class_attr_config=(new_value); end + # pkg:gem/actionview#lib/action_view/test_case.rb:16 def __class_attr_middleware_stack; end diff --git a/sorbet/rbi/gems/activejob@8.0.5.2.rbi b/sorbet/rbi/gems/activejob@8.1.4.1.rbi similarity index 76% rename from sorbet/rbi/gems/activejob@8.0.5.2.rbi rename to sorbet/rbi/gems/activejob@8.1.4.1.rbi index c29fc73c..a6c663da 100644 --- a/sorbet/rbi/gems/activejob@8.0.5.2.rbi +++ b/sorbet/rbi/gems/activejob@8.1.4.1.rbi @@ -28,13 +28,13 @@ module ActiveJob # Queue adapters may communicate the enqueue status of each job by setting # successfully_enqueued and/or enqueue_error on the passed-in job instances. # - # pkg:gem/activejob#lib/active_job/enqueuing.rb:14 + # pkg:gem/activejob#lib/active_job.rb:66 def perform_all_later(*jobs); end - # pkg:gem/activejob#lib/active_job.rb:57 + # pkg:gem/activejob#lib/active_job.rb:60 def verbose_enqueue_logs; end - # pkg:gem/activejob#lib/active_job.rb:57 + # pkg:gem/activejob#lib/active_job.rb:60 def verbose_enqueue_logs=(_arg0); end # Returns the currently loaded version of Active Job as a +Gem::Version+. @@ -58,7 +58,7 @@ module ActiveJob::Arguments # deserialized element by element. All other types are deserialized using # GlobalID. # - # pkg:gem/activejob#lib/active_job/arguments.rb:42 + # pkg:gem/activejob#lib/active_job/arguments.rb:82 def deserialize(arguments); end # Serializes a set of arguments. Intrinsic types that can safely be @@ -69,58 +69,55 @@ module ActiveJob::Arguments # pkg:gem/activejob#lib/active_job/arguments.rb:34 def serialize(arguments); end + # pkg:gem/activejob#lib/active_job/arguments.rb:38 + def serialize_argument(argument); end + private - # pkg:gem/activejob#lib/active_job/arguments.rb:190 + # pkg:gem/activejob#lib/active_job/arguments.rb:191 def convert_to_global_id_hash(argument); end - # pkg:gem/activejob#lib/active_job/arguments.rb:137 + # pkg:gem/activejob#lib/active_job/arguments.rb:136 def custom_serialized?(hash); end - # pkg:gem/activejob#lib/active_job/arguments.rb:110 + # pkg:gem/activejob#lib/active_job/arguments.rb:109 def deserialize_argument(argument); end - # pkg:gem/activejob#lib/active_job/arguments.rb:133 + # pkg:gem/activejob#lib/active_job/arguments.rb:132 def deserialize_global_id(hash); end - # pkg:gem/activejob#lib/active_job/arguments.rb:147 + # pkg:gem/activejob#lib/active_job/arguments.rb:146 def deserialize_hash(serialized_hash); end - # pkg:gem/activejob#lib/active_job/arguments.rb:71 - def serialize_argument(argument); end - - # pkg:gem/activejob#lib/active_job/arguments.rb:141 + # pkg:gem/activejob#lib/active_job/arguments.rb:140 def serialize_hash(argument); end - # pkg:gem/activejob#lib/active_job/arguments.rb:160 + # pkg:gem/activejob#lib/active_job/arguments.rb:159 def serialize_hash_key(key); end - # pkg:gem/activejob#lib/active_job/arguments.rb:171 + # pkg:gem/activejob#lib/active_job/arguments.rb:172 def serialize_indifferent_hash(indifferent_hash); end - # pkg:gem/activejob#lib/active_job/arguments.rb:129 + # pkg:gem/activejob#lib/active_job/arguments.rb:128 def serialized_global_id?(hash); end - # pkg:gem/activejob#lib/active_job/arguments.rb:177 + # pkg:gem/activejob#lib/active_job/arguments.rb:178 def transform_symbol_keys(hash, symbol_keys); end end -# pkg:gem/activejob#lib/active_job/arguments.rb:50 +# pkg:gem/activejob#lib/active_job/arguments.rb:90 ActiveJob::Arguments::GLOBALID_KEY = T.let(T.unsafe(nil), String) -# pkg:gem/activejob#lib/active_job/arguments.rb:58 -ActiveJob::Arguments::OBJECT_SERIALIZER_KEY = T.let(T.unsafe(nil), String) - -# pkg:gem/activejob#lib/active_job/arguments.rb:61 -ActiveJob::Arguments::RESERVED_KEYS = T.let(T.unsafe(nil), Array) +# pkg:gem/activejob#lib/active_job/arguments.rb:99 +ActiveJob::Arguments::RESERVED_KEYS = T.let(T.unsafe(nil), Set) -# pkg:gem/activejob#lib/active_job/arguments.rb:54 +# pkg:gem/activejob#lib/active_job/arguments.rb:94 ActiveJob::Arguments::RUBY2_KEYWORDS_KEY = T.let(T.unsafe(nil), String) -# pkg:gem/activejob#lib/active_job/arguments.rb:52 +# pkg:gem/activejob#lib/active_job/arguments.rb:92 ActiveJob::Arguments::SYMBOL_KEYS_KEY = T.let(T.unsafe(nil), String) -# pkg:gem/activejob#lib/active_job/arguments.rb:56 +# pkg:gem/activejob#lib/active_job/arguments.rb:96 ActiveJob::Arguments::WITH_INDIFFERENT_ACCESS_KEY = T.let(T.unsafe(nil), String) # = Active Job \Base @@ -183,8 +180,7 @@ class ActiveJob::Base include ::ActiveJob::Exceptions include ::ActiveJob::Instrumentation include ::ActiveJob::Logging - include ::ActiveJob::Timezones - include ::ActiveJob::Translation + include ::ActiveJob::ExecutionState include ::ActiveJob::TestHelper::TestQueueAdapter extend ::ActiveJob::Core::ClassMethods extend ::ActiveJob::QueueAdapter::ClassMethods @@ -212,7 +208,13 @@ class ActiveJob::Base def _run_enqueue_callbacks(&block); end # pkg:gem/activejob#lib/active_job/base.rb:70 - def _run_perform_callbacks(&block); end + def _run_enqueue_callbacks!(&block); end + + # pkg:gem/activejob#lib/active_job/base.rb:70 + def _run_perform_callbacks; end + + # pkg:gem/activejob#lib/active_job/base.rb:70 + def _run_perform_callbacks!(&block); end # pkg:gem/activejob#lib/active_job/base.rb:71 def after_discard_procs; end @@ -482,7 +484,10 @@ module ActiveJob::Callbacks def _execute_callbacks; end # pkg:gem/activejob#lib/active_job/callbacks.rb:24 - def _run_execute_callbacks(&block); end + def _run_execute_callbacks; end + + # pkg:gem/activejob#lib/active_job/callbacks.rb:24 + def _run_execute_callbacks!(&block); end private @@ -643,12 +648,471 @@ class ActiveJob::ConfiguredJob def perform_now(*, **, &); end end +# = Active Job Continuable +# +# The Continuable module provides the ability to track the progress of your +# jobs, and continue from where they left off if interrupted. +# +# Mix ActiveJob::Continuable into your job to enable continuations. +# +# See {ActiveJob::Continuation}[rdoc-ref:ActiveJob::Continuation] for usage. +# +# pkg:gem/activejob#lib/active_job/continuable.rb:13 +module ActiveJob::Continuable + extend ::ActiveSupport::Concern + include GeneratedInstanceMethods + + mixes_in_class_methods GeneratedClassMethods + + # pkg:gem/activejob#lib/active_job/continuable.rb:62 + def checkpoint!; end + + # pkg:gem/activejob#lib/active_job/continuable.rb:33 + def continuation; end + + # pkg:gem/activejob#lib/active_job/continuable.rb:33 + def continuation=(_arg0); end + + # pkg:gem/activejob#lib/active_job/continuable.rb:56 + def deserialize(job_data); end + + # pkg:gem/activejob#lib/active_job/continuable.rb:66 + def interrupt!(reason:); end + + # The number of times the job has been resumed. + # + # pkg:gem/activejob#lib/active_job/continuable.rb:31 + def resumptions; end + + # The number of times the job has been resumed. + # + # pkg:gem/activejob#lib/active_job/continuable.rb:31 + def resumptions=(_arg0); end + + # pkg:gem/activejob#lib/active_job/continuable.rb:52 + def serialize; end + + # Start a new continuation step + # + # pkg:gem/activejob#lib/active_job/continuable.rb:36 + def step(step_name, start: T.unsafe(nil), isolated: T.unsafe(nil), &block); end + + private + + # pkg:gem/activejob#lib/active_job/continuable.rb:72 + def continue(&block); end + + # pkg:gem/activejob#lib/active_job/continuable.rb:91 + def resume_job(exception); end + + module GeneratedClassMethods + def max_resumptions; end + def max_resumptions=(value); end + def max_resumptions?; end + def resume_errors_after_advancing; end + def resume_errors_after_advancing=(value); end + def resume_errors_after_advancing?; end + def resume_options; end + def resume_options=(value); end + def resume_options?; end + end + + module GeneratedInstanceMethods + def max_resumptions; end + def max_resumptions?; end + def resume_errors_after_advancing; end + def resume_errors_after_advancing?; end + def resume_options; end + def resume_options?; end + end +end + +# = Active Job \Continuation +# +# Continuations provide a mechanism for interrupting and resuming jobs. This allows +# long-running jobs to make progress across application restarts. +# +# Jobs should include the ActiveJob::Continuable module to enable continuations. +# \Continuable jobs are automatically retried when interrupted. +# +# Use the +step+ method to define the steps in your job. Steps can use an optional +# cursor to track progress in the step. +# +# Steps are executed as soon as they are encountered. If a job is interrupted, previously +# completed steps will be skipped. If a step is in progress, it will be resumed +# with the last recorded cursor. +# +# Code that is not part of a step will be executed on each job run. +# +# You can pass a block or a method name to the step method. The block will be called with +# the step object as an argument. Methods can either take no arguments or a single argument +# for the step object. +# +# class ProcessImportJob < ApplicationJob +# include ActiveJob::Continuable +# +# def perform(import_id) +# # This always runs, even if the job is resumed. +# @import = Import.find(import_id) +# +# step :validate do +# @import.validate! +# end +# +# step(:process_records) do |step| +# @import.records.find_each(start: step.cursor) do |record| +# record.process +# step.advance! from: record.id +# end +# end +# +# step :reprocess_records +# step :finalize +# end +# +# def reprocess_records(step) +# @import.records.find_each(start: step.cursor) do |record| +# record.reprocess +# step.advance! from: record.id +# end +# end +# +# def finalize +# @import.finalize! +# end +# end +# +# === Cursors +# +# Cursors are used to track progress within a step. The cursor can be any object that is +# serializable as an argument to +ActiveJob::Base.serialize+. It defaults to +nil+. +# +# When a step is resumed, the last cursor value is restored. The code in the step is responsible +# for using the cursor to continue from the right point. +# +# +set!+ sets the cursor to a specific value. +# +# step :iterate_items do |step| +# items[step.cursor..].each do |item| +# process(item) +# step.set! (step.cursor || 0) + 1 +# end +# end +# +# An starting value for the cursor can be set when defining the step: +# +# step :iterate_items, start: 0 do |step| +# items[step.cursor..].each do |item| +# process(item) +# step.set! step.cursor + 1 +# end +# end +# +# The cursor can be advanced with +advance!+. This calls +succ+ on the current cursor value. +# It raises an ActiveJob::Continuation::UnadvanceableCursorError if the cursor does not implement +succ+. +# +# step :iterate_items, start: 0 do |step| +# items[step.cursor..].each do |item| +# process(item) +# step.advance! +# end +# end +# +# You can optionally pass a +from+ argument to +advance!+. This is useful when iterating +# over a collection of records where IDs may not be contiguous. +# +# step :process_records do |step| +# import.records.find_each(start: step.cursor) do |record| +# record.process +# step.advance! from: record.id +# end +# end +# +# You can use an array to iterate over nested records: +# +# step :process_nested_records, start: [ 0, 0 ] do |step| +# Account.find_each(start: step.cursor[0]) do |account| +# account.records.find_each(start: step.cursor[1]) do |record| +# record.process +# step.set! [ account.id, record.id + 1 ] +# end +# step.set! [ account.id + 1, 0 ] +# end +# end +# +# Setting or advancing the cursor creates a checkpoint. You can also create a checkpoint +# manually by calling the +checkpoint!+ method on the step. This is useful if you want to +# allow interruptions, but don't need to update the cursor. +# +# step :destroy_records do |step| +# import.records.find_each do |record| +# record.destroy! +# step.checkpoint! +# end +# end +# +# === Checkpoints +# +# A checkpoint is where a job can be interrupted. At a checkpoint the job will call +# +queue_adapter.stopping?+. If it returns true, the job will raise an +# ActiveJob::Continuation::Interrupt exception. +# +# There is an automatic checkpoint before the start of each step except for the first for +# each job execution. Within a step one is created when calling +set!+, +advance!+ or +checkpoint!+. +# +# Jobs are not automatically interrupted when the queue adapter is marked as stopping - they +# will continue to run either until the next checkpoint, or when the process is stopped. +# +# This is to allow jobs to be interrupted at a safe point, but it also means that the jobs +# should checkpoint more frequently than the shutdown timeout to ensure a graceful restart. +# +# When interrupted, the job will automatically retry with the progress serialized +# in the job data under the +continuation+ key. +# +# The serialized progress contains: +# - a list of the completed steps +# - the current step and its cursor value (if one is in progress) +# +# === Isolated Steps +# +# Steps run sequentially in a single job execution, unless the job is interrupted. +# +# You can specify that a step should always run in its own execution by passing the +isolated: true+ option. +# +# This is useful for long-running steps where it may not be possible to checkpoint within +# the job grace period - it ensures that progress is serialized back into the job data before +# the step starts. +# +# step :quick_step1 +# step :slow_step, isolated: true +# step :quick_step2 +# step :quick_step3 +# +# === Errors +# +# If a job raises an error and is not retried via Active Job, it will be passed back to the underlying +# queue backend and any progress in this execution will be lost. +# +# To mitigate this, the job will be automatically retried if it raises an error after it has made progress. +# Making progress is defined as having completed a step or advanced the cursor within the current step. +# +# === Configuration +# +# Continuable jobs have several configuration options: +# * :max_resumptions - The maximum number of times a job can be resumed. Defaults to +nil+ which means +# unlimited resumptions. +# * :resume_options - Options to pass to +retry_job+ when resuming the job. +# Defaults to { wait: 5.seconds }. +# See {ActiveJob::Exceptions#retry_job}[rdoc-ref:ActiveJob::Exceptions#retry_job] for available options. +# * :resume_errors_after_advancing - Whether to resume errors after advancing the continuation. +# Defaults to +true+. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:186 +class ActiveJob::Continuation + include ::ActiveJob::Continuation::Validation + extend ::ActiveSupport::Autoload + + # pkg:gem/activejob#lib/active_job/continuation.rb:214 + def initialize(job, serialized_progress); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:256 + def advanced?; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:242 + def description; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:260 + def instrumentation; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:252 + def started?; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:224 + def step(name, **options, &block); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:235 + def to_h; end + + private + + # pkg:gem/activejob#lib/active_job/continuation.rb:267 + def completed; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:277 + def completed?(name); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:267 + def current; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:267 + def encountered; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:326 + def instrument(*, **, &); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:315 + def instrumenting_step(step, &block); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:273 + def isolating?; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:267 + def job; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:281 + def new_step(*args, **options); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:289 + def run_step(name, start:, isolated:, &block); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:299 + def run_step_inline(name, start:, **options, &block); end + + # pkg:gem/activejob#lib/active_job/continuation.rb:269 + def running_step?; end + + # pkg:gem/activejob#lib/active_job/continuation.rb:285 + def skip_step(name); end +end + +# Raised when there is an error with a checkpoint, such as open database transactions. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:203 +class ActiveJob::Continuation::CheckpointError < ::ActiveJob::Continuation::Error; end + +# Base class for all Continuation errors. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:197 +class ActiveJob::Continuation::Error < ::StandardError; end + +# Raised when a job is interrupted, allowing Active Job to requeue it. +# This inherits from +Exception+ rather than +StandardError+, so it's not +# caught by normal exception handling. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:194 +class ActiveJob::Continuation::Interrupt < ::Exception; end + +# Raised when a step is invalid. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:200 +class ActiveJob::Continuation::InvalidStepError < ::ActiveJob::Continuation::Error; end + +# Raised when a job has reached its limit of the number of resumes. +# The limit is defined by the +max_resumptions+ class attribute. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:210 +class ActiveJob::Continuation::ResumeLimitError < ::ActiveJob::Continuation::Error; end + +# = Active Job Continuation Step +# +# Represents a step within a continuable job. +# +# When a step is completed, it is recorded in the job's continuation state. +# If the job is interrupted, it will be resumed from after the last completed step. +# +# Steps also have an optional cursor that can be used to track progress within the step. +# If a job is interrupted during a step, the cursor will be saved and passed back when +# the job is resumed. +# +# It is the responsibility of the code in the step to use the cursor correctly to resume +# from where it left off. +# +# pkg:gem/activejob#lib/active_job/continuation/step.rb:18 +class ActiveJob::Continuation::Step + # pkg:gem/activejob#lib/active_job/continuation/step.rb:25 + def initialize(name, cursor, job:, resumed:); end + + # Advance the cursor from the current or supplied value + # + # The cursor will be advanced by calling the +succ+ method on the cursor. + # An UnadvanceableCursorError error will be raised if the cursor does not implement +succ+. + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:49 + def advance!(from: T.unsafe(nil)); end + + # Has the cursor been advanced during this job execution? + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:67 + def advanced?; end + + # Check if the job should be interrupted, and if so raise an Interrupt exception. + # The job will be requeued for retry. + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:35 + def checkpoint!; end + + # The cursor for the step. + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:23 + def cursor; end + + # pkg:gem/activejob#lib/active_job/continuation/step.rb:75 + def description; end + + # The name of the step. + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:20 + def name; end + + # Has this step been resumed from a previous job execution? + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:62 + def resumed?; end + + # Set the cursor and interrupt the job if necessary. + # + # pkg:gem/activejob#lib/active_job/continuation/step.rb:40 + def set!(cursor); end + + # pkg:gem/activejob#lib/active_job/continuation/step.rb:71 + def to_a; end + + private + + # pkg:gem/activejob#lib/active_job/continuation/step.rb:80 + def initial_cursor; end + + # pkg:gem/activejob#lib/active_job/continuation/step.rb:80 + def job; end +end + +# Raised when attempting to advance a cursor that doesn't implement `succ`. +# +# pkg:gem/activejob#lib/active_job/continuation.rb:206 +class ActiveJob::Continuation::UnadvanceableCursorError < ::ActiveJob::Continuation::Error; end + +# pkg:gem/activejob#lib/active_job/continuation/validation.rb:5 +module ActiveJob::Continuation::Validation + private + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:45 + def raise_step_error!(message); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:7 + def validate_step!(name); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:39 + def validate_step_expected_order!(name); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:21 + def validate_step_not_encountered!(name); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:27 + def validate_step_not_nested!(name); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:33 + def validate_step_resume_expected!(name); end + + # pkg:gem/activejob#lib/active_job/continuation/validation.rb:15 + def validate_step_symbol!(name); end +end + # = Active Job \Core # # Provides general behavior that will be included into every Active Job # object that inherits from ActiveJob::Base. # -# pkg:gem/activejob#lib/active_job/core.rb:8 +# pkg:gem/activejob#lib/active_job/core.rb:15 module ActiveJob::Core extend ::ActiveSupport::Concern @@ -657,17 +1121,17 @@ module ActiveJob::Core # Creates a new job instance. Takes the arguments that will be # passed to the perform method. # - # pkg:gem/activejob#lib/active_job/core.rb:93 + # pkg:gem/activejob#lib/active_job/core.rb:103 def initialize(*arguments, **); end # Job arguments # - # pkg:gem/activejob#lib/active_job/core.rb:12 + # pkg:gem/activejob#lib/active_job/core.rb:19 def arguments; end # Job arguments # - # pkg:gem/activejob#lib/active_job/core.rb:12 + # pkg:gem/activejob#lib/active_job/core.rb:19 def arguments=(_arg0); end # Attaches the stored job data to the current instance. Receives a hash @@ -697,27 +1161,27 @@ module ActiveJob::Core # end # end # - # pkg:gem/activejob#lib/active_job/core.rb:150 + # pkg:gem/activejob#lib/active_job/core.rb:160 def deserialize(job_data); end # Track any exceptions raised by the backend so callers can inspect the errors. # - # pkg:gem/activejob#lib/active_job/core.rb:56 + # pkg:gem/activejob#lib/active_job/core.rb:63 def enqueue_error; end # Track any exceptions raised by the backend so callers can inspect the errors. # - # pkg:gem/activejob#lib/active_job/core.rb:56 + # pkg:gem/activejob#lib/active_job/core.rb:63 def enqueue_error=(_arg0); end # Track when a job was enqueued # - # pkg:gem/activejob#lib/active_job/core.rb:46 + # pkg:gem/activejob#lib/active_job/core.rb:53 def enqueued_at; end # Track when a job was enqueued # - # pkg:gem/activejob#lib/active_job/core.rb:46 + # pkg:gem/activejob#lib/active_job/core.rb:53 def enqueued_at=(_arg0); end # Hash that contains the number of times this job handled errors for each specific retry_on declaration. @@ -725,7 +1189,7 @@ module ActiveJob::Core # while its associated value holds the number of executions where the corresponding retry_on # declaration handled one of its listed exceptions. # - # pkg:gem/activejob#lib/active_job/core.rb:37 + # pkg:gem/activejob#lib/active_job/core.rb:44 def exception_executions; end # Hash that contains the number of times this job handled errors for each specific retry_on declaration. @@ -733,130 +1197,130 @@ module ActiveJob::Core # while its associated value holds the number of executions where the corresponding retry_on # declaration handled one of its listed exceptions. # - # pkg:gem/activejob#lib/active_job/core.rb:37 + # pkg:gem/activejob#lib/active_job/core.rb:44 def exception_executions=(_arg0); end # Number of times this job has been executed (which increments on every retry, like after an exception). # - # pkg:gem/activejob#lib/active_job/core.rb:31 + # pkg:gem/activejob#lib/active_job/core.rb:38 def executions; end # Number of times this job has been executed (which increments on every retry, like after an exception). # - # pkg:gem/activejob#lib/active_job/core.rb:31 + # pkg:gem/activejob#lib/active_job/core.rb:38 def executions=(_arg0); end # Job Identifier # - # pkg:gem/activejob#lib/active_job/core.rb:19 + # pkg:gem/activejob#lib/active_job/core.rb:26 def job_id; end # Job Identifier # - # pkg:gem/activejob#lib/active_job/core.rb:19 + # pkg:gem/activejob#lib/active_job/core.rb:26 def job_id=(_arg0); end # I18n.locale to be used during the job. # - # pkg:gem/activejob#lib/active_job/core.rb:40 + # pkg:gem/activejob#lib/active_job/core.rb:47 def locale; end # I18n.locale to be used during the job. # - # pkg:gem/activejob#lib/active_job/core.rb:40 + # pkg:gem/activejob#lib/active_job/core.rb:47 def locale=(_arg0); end # Priority that the job will have (lower is more priority). # - # pkg:gem/activejob#lib/active_job/core.rb:25 + # pkg:gem/activejob#lib/active_job/core.rb:32 def priority=(_arg0); end # ID optionally provided by adapter # - # pkg:gem/activejob#lib/active_job/core.rb:28 + # pkg:gem/activejob#lib/active_job/core.rb:35 def provider_job_id; end # ID optionally provided by adapter # - # pkg:gem/activejob#lib/active_job/core.rb:28 + # pkg:gem/activejob#lib/active_job/core.rb:35 def provider_job_id=(_arg0); end # Queue in which the job will reside. # - # pkg:gem/activejob#lib/active_job/core.rb:22 + # pkg:gem/activejob#lib/active_job/core.rb:29 def queue_name=(_arg0); end # Time when the job should be performed # - # pkg:gem/activejob#lib/active_job/core.rb:16 + # pkg:gem/activejob#lib/active_job/core.rb:23 def scheduled_at; end # Time when the job should be performed # - # pkg:gem/activejob#lib/active_job/core.rb:16 + # pkg:gem/activejob#lib/active_job/core.rb:23 def scheduled_at=(_arg0); end # Returns a hash with the job data that can safely be passed to the # queuing adapter. # - # pkg:gem/activejob#lib/active_job/core.rb:107 + # pkg:gem/activejob#lib/active_job/core.rb:117 def serialize; end - # pkg:gem/activejob#lib/active_job/core.rb:13 + # pkg:gem/activejob#lib/active_job/core.rb:20 def serialized_arguments=(_arg0); end # Configures the job with the given options. # - # pkg:gem/activejob#lib/active_job/core.rb:165 + # pkg:gem/activejob#lib/active_job/core.rb:175 def set(options = T.unsafe(nil)); end # Track whether the adapter received the job successfully. # - # pkg:gem/activejob#lib/active_job/core.rb:49 + # pkg:gem/activejob#lib/active_job/core.rb:56 def successfully_enqueued=(_arg0); end - # pkg:gem/activejob#lib/active_job/core.rb:51 + # pkg:gem/activejob#lib/active_job/core.rb:58 def successfully_enqueued?; end # Timezone to be used during the job. # - # pkg:gem/activejob#lib/active_job/core.rb:43 + # pkg:gem/activejob#lib/active_job/core.rb:50 def timezone; end # Timezone to be used during the job. # - # pkg:gem/activejob#lib/active_job/core.rb:43 + # pkg:gem/activejob#lib/active_job/core.rb:50 def timezone=(_arg0); end private - # pkg:gem/activejob#lib/active_job/core.rb:198 + # pkg:gem/activejob#lib/active_job/core.rb:208 def arguments_serialized?; end - # pkg:gem/activejob#lib/active_job/core.rb:194 + # pkg:gem/activejob#lib/active_job/core.rb:204 def deserialize_arguments(serialized_args); end - # pkg:gem/activejob#lib/active_job/core.rb:183 + # pkg:gem/activejob#lib/active_job/core.rb:193 def deserialize_arguments_if_needed; end - # pkg:gem/activejob#lib/active_job/core.rb:202 + # pkg:gem/activejob#lib/active_job/core.rb:212 def deserialize_time(time); end - # pkg:gem/activejob#lib/active_job/core.rb:190 + # pkg:gem/activejob#lib/active_job/core.rb:200 def serialize_arguments(arguments); end - # pkg:gem/activejob#lib/active_job/core.rb:175 + # pkg:gem/activejob#lib/active_job/core.rb:185 def serialize_arguments_if_needed(arguments); end end # These methods will be included into any Active Job object, adding # helpers for de/serialization and creation of job instances. # -# pkg:gem/activejob#lib/active_job/core.rb:60 +# pkg:gem/activejob#lib/active_job/core.rb:67 module ActiveJob::Core::ClassMethods # Creates a new job instance from a hash created with +serialize+ # - # pkg:gem/activejob#lib/active_job/core.rb:62 + # pkg:gem/activejob#lib/active_job/core.rb:69 def deserialize(job_data); end # Creates a job preconfigured with the given options. You can call @@ -878,7 +1342,7 @@ module ActiveJob::Core::ClassMethods # VideoJob.set(queue: :some_queue, wait_until: Time.now.tomorrow).perform_later(Video.last) # VideoJob.set(queue: :some_queue, wait: 5.minutes, priority: 10).perform_later(Video.last) # - # pkg:gem/activejob#lib/active_job/core.rb:86 + # pkg:gem/activejob#lib/active_job/core.rb:96 def set(options = T.unsafe(nil)); end end @@ -896,8 +1360,23 @@ end module ActiveJob::EnqueueAfterTransactionCommit private - # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:6 + # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:25 def raw_enqueue; end + + class << self + # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:6 + def included(base); end + end +end + +# pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:11 +module ActiveJob::EnqueueAfterTransactionCommit::ActiveJobMethods + # Ensures perform_all_later respects each job's enqueue_after_transaction_commit configuration. + # Jobs with enqueue_after_transaction_commit set to true are deferred and enqueued only after the transaction commits; + # other jobs are enqueued immediately. This ensures enqueuing timing matches the per-job setting. + # + # pkg:gem/activejob#lib/active_job/enqueue_after_transaction_commit.rb:15 + def perform_all_later(*jobs); end end # Can be raised by adapters if they wish to communicate to the caller a reason @@ -906,7 +1385,7 @@ end # pkg:gem/activejob#lib/active_job/enqueuing.rb:8 class ActiveJob::EnqueueError < ::StandardError; end -# pkg:gem/activejob#lib/active_job/enqueuing.rb:40 +# pkg:gem/activejob#lib/active_job/enqueuing.rb:10 module ActiveJob::Enqueuing extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -930,12 +1409,15 @@ module ActiveJob::Enqueuing # my_job_instance.enqueue wait_until: Date.tomorrow.midnight # my_job_instance.enqueue priority: 10 # - # pkg:gem/activejob#lib/active_job/enqueuing.rb:112 + # pkg:gem/activejob#lib/active_job/enqueuing.rb:82 def enqueue(options = T.unsafe(nil)); end private - # pkg:gem/activejob#lib/active_job/enqueuing.rb:128 + # pkg:gem/activejob#lib/active_job/enqueuing.rb:103 + def _raw_enqueue; end + + # pkg:gem/activejob#lib/active_job/enqueuing.rb:97 def raw_enqueue; end module GeneratedClassMethods @@ -948,7 +1430,7 @@ end # Includes the +perform_later+ method for job initialization. # -# pkg:gem/activejob#lib/active_job/enqueuing.rb:57 +# pkg:gem/activejob#lib/active_job/enqueuing.rb:27 module ActiveJob::Enqueuing::ClassMethods # Push a job onto the queue. By default the arguments must be either String, # Integer, Float, NilClass, TrueClass, FalseClass, BigDecimal, Symbol, Date, @@ -974,13 +1456,13 @@ module ActiveJob::Enqueuing::ClassMethods # self.enqueue_after_transaction_commit = false # end # - # pkg:gem/activejob#lib/active_job/enqueuing.rb:81 + # pkg:gem/activejob#lib/active_job/enqueuing.rb:51 def perform_later(*, **, &); end private - # pkg:gem/activejob#lib/active_job/enqueuing.rb:91 - def job_or_instantiate(*args, **, &_); end + # pkg:gem/activejob#lib/active_job/enqueuing.rb:61 + def job_or_instantiate(*args, **, &); end end # Provides behavior for retrying and discarding jobs on exceptions. @@ -1016,21 +1498,21 @@ module ActiveJob::Exceptions # end # end # - # pkg:gem/activejob#lib/active_job/exceptions.rb:151 + # pkg:gem/activejob#lib/active_job/exceptions.rb:158 def retry_job(options = T.unsafe(nil)); end private - # pkg:gem/activejob#lib/active_job/exceptions.rb:162 + # pkg:gem/activejob#lib/active_job/exceptions.rb:171 def determine_delay(seconds_or_duration_or_algorithm:, executions:, jitter: T.unsafe(nil)); end - # pkg:gem/activejob#lib/active_job/exceptions.rb:183 + # pkg:gem/activejob#lib/active_job/exceptions.rb:192 def determine_jitter_for_delay(delay, jitter); end - # pkg:gem/activejob#lib/active_job/exceptions.rb:188 + # pkg:gem/activejob#lib/active_job/exceptions.rb:197 def executions_for(exceptions); end - # pkg:gem/activejob#lib/active_job/exceptions.rb:197 + # pkg:gem/activejob#lib/active_job/exceptions.rb:206 def run_after_discard_procs(exception); end module GeneratedClassMethods @@ -1063,12 +1545,14 @@ module ActiveJob::Exceptions::ClassMethods # # end # - # pkg:gem/activejob#lib/active_job/exceptions.rb:124 + # pkg:gem/activejob#lib/active_job/exceptions.rb:131 def after_discard(&blk); end # Discard the job with no attempts to retry, if the exception is raised. This is useful when the subject of the job, # like an Active Record, is no longer available, and the job is thus no longer relevant. # + # Passing the :report option reports the error through the error reporter before discarding the job. + # # You can also pass a block that'll be invoked. This block is yielded with the job instance as the first and the error instance as the second parameter. # # +retry_on+ and +discard_on+ handlers are searched from bottom to top, and up the class hierarchy. The handler of the first class for @@ -1078,8 +1562,9 @@ module ActiveJob::Exceptions::ClassMethods # # class SearchIndexingJob < ActiveJob::Base # discard_on ActiveJob::DeserializationError - # discard_on(CustomAppException) do |job, error| - # ExceptionNotifier.caught(error) + # discard_on CustomAppException, report: true + # discard_on(AnotherCustomAppException) do |job, error| + # CustomErrorHandlingCode.handle(job, error) # end # # def perform(record) @@ -1088,8 +1573,8 @@ module ActiveJob::Exceptions::ClassMethods # end # end # - # pkg:gem/activejob#lib/active_job/exceptions.rb:103 - def discard_on(*exceptions); end + # pkg:gem/activejob#lib/active_job/exceptions.rb:109 + def discard_on(*exceptions, report: T.unsafe(nil)); end # Catch the exception and reschedule job for re-execution after so many seconds, for a specific number of attempts. # If the exception keeps getting raised beyond the specified number of attempts, the exception is allowed to @@ -1112,6 +1597,7 @@ module ActiveJob::Exceptions::ClassMethods # * :queue - Re-enqueues the job on a different queue # * :priority - Re-enqueues the job with a different priority # * :jitter - A random delay of wait time used when calculating backoff. The default is 15% (0.15) which represents the upper bound of possible wait time (expressed as a percentage) + # * :report - Errors will be reported to the Rails.error reporter before being retried # # ==== Examples # @@ -1127,8 +1613,9 @@ module ActiveJob::Exceptions::ClassMethods # # retry_on Net::ReadTimeout, wait: 5.seconds, jitter: 0.30, attempts: 10 # # retry_on Timeout::Error, wait: :polynomially_longer, attempts: 10 # - # retry_on(YetAnotherCustomAppException) do |job, error| - # ExceptionNotifier.caught(error) + # retry_on YetAnotherCustomAppException, report: true + # retry_on EvenWorseCustomAppException do |job, error| + # CustomErrorHandlingCode.handle(job, error) # end # # def perform(*args) @@ -1138,11 +1625,11 @@ module ActiveJob::Exceptions::ClassMethods # end # end # - # pkg:gem/activejob#lib/active_job/exceptions.rb:62 - def retry_on(*exceptions, wait: T.unsafe(nil), attempts: T.unsafe(nil), queue: T.unsafe(nil), priority: T.unsafe(nil), jitter: T.unsafe(nil)); end + # pkg:gem/activejob#lib/active_job/exceptions.rb:64 + def retry_on(*exceptions, wait: T.unsafe(nil), attempts: T.unsafe(nil), queue: T.unsafe(nil), priority: T.unsafe(nil), jitter: T.unsafe(nil), report: T.unsafe(nil)); end end -# pkg:gem/activejob#lib/active_job/exceptions.rb:159 +# pkg:gem/activejob#lib/active_job/exceptions.rb:168 ActiveJob::Exceptions::JITTER_DEFAULT = T.let(T.unsafe(nil), Object) # = Active Job \Execution @@ -1213,23 +1700,29 @@ module ActiveJob::Execution::ClassMethods def perform_now(*, **, &); end end +# pkg:gem/activejob#lib/active_job/execution_state.rb:4 +module ActiveJob::ExecutionState + # pkg:gem/activejob#lib/active_job/execution_state.rb:5 + def perform_now; end +end + # pkg:gem/activejob#lib/active_job/instrumentation.rb:16 module ActiveJob::Instrumentation extend ::ActiveSupport::Concern + # pkg:gem/activejob#lib/active_job/instrumentation.rb:29 + def instrument(operation, payload = T.unsafe(nil), &block); end + # pkg:gem/activejob#lib/active_job/instrumentation.rb:25 def perform_now; end private - # pkg:gem/activejob#lib/active_job/instrumentation.rb:30 + # pkg:gem/activejob#lib/active_job/instrumentation.rb:42 def _perform_job; end # pkg:gem/activejob#lib/active_job/instrumentation.rb:47 def halted_callback_hook(*); end - - # pkg:gem/activejob#lib/active_job/instrumentation.rb:35 - def instrument(operation, payload = T.unsafe(nil), &block); end end # pkg:gem/activejob#lib/active_job/log_subscriber.rb:6 @@ -1243,7 +1736,7 @@ class ActiveJob::LogSubscriber < ::ActiveSupport::LogSubscriber # pkg:gem/activejob#lib/active_job/log_subscriber.rb:7 def backtrace_cleaner?; end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:130 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:131 def discard(event); end # pkg:gem/activejob#lib/active_job/log_subscriber.rb:9 @@ -1255,48 +1748,63 @@ class ActiveJob::LogSubscriber < ::ActiveSupport::LogSubscriber # pkg:gem/activejob#lib/active_job/log_subscriber.rb:29 def enqueue_at(event); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:105 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:106 def enqueue_retry(event); end + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:141 + def interrupt(event); end + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:86 def perform(event); end # pkg:gem/activejob#lib/active_job/log_subscriber.rb:76 def perform_start(event); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:120 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:149 + def resume(event); end + + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:121 def retry_stopped(event); end + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:178 + def step(event); end + + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:157 + def step_skipped(event); end + + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:165 + def step_started(event); end + private - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:145 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:204 def args_info(job); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:199 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:258 def enqueue_source_location; end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:207 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:262 def enqueued_jobs_message(adapter, enqueued_jobs); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:183 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:242 def error(progname = T.unsafe(nil), &block); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:154 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:213 def format(arg); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:175 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:234 def info(progname = T.unsafe(nil), &block); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:191 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:250 def log_enqueue_source; end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:171 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:230 def logger; end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:141 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:200 def queue_name(event); end - # pkg:gem/activejob#lib/active_job/log_subscriber.rb:167 + # pkg:gem/activejob#lib/active_job/log_subscriber.rb:226 def scheduled_at(event); end class << self @@ -1529,12 +2037,12 @@ module ActiveJob::QueueAdapters # ActiveJob::QueueAdapters.lookup(:sidekiq) # # => ActiveJob::QueueAdapters::SidekiqAdapter # - # pkg:gem/activejob#lib/active_job/queue_adapters.rb:135 + # pkg:gem/activejob#lib/active_job/queue_adapters.rb:134 def lookup(name); end end end -# pkg:gem/activejob#lib/active_job/queue_adapters.rb:127 +# pkg:gem/activejob#lib/active_job/queue_adapters.rb:126 ActiveJob::QueueAdapters::ADAPTER = T.let(T.unsafe(nil), String) # = Active Job Abstract Adapter @@ -1544,11 +2052,20 @@ ActiveJob::QueueAdapters::ADAPTER = T.let(T.unsafe(nil), String) # # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:9 class ActiveJob::QueueAdapters::AbstractAdapter - # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:10 + # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:12 def enqueue(job); end - # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:14 + # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:16 def enqueue_at(job, timestamp); end + + # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:10 + def stopping; end + + # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:10 + def stopping=(_arg0); end + + # pkg:gem/activejob#lib/active_job/queue_adapters/abstract_adapter.rb:20 + def stopping?; end end # = Active Job Async adapter @@ -1620,13 +2137,13 @@ class ActiveJob::QueueAdapters::AsyncAdapter::Scheduler # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:86 def initialize(**options); end - # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:92 + # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:96 def enqueue(job, queue_name:); end - # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:96 + # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:100 def enqueue_at(job, timestamp, queue_name:); end - # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:110 + # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:114 def executor; end # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:84 @@ -1635,7 +2152,7 @@ class ActiveJob::QueueAdapters::AsyncAdapter::Scheduler # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:84 def immediate=(_arg0); end - # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:105 + # pkg:gem/activejob#lib/active_job/queue_adapters/async_adapter.rb:109 def shutdown(wait: T.unsafe(nil)); end end @@ -1734,27 +2251,36 @@ class ActiveJob::QueueAdapters::TestAdapter < ::ActiveJob::QueueAdapters::Abstra # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:15 def reject=(_arg0); end + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:15 + def stopping; end + + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:15 + def stopping=(_arg0); end + + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:38 + def stopping?; end + private - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:79 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:83 def filter_as_proc(filter); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:57 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:61 def filtered?(job); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:71 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:75 def filtered_job_class?(job); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:65 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:69 def filtered_queue?(job); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:61 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:65 def filtered_time?(job); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:39 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:43 def job_to_hash(job, extras = T.unsafe(nil)); end - # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:48 + # pkg:gem/activejob#lib/active_job/queue_adapters/test_adapter.rb:52 def perform_or_enqueue(perform, job, job_data); end end @@ -1919,7 +2445,7 @@ end # = Active Job Railtie # -# pkg:gem/activejob#lib/active_job/railtie.rb:8 +# pkg:gem/activejob#lib/active_job/railtie.rb:9 class ActiveJob::Railtie < ::Rails::Railtie; end # Raised when an unsupported argument type is set as a job argument. We @@ -1944,57 +2470,69 @@ class ActiveJob::SerializationError < ::ArgumentError; end module ActiveJob::Serializers extend ::ActiveSupport::Autoload - # pkg:gem/activejob#lib/active_job/serializers.rb:23 - def _additional_serializers; end - - # pkg:gem/activejob#lib/active_job/serializers.rb:23 - def _additional_serializers=(val); end - class << self - # pkg:gem/activejob#lib/active_job/serializers.rb:23 - def _additional_serializers; end - - # pkg:gem/activejob#lib/active_job/serializers.rb:23 - def _additional_serializers=(val); end - # Adds new serializers to a list of known serializers. # - # pkg:gem/activejob#lib/active_job/serializers.rb:55 + # pkg:gem/activejob#lib/active_job/serializers.rb:60 def add_serializers(*new_serializers); end # Returns deserialized object. # Will look up through all known serializers. # If no serializer found will raise ArgumentError. # - # pkg:gem/activejob#lib/active_job/serializers.rb:39 + # pkg:gem/activejob#lib/active_job/serializers.rb:40 def deserialize(argument); end # Returns serialized representative of the passed object. # Will look up through all known serializers. # Raises ActiveJob::SerializationError if it can't find a proper serializer. # - # pkg:gem/activejob#lib/active_job/serializers.rb:30 + # pkg:gem/activejob#lib/active_job/serializers.rb:31 def serialize(argument); end # Returns list of known serializers. # - # pkg:gem/activejob#lib/active_job/serializers.rb:50 + # pkg:gem/activejob#lib/active_job/serializers.rb:51 def serializers; end + + # pkg:gem/activejob#lib/active_job/serializers.rb:53 + def serializers=(serializers); end + + private + + # pkg:gem/activejob#lib/active_job/serializers.rb:66 + def add_new_serializers(new_serializers); end + + # pkg:gem/activejob#lib/active_job/serializers.rb:80 + def index_serializers(new_serializers); end end end +# pkg:gem/activejob#lib/active_job/serializers/action_controller_parameters_serializer.rb:5 +class ActiveJob::Serializers::ActionControllerParametersSerializer < ::ActiveJob::Serializers::ObjectSerializer + # pkg:gem/activejob#lib/active_job/serializers/action_controller_parameters_serializer.rb:10 + def deserialize(hash); end + + # pkg:gem/activejob#lib/active_job/serializers/action_controller_parameters_serializer.rb:18 + def klass; end + + # pkg:gem/activejob#lib/active_job/serializers/action_controller_parameters_serializer.rb:6 + def serialize(argument); end + + # pkg:gem/activejob#lib/active_job/serializers/action_controller_parameters_serializer.rb:14 + def serialize?(argument); end +end + # pkg:gem/activejob#lib/active_job/serializers/big_decimal_serializer.rb:7 class ActiveJob::Serializers::BigDecimalSerializer < ::ActiveJob::Serializers::ObjectSerializer # pkg:gem/activejob#lib/active_job/serializers/big_decimal_serializer.rb:12 def deserialize(hash); end + # pkg:gem/activejob#lib/active_job/serializers/big_decimal_serializer.rb:16 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/big_decimal_serializer.rb:8 def serialize(big_decimal); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/big_decimal_serializer.rb:17 - def klass; end end # pkg:gem/activejob#lib/active_job/serializers/date_serializer.rb:5 @@ -2002,13 +2540,11 @@ class ActiveJob::Serializers::DateSerializer < ::ActiveJob::Serializers::ObjectS # pkg:gem/activejob#lib/active_job/serializers/date_serializer.rb:10 def deserialize(hash); end + # pkg:gem/activejob#lib/active_job/serializers/date_serializer.rb:14 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/date_serializer.rb:6 def serialize(date); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/date_serializer.rb:15 - def klass; end end # pkg:gem/activejob#lib/active_job/serializers/date_time_serializer.rb:5 @@ -2016,9 +2552,7 @@ class ActiveJob::Serializers::DateTimeSerializer < ::ActiveJob::Serializers::Tim # pkg:gem/activejob#lib/active_job/serializers/date_time_serializer.rb:6 def deserialize(hash); end - private - - # pkg:gem/activejob#lib/active_job/serializers/date_time_serializer.rb:11 + # pkg:gem/activejob#lib/active_job/serializers/date_time_serializer.rb:10 def klass; end end @@ -2027,13 +2561,11 @@ class ActiveJob::Serializers::DurationSerializer < ::ActiveJob::Serializers::Obj # pkg:gem/activejob#lib/active_job/serializers/duration_serializer.rb:12 def deserialize(hash); end + # pkg:gem/activejob#lib/active_job/serializers/duration_serializer.rb:19 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/duration_serializer.rb:6 def serialize(duration); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/duration_serializer.rb:20 - def klass; end end # pkg:gem/activejob#lib/active_job/serializers/module_serializer.rb:5 @@ -2041,15 +2573,16 @@ class ActiveJob::Serializers::ModuleSerializer < ::ActiveJob::Serializers::Objec # pkg:gem/activejob#lib/active_job/serializers/module_serializer.rb:11 def deserialize(hash); end + # pkg:gem/activejob#lib/active_job/serializers/module_serializer.rb:15 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/module_serializer.rb:6 def serialize(constant); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/module_serializer.rb:16 - def klass; end end +# pkg:gem/activejob#lib/active_job/serializers.rb:104 +ActiveJob::Serializers::OBJECT_SERIALIZER_KEY = T.let(T.unsafe(nil), String) + # Base class for serializing and deserializing custom objects. # # Example: @@ -2063,96 +2596,83 @@ end # Money.new(hash["amount"], hash["currency"]) # end # -# private -# -# def klass -# Money -# end +# def klass +# Money +# end # end # -# pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:26 +# pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:24 class ActiveJob::Serializers::ObjectSerializer include ::Singleton::SingletonInstanceMethods include ::Singleton extend ::Singleton::SingletonClassMethods + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:31 + def initialize; end + # Deserializes an argument from a JSON primitive type. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:44 - def deserialize(json); end + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:47 + def deserialize(hash); end # Serializes an argument to a JSON primitive type. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:39 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:42 def serialize(hash); end # Determines if an argument should be serialized by a serializer. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:34 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:37 def serialize?(argument); end - private - - # The class of the object that will be serialized. - # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:50 - def klass; end - class << self # Deserializes an argument from a JSON primitive type. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:30 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:28 def deserialize(*, **, &); end # Serializes an argument to a JSON primitive type. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:30 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:28 def serialize(*, **, &); end # Determines if an argument should be serialized by a serializer. # - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:30 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:28 def serialize?(*, **, &); end private - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:27 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:25 def allocate; end - # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:27 + # pkg:gem/activejob#lib/active_job/serializers/object_serializer.rb:25 def new(*_arg0); end end end # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:5 class ActiveJob::Serializers::RangeSerializer < ::ActiveJob::Serializers::ObjectSerializer - # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:13 + # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:14 def deserialize(hash); end - # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:8 - def serialize(range); end - - private - # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:18 def klass; end -end -# pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:6 -ActiveJob::Serializers::RangeSerializer::KEYS = T.let(T.unsafe(nil), Array) + # pkg:gem/activejob#lib/active_job/serializers/range_serializer.rb:6 + def serialize(range); end +end # pkg:gem/activejob#lib/active_job/serializers/symbol_serializer.rb:5 class ActiveJob::Serializers::SymbolSerializer < ::ActiveJob::Serializers::ObjectSerializer # pkg:gem/activejob#lib/active_job/serializers/symbol_serializer.rb:10 def deserialize(argument); end + # pkg:gem/activejob#lib/active_job/serializers/symbol_serializer.rb:14 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/symbol_serializer.rb:6 def serialize(argument); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/symbol_serializer.rb:15 - def klass; end end # pkg:gem/activejob#lib/active_job/serializers/time_object_serializer.rb:5 @@ -2169,9 +2689,7 @@ class ActiveJob::Serializers::TimeSerializer < ::ActiveJob::Serializers::TimeObj # pkg:gem/activejob#lib/active_job/serializers/time_serializer.rb:6 def deserialize(hash); end - private - - # pkg:gem/activejob#lib/active_job/serializers/time_serializer.rb:11 + # pkg:gem/activejob#lib/active_job/serializers/time_serializer.rb:10 def klass; end end @@ -2180,18 +2698,58 @@ class ActiveJob::Serializers::TimeWithZoneSerializer < ::ActiveJob::Serializers: # pkg:gem/activejob#lib/active_job/serializers/time_with_zone_serializer.rb:15 def deserialize(hash); end + # pkg:gem/activejob#lib/active_job/serializers/time_with_zone_serializer.rb:19 + def klass; end + # pkg:gem/activejob#lib/active_job/serializers/time_with_zone_serializer.rb:8 def serialize(time_with_zone); end - - private - - # pkg:gem/activejob#lib/active_job/serializers/time_with_zone_serializer.rb:20 - def klass; end end # pkg:gem/activejob#lib/active_job/serializers/time_with_zone_serializer.rb:6 ActiveJob::Serializers::TimeWithZoneSerializer::NANO_PRECISION = T.let(T.unsafe(nil), Integer) +# pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:6 +class ActiveJob::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:137 + def discard(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:7 + def enqueue(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:56 + def enqueue_all(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:31 + def enqueue_at(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:109 + def enqueue_retry(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:149 + def interrupt(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:87 + def perform(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:73 + def perform_start(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:162 + def resume(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:124 + def retry_stopped(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:197 + def step(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:173 + def step_skipped(event); end + + # pkg:gem/activejob#lib/active_job/structured_event_subscriber.rb:184 + def step_started(event); end +end + # pkg:gem/activejob#lib/active_job/test_case.rb:6 class ActiveJob::TestCase < ::ActiveSupport::TestCase include ::ActiveJob::TestHelper @@ -2745,14 +3303,12 @@ module ActiveJob::TestHelper::TestQueueAdapter::ClassMethods def queue_adapter; end end -# pkg:gem/activejob#lib/active_job/timezones.rb:4 -module ActiveJob::Timezones - extend ::ActiveSupport::Concern -end - -# pkg:gem/activejob#lib/active_job/translation.rb:4 -module ActiveJob::Translation - extend ::ActiveSupport::Concern +# Raised during job payload deserialization when it references an uninitialized job class. +# +# pkg:gem/activejob#lib/active_job/core.rb:5 +class ActiveJob::UnknownJobClassError < ::NameError + # pkg:gem/activejob#lib/active_job/core.rb:6 + def initialize(job_class_name); end end # pkg:gem/activejob#lib/active_job/gem_version.rb:9 diff --git a/sorbet/rbi/gems/activemodel@8.0.5.2.rbi b/sorbet/rbi/gems/activemodel@8.1.4.1.rbi similarity index 89% rename from sorbet/rbi/gems/activemodel@8.0.5.2.rbi rename to sorbet/rbi/gems/activemodel@8.1.4.1.rbi index fa1461e9..89d2dac2 100644 --- a/sorbet/rbi/gems/activemodel@8.0.5.2.rbi +++ b/sorbet/rbi/gems/activemodel@8.1.4.1.rbi @@ -15,7 +15,7 @@ module ActiveModel # pkg:gem/activemodel#lib/active_model/deprecator.rb:4 def deprecator; end - # pkg:gem/activemodel#lib/active_model.rb:76 + # pkg:gem/activemodel#lib/active_model.rb:82 def eager_load!; end # Returns the currently loaded version of \Active \Model as a +Gem::Version+. @@ -169,10 +169,10 @@ class ActiveModel::Attribute # pkg:gem/activemodel#lib/active_model/attribute.rb:33 def initialize(name, value_before_type_cast, type, original_attribute = T.unsafe(nil), value = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:115 + # pkg:gem/activemodel#lib/active_model/attribute.rb:123 def ==(other); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:107 + # pkg:gem/activemodel#lib/active_model/attribute.rb:115 def came_from_user?; end # pkg:gem/activemodel#lib/active_model/attribute.rb:66 @@ -181,25 +181,28 @@ class ActiveModel::Attribute # pkg:gem/activemodel#lib/active_model/attribute.rb:70 def changed_in_place?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:135 + # pkg:gem/activemodel#lib/active_model/attribute.rb:99 + def dup_or_share; end + + # pkg:gem/activemodel#lib/active_model/attribute.rb:143 def encode_with(coder); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:121 + # pkg:gem/activemodel#lib/active_model/attribute.rb:129 def eql?(other); end # pkg:gem/activemodel#lib/active_model/attribute.rb:74 def forgetting_assignment; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:111 + # pkg:gem/activemodel#lib/active_model/attribute.rb:119 def has_been_read?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:123 + # pkg:gem/activemodel#lib/active_model/attribute.rb:131 def hash; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:127 + # pkg:gem/activemodel#lib/active_model/attribute.rb:135 def init_with(coder); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:103 + # pkg:gem/activemodel#lib/active_model/attribute.rb:111 def initialized?; end # pkg:gem/activemodel#lib/active_model/attribute.rb:29 @@ -208,7 +211,7 @@ class ActiveModel::Attribute # pkg:gem/activemodel#lib/active_model/attribute.rb:47 def original_value; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:143 + # pkg:gem/activemodel#lib/active_model/attribute.rb:151 def original_value_for_database; end # pkg:gem/activemodel#lib/active_model/attribute.rb:62 @@ -217,11 +220,11 @@ class ActiveModel::Attribute # pkg:gem/activemodel#lib/active_model/attribute.rb:29 def type; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:99 + # pkg:gem/activemodel#lib/active_model/attribute.rb:107 def type_cast(*); end # pkg:gem/activemodel#lib/active_model/attribute.rb:41 - def value(&_); end + def value(&); end # pkg:gem/activemodel#lib/active_model/attribute.rb:29 def value_before_type_cast; end @@ -246,22 +249,22 @@ class ActiveModel::Attribute private - # pkg:gem/activemodel#lib/active_model/attribute.rb:169 + # pkg:gem/activemodel#lib/active_model/attribute.rb:177 def _original_value_for_database; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:165 + # pkg:gem/activemodel#lib/active_model/attribute.rb:173 def _value_for_database; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:153 + # pkg:gem/activemodel#lib/active_model/attribute.rb:161 def assigned?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:161 + # pkg:gem/activemodel#lib/active_model/attribute.rb:169 def changed_from_assignment?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:155 + # pkg:gem/activemodel#lib/active_model/attribute.rb:163 def initialize_dup(other); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:152 + # pkg:gem/activemodel#lib/active_model/attribute.rb:160 def original_attribute; end class << self @@ -282,80 +285,80 @@ class ActiveModel::Attribute end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:173 +# pkg:gem/activemodel#lib/active_model/attribute.rb:181 class ActiveModel::Attribute::FromDatabase < ::ActiveModel::Attribute - # pkg:gem/activemodel#lib/active_model/attribute.rb:178 + # pkg:gem/activemodel#lib/active_model/attribute.rb:186 def forgetting_assignment; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:174 + # pkg:gem/activemodel#lib/active_model/attribute.rb:182 def type_cast(value); end private - # pkg:gem/activemodel#lib/active_model/attribute.rb:192 + # pkg:gem/activemodel#lib/active_model/attribute.rb:200 def _original_value_for_database; end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:197 +# pkg:gem/activemodel#lib/active_model/attribute.rb:205 class ActiveModel::Attribute::FromUser < ::ActiveModel::Attribute - # pkg:gem/activemodel#lib/active_model/attribute.rb:202 + # pkg:gem/activemodel#lib/active_model/attribute.rb:210 def came_from_user?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:198 + # pkg:gem/activemodel#lib/active_model/attribute.rb:206 def type_cast(value); end private - # pkg:gem/activemodel#lib/active_model/attribute.rb:207 + # pkg:gem/activemodel#lib/active_model/attribute.rb:215 def _value_for_database; end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:222 +# pkg:gem/activemodel#lib/active_model/attribute.rb:230 class ActiveModel::Attribute::Null < ::ActiveModel::Attribute - # pkg:gem/activemodel#lib/active_model/attribute.rb:223 + # pkg:gem/activemodel#lib/active_model/attribute.rb:231 def initialize(name); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:227 + # pkg:gem/activemodel#lib/active_model/attribute.rb:235 def type_cast(*); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:239 + # pkg:gem/activemodel#lib/active_model/attribute.rb:247 def with_cast_value(value); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:231 + # pkg:gem/activemodel#lib/active_model/attribute.rb:239 def with_type(type); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:235 + # pkg:gem/activemodel#lib/active_model/attribute.rb:243 def with_value_from_database(value); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:238 + # pkg:gem/activemodel#lib/active_model/attribute.rb:246 def with_value_from_user(value); end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:242 +# pkg:gem/activemodel#lib/active_model/attribute.rb:250 class ActiveModel::Attribute::Uninitialized < ::ActiveModel::Attribute - # pkg:gem/activemodel#lib/active_model/attribute.rb:245 + # pkg:gem/activemodel#lib/active_model/attribute.rb:253 def initialize(name, type); end - # pkg:gem/activemodel#lib/active_model/attribute.rb:266 + # pkg:gem/activemodel#lib/active_model/attribute.rb:274 def forgetting_assignment; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:262 + # pkg:gem/activemodel#lib/active_model/attribute.rb:270 def initialized?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:255 + # pkg:gem/activemodel#lib/active_model/attribute.rb:263 def original_value; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:249 + # pkg:gem/activemodel#lib/active_model/attribute.rb:257 def value; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:259 + # pkg:gem/activemodel#lib/active_model/attribute.rb:267 def value_for_database; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:270 + # pkg:gem/activemodel#lib/active_model/attribute.rb:278 def with_type(type); end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:243 +# pkg:gem/activemodel#lib/active_model/attribute.rb:251 ActiveModel::Attribute::Uninitialized::UNINITIALIZED_ORIGINAL_VALUE = T.let(T.unsafe(nil), Object) # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:11 @@ -364,9 +367,12 @@ class ActiveModel::Attribute::UserProvidedDefault < ::ActiveModel::Attribute::Fr def initialize(name, value, type, database_default); end # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:29 + def dup_or_share; end + + # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:39 def marshal_dump; end - # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:40 + # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:50 def marshal_load(values); end # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:17 @@ -377,16 +383,16 @@ class ActiveModel::Attribute::UserProvidedDefault < ::ActiveModel::Attribute::Fr private - # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:52 + # pkg:gem/activemodel#lib/active_model/attribute/user_provided_default.rb:62 def user_provided_value; end end -# pkg:gem/activemodel#lib/active_model/attribute.rb:212 +# pkg:gem/activemodel#lib/active_model/attribute.rb:220 class ActiveModel::Attribute::WithCastValue < ::ActiveModel::Attribute - # pkg:gem/activemodel#lib/active_model/attribute.rb:217 + # pkg:gem/activemodel#lib/active_model/attribute.rb:225 def changed_in_place?; end - # pkg:gem/activemodel#lib/active_model/attribute.rb:213 + # pkg:gem/activemodel#lib/active_model/attribute.rb:221 def type_cast(value); end end @@ -527,31 +533,31 @@ module ActiveModel::AttributeMethods # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:507 def method_missing(method, *, **, &); end - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:528 - def respond_to?(method, include_private_methods = T.unsafe(nil)); end - # A +Person+ instance with a +name+ attribute can ask # person.respond_to?(:name), person.respond_to?(:name=), # and person.respond_to?(:name?) which will all return +true+. # - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:527 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:536 + def respond_to?(method, include_private_methods = T.unsafe(nil)); end + + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:531 def respond_to_without_attributes?(*_arg0); end private - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:556 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:564 def _read_attribute(attr); end - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:541 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:549 def attribute_method?(attr_name); end # Returns a struct representing the matching attribute method. # The struct's attributes are prefix, base and suffix. # - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:547 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:555 def matched_attribute_method(method_name); end - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:552 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:560 def missing_attribute(attr_name, stack); end module GeneratedClassMethods @@ -571,7 +577,7 @@ module ActiveModel::AttributeMethods end end -# pkg:gem/activemodel#lib/active_model/attribute_methods.rb:560 +# pkg:gem/activemodel#lib/active_model/attribute_methods.rb:568 module ActiveModel::AttributeMethods::AttrNames class << self # We want to generate the methods via module_eval rather than @@ -589,12 +595,12 @@ module ActiveModel::AttributeMethods::AttrNames # Making it frozen means that it doesn't get duped when used to # key the @attributes in read_attribute. # - # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:577 + # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:585 def define_attribute_accessor_method(owner, attr_name, writer: T.unsafe(nil)); end end end -# pkg:gem/activemodel#lib/active_model/attribute_methods.rb:561 +# pkg:gem/activemodel#lib/active_model/attribute_methods.rb:569 ActiveModel::AttributeMethods::AttrNames::DEF_SAFE_NAME = T.let(T.unsafe(nil), Regexp) # pkg:gem/activemodel#lib/active_model/attribute_methods.rb:68 @@ -1321,6 +1327,7 @@ end # pkg:gem/activemodel#lib/active_model/attributes.rb:30 module ActiveModel::Attributes extend ::ActiveSupport::Concern + extend ::ActiveSupport::Autoload include GeneratedInstanceMethods include ::ActiveModel::AttributeRegistration include ::ActiveModel::AttributeMethods @@ -1445,6 +1452,224 @@ module ActiveModel::Attributes::ClassMethods def define_method_attribute=(canonical_name, owner:, as: T.unsafe(nil)); end end +# pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:5 +module ActiveModel::Attributes::Normalization + extend ::ActiveSupport::Concern + include GeneratedInstanceMethods + include ::ActiveModel::AttributeMethods + include ::ActiveModel::Dirty + include ::ActiveSupport::Callbacks + include ::ActiveModel::Validations::Callbacks + + mixes_in_class_methods GeneratedClassMethods + mixes_in_class_methods ::ActiveModel::Attributes::Normalization::ClassMethods + mixes_in_class_methods ::ActiveModel::AttributeMethods::ClassMethods + mixes_in_class_methods ::ActiveModel::Validations::Callbacks::ClassMethods + mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods + mixes_in_class_methods ::ActiveSupport::DescendantsTracker + + # Normalizes a specified attribute using its declared normalizations. + # + # ==== Examples + # + # class User + # include ActiveModel::Attributes + # include ActiveModel::Attributes::Normalization + # + # attribute :email, :string + # + # normalizes :email, with: -> email { email.strip.downcase } + # end + # + # legacy_user = User.load_from_legacy_data(...) + # legacy_user.email # => " CRUISE-CONTROL@EXAMPLE.COM\n" + # legacy_user.normalize_attribute(:email) + # legacy_user.email # => "cruise-control@example.com" + # + # ==== Behavior with Active Record + # + # To prevent confusion, normalization will not be applied + # when the attribute is fetched from the database. This means that if a + # record was persisted before the normalization was declared, the record's + # attribute will not be normalized until either it is assigned a new + # value, or it is explicitly migrated via Normalization#normalize_attribute. + # + # Be aware that if your app was created before Rails 7.1, and your app + # marshals instances of the targeted model (for example, when caching), + # then you should set ActiveRecord.marshalling_format_version to +7.1+ or + # higher via either config.load_defaults 7.1 or + # config.active_record.marshalling_format_version = 7.1. + # Otherwise, +Marshal+ may attempt to serialize the normalization +Proc+ + # and raise +TypeError+. + # + # class User < ActiveRecord::Base + # normalizes :email, with: -> email { email.strip.downcase } + # normalizes :phone, with: -> phone { phone.delete("^0-9").delete_prefix("1") } + # end + # + # user = User.create(email: " CRUISE-CONTROL@EXAMPLE.COM\n") + # user.email # => "cruise-control@example.com" + # + # user = User.find_by(email: "\tCRUISE-CONTROL@EXAMPLE.COM ") + # user.email # => "cruise-control@example.com" + # user.email_before_type_cast # => "cruise-control@example.com" + # + # User.where(email: "\tCRUISE-CONTROL@EXAMPLE.COM ").count # => 1 + # User.where(["email = ?", "\tCRUISE-CONTROL@EXAMPLE.COM "]).count # => 0 + # + # User.exists?(email: "\tCRUISE-CONTROL@EXAMPLE.COM ") # => true + # User.exists?(["email = ?", "\tCRUISE-CONTROL@EXAMPLE.COM "]) # => false + # + # User.normalize_value_for(:phone, "+1 (555) 867-5309") # => "5558675309" + # + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:70 + def normalize_attribute(name); end + + private + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:140 + def normalize_changed_in_place_attributes; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:147 + def normalized_attribute_changed_in_place?(attribute); end + + module GeneratedClassMethods + def __callbacks; end + def __callbacks=(value); end + def attribute_aliases; end + def attribute_aliases=(value); end + def attribute_aliases?; end + def attribute_method_patterns; end + def attribute_method_patterns=(value); end + def attribute_method_patterns?; end + def normalized_attributes; end + def normalized_attributes=(value); end + def normalized_attributes?; end + end + + module GeneratedInstanceMethods + def __callbacks; end + def attribute_aliases; end + def attribute_aliases?; end + def attribute_method_patterns; end + def attribute_method_patterns?; end + def normalized_attributes; end + def normalized_attributes=(value); end + def normalized_attributes?; end + end +end + +# pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:75 +module ActiveModel::Attributes::Normalization::ClassMethods + # Normalizes a given +value+ using normalizations declared for +name+. + # + # ==== Examples + # + # class User + # include ActiveModel::Attributes + # include ActiveModel::Attributes::Normalization + # + # attribute :email, :string + # + # normalizes :email, with: -> email { email.strip.downcase } + # end + # + # User.normalize_value_for(:email, " CRUISE-CONTROL@EXAMPLE.COM\n") + # # => "cruise-control@example.com" + # + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:134 + def normalize_value_for(name, value); end + + # Declares a normalization for one or more attributes. The normalization + # is applied when the attribute is assigned or validated. + # + # Because the normalization may be applied multiple times, it should be + # _idempotent_. In other words, applying the normalization more than once + # should have the same result as applying it only once. + # + # By default, the normalization will not be applied to +nil+ values. This + # behavior can be changed with the +:apply_to_nil+ option. + # + # ==== Options + # + # * +:with+ - Any callable object that accepts the attribute's value as + # its sole argument, and returns it normalized. + # * +:apply_to_nil+ - Whether to apply the normalization to +nil+ values. + # Defaults to +false+. + # + # ==== Examples + # + # class User + # include ActiveModel::Attributes + # include ActiveModel::Attributes::Normalization + # + # attribute :email, :string + # attribute :phone, :string + # + # normalizes :email, with: -> email { email.strip.downcase } + # normalizes :phone, with: -> phone { phone.delete("^0-9").delete_prefix("1") } + # end + # + # user = User.new + # user.email = " CRUISE-CONTROL@EXAMPLE.COM\n" + # user.email # => "cruise-control@example.com" + # + # User.normalize_value_for(:phone, "+1 (555) 867-5309") # => "5558675309" + # + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:111 + def normalizes(*names, with:, apply_to_nil: T.unsafe(nil)); end +end + +# pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:151 +class ActiveModel::Attributes::Normalization::NormalizedValueType + include ::ActiveModel::Type::SerializeCastValue + extend ::ActiveModel::Type::SerializeCastValue::ClassMethods + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:157 + def initialize(cast_type:, normalizer:, normalize_nil:); end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:176 + def ==(other); end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:164 + def cast(value); end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:154 + def cast_type; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:182 + def eql?(other); end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:184 + def hash; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:188 + def inspect; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:154 + def normalize_nil; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:155 + def normalize_nil?; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:154 + def normalizer; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:168 + def serialize(value); end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:172 + def serialize_cast_value(value); end + + private + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:194 + def instance_variables_to_inspect; end + + # pkg:gem/activemodel#lib/active_model/attributes/normalization.rb:196 + def normalize(value); end +end + # +BlockValidator+ is a special +EachValidator+ which receives a block on initialization # and call this block for each attribute being validated. +validates_each+ uses this validator. # @@ -2027,25 +2252,25 @@ end # # Represents one single error # -# pkg:gem/activemodel#lib/active_model/error.rb:9 +# pkg:gem/activemodel#lib/active_model/error.rb:8 class ActiveModel::Error - # pkg:gem/activemodel#lib/active_model/error.rb:103 + # pkg:gem/activemodel#lib/active_model/error.rb:102 def initialize(base, attribute, type = T.unsafe(nil), **options); end - # pkg:gem/activemodel#lib/active_model/error.rb:190 + # pkg:gem/activemodel#lib/active_model/error.rb:189 def ==(other); end # The attribute of +base+ which the error belongs to # - # pkg:gem/activemodel#lib/active_model/error.rb:121 + # pkg:gem/activemodel#lib/active_model/error.rb:120 def attribute; end # The object which the error belongs to # - # pkg:gem/activemodel#lib/active_model/error.rb:119 + # pkg:gem/activemodel#lib/active_model/error.rb:118 def base; end - # pkg:gem/activemodel#lib/active_model/error.rb:152 + # pkg:gem/activemodel#lib/active_model/error.rb:151 def detail; end # Returns the error details. @@ -2054,10 +2279,10 @@ class ActiveModel::Error # error.details # # => { error: :too_short, count: 5 } # - # pkg:gem/activemodel#lib/active_model/error.rb:149 + # pkg:gem/activemodel#lib/active_model/error.rb:148 def details; end - # pkg:gem/activemodel#lib/active_model/error.rb:193 + # pkg:gem/activemodel#lib/active_model/error.rb:192 def eql?(other); end # Returns the full error message. @@ -2066,29 +2291,29 @@ class ActiveModel::Error # error.full_message # # => "Name is too short (minimum is 5 characters)" # - # pkg:gem/activemodel#lib/active_model/error.rb:159 + # pkg:gem/activemodel#lib/active_model/error.rb:158 def full_message; end - # pkg:gem/activemodel#lib/active_model/error.rb:195 + # pkg:gem/activemodel#lib/active_model/error.rb:194 def hash; end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message; end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message=(_arg0); end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message?; end - # pkg:gem/activemodel#lib/active_model/error.rb:199 + # pkg:gem/activemodel#lib/active_model/error.rb:198 def inspect; end # See if error matches provided +attribute+, +type+, and +options+. # # Omitted params are not checked for a match. # - # pkg:gem/activemodel#lib/active_model/error.rb:166 + # pkg:gem/activemodel#lib/active_model/error.rb:165 def match?(attribute, type = T.unsafe(nil), **options); end # Returns the error message. @@ -2097,18 +2322,18 @@ class ActiveModel::Error # error.message # # => "is too short (minimum is 5 characters)" # - # pkg:gem/activemodel#lib/active_model/error.rb:135 + # pkg:gem/activemodel#lib/active_model/error.rb:134 def message; end # The options provided when calling errors#add # - # pkg:gem/activemodel#lib/active_model/error.rb:128 + # pkg:gem/activemodel#lib/active_model/error.rb:127 def options; end # The raw value provided as the second parameter when calling # errors#add # - # pkg:gem/activemodel#lib/active_model/error.rb:126 + # pkg:gem/activemodel#lib/active_model/error.rb:125 def raw_type; end # See if error matches provided +attribute+, +type+, and +options+ exactly. @@ -2116,54 +2341,54 @@ class ActiveModel::Error # All params must be equal to Error's own attributes to be considered a # strict match. # - # pkg:gem/activemodel#lib/active_model/error.rb:184 + # pkg:gem/activemodel#lib/active_model/error.rb:183 def strict_match?(attribute, type, **options); end # The type of error, defaults to +:invalid+ unless specified # - # pkg:gem/activemodel#lib/active_model/error.rb:123 + # pkg:gem/activemodel#lib/active_model/error.rb:122 def type; end protected - # pkg:gem/activemodel#lib/active_model/error.rb:204 + # pkg:gem/activemodel#lib/active_model/error.rb:203 def attributes_for_hash; end private - # pkg:gem/activemodel#lib/active_model/error.rb:111 + # pkg:gem/activemodel#lib/active_model/error.rb:110 def initialize_dup(other); end class << self - # pkg:gem/activemodel#lib/active_model/error.rb:15 + # pkg:gem/activemodel#lib/active_model/error.rb:14 def full_message(attribute, message, base); end - # pkg:gem/activemodel#lib/active_model/error.rb:64 + # pkg:gem/activemodel#lib/active_model/error.rb:63 def generate_message(attribute, type, base, options); end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message; end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message=(value); end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def i18n_customize_full_message?; end private - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def __class_attr_i18n_customize_full_message; end - # pkg:gem/activemodel#lib/active_model/error.rb:13 + # pkg:gem/activemodel#lib/active_model/error.rb:12 def __class_attr_i18n_customize_full_message=(new_value); end end end -# pkg:gem/activemodel#lib/active_model/error.rb:10 +# pkg:gem/activemodel#lib/active_model/error.rb:9 ActiveModel::Error::CALLBACKS_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/activemodel#lib/active_model/error.rb:11 +# pkg:gem/activemodel#lib/active_model/error.rb:10 ActiveModel::Error::MESSAGE_OPTIONS = T.let(T.unsafe(nil), Array) # = Active \Model \Errors @@ -2217,10 +2442,9 @@ ActiveModel::Error::MESSAGE_OPTIONS = T.let(T.unsafe(nil), Array) # person.errors.full_messages # => ["name cannot be nil"] # # etc.. # -# pkg:gem/activemodel#lib/active_model/errors.rb:61 +# pkg:gem/activemodel#lib/active_model/errors.rb:60 class ActiveModel::Errors include ::Enumerable - extend ::Forwardable # Pass in the instance of the object that is using the errors object. # @@ -2230,7 +2454,7 @@ class ActiveModel::Errors # end # end # - # pkg:gem/activemodel#lib/active_model/errors.rb:117 + # pkg:gem/activemodel#lib/active_model/errors.rb:114 def initialize(base); end # When passed a symbol or a name of a method, returns an array of errors @@ -2239,7 +2463,7 @@ class ActiveModel::Errors # person.errors[:name] # => ["cannot be nil"] # person.errors['name'] # => ["cannot be nil"] # - # pkg:gem/activemodel#lib/active_model/errors.rb:229 + # pkg:gem/activemodel#lib/active_model/errors.rb:227 def [](attribute); end # Adds a new error of +type+ on +attribute+. @@ -2266,7 +2490,7 @@ class ActiveModel::Errors # # person.errors.add(:name, :too_long, count: 25) # person.errors.messages - # # => ["is too long (maximum is 25 characters)"] + # # => {:name=>["is too long (maximum is 25 characters)"]} # # If +type+ is a proc, it will be called, allowing for things like # Time.now to be used within an error. @@ -2292,7 +2516,7 @@ class ActiveModel::Errors # person.errors.details # # => {:base=>[{error: :name_or_email_blank}]} # - # pkg:gem/activemodel#lib/active_model/errors.rb:342 + # pkg:gem/activemodel#lib/active_model/errors.rb:340 def add(attribute, type = T.unsafe(nil), **options); end # Returns +true+ if an error matches provided +attribute+ and +type+, @@ -2312,7 +2536,7 @@ class ActiveModel::Errors # person.errors.added? :name, :too_long # => false # person.errors.added? :name, "is too long" # => false # - # pkg:gem/activemodel#lib/active_model/errors.rb:372 + # pkg:gem/activemodel#lib/active_model/errors.rb:370 def added?(attribute, type = T.unsafe(nil), options = T.unsafe(nil)); end # Returns a Hash that can be used as the JSON representation for this @@ -2322,7 +2546,7 @@ class ActiveModel::Errors # person.errors.as_json # => {:name=>["cannot be nil"]} # person.errors.as_json(full_messages: true) # => {:name=>["name cannot be nil"]} # - # pkg:gem/activemodel#lib/active_model/errors.rb:247 + # pkg:gem/activemodel#lib/active_model/errors.rb:245 def as_json(options = T.unsafe(nil)); end # Returns all error attribute names @@ -2330,11 +2554,11 @@ class ActiveModel::Errors # person.errors.messages # => {:name=>["cannot be nil", "must be specified"]} # person.errors.attribute_names # => [:name] # - # pkg:gem/activemodel#lib/active_model/errors.rb:237 + # pkg:gem/activemodel#lib/active_model/errors.rb:235 def attribute_names; end - # pkg:gem/activemodel#lib/active_model/errors.rb:103 - def clear(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/errors.rb:100 + def clear(*, **, &); end # Copies the errors from other. # For copying errors but keep @base as is. @@ -2347,7 +2571,7 @@ class ActiveModel::Errors # # person.errors.copy!(other) # - # pkg:gem/activemodel#lib/active_model/errors.rb:138 + # pkg:gem/activemodel#lib/active_model/errors.rb:135 def copy!(other); end # Delete messages for +key+. Returns the deleted messages. @@ -2356,31 +2580,31 @@ class ActiveModel::Errors # person.errors.delete(:name) # => ["cannot be nil"] # person.errors[:name] # => [] # - # pkg:gem/activemodel#lib/active_model/errors.rb:215 + # pkg:gem/activemodel#lib/active_model/errors.rb:213 def delete(attribute, type = T.unsafe(nil), **options); end # Returns a Hash of attributes with an array of their error details. # - # pkg:gem/activemodel#lib/active_model/errors.rb:276 + # pkg:gem/activemodel#lib/active_model/errors.rb:274 def details; end - # pkg:gem/activemodel#lib/active_model/errors.rb:103 - def each(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/errors.rb:100 + def each(*, **, &); end - # pkg:gem/activemodel#lib/active_model/errors.rb:103 - def empty?(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/errors.rb:100 + def empty?(*, **, &); end # The actual array of +Error+ objects # This method is aliased to objects. # - # pkg:gem/activemodel#lib/active_model/errors.rb:107 + # pkg:gem/activemodel#lib/active_model/errors.rb:104 def errors; end # Returns a full message for a given attribute. # # person.errors.full_message(:name, 'is invalid') # => "Name is invalid" # - # pkg:gem/activemodel#lib/active_model/errors.rb:451 + # pkg:gem/activemodel#lib/active_model/errors.rb:449 def full_message(attribute, message); end # Returns all the full error messages in an array. @@ -2394,7 +2618,7 @@ class ActiveModel::Errors # person.errors.full_messages # # => ["Name is too short (minimum is 5 characters)", "Name can't be blank", "Email can't be blank"] # - # pkg:gem/activemodel#lib/active_model/errors.rb:415 + # pkg:gem/activemodel#lib/active_model/errors.rb:413 def full_messages; end # Returns all the full error messages for a given attribute in an array. @@ -2408,7 +2632,7 @@ class ActiveModel::Errors # person.errors.full_messages_for(:name) # # => ["Name is too short (minimum is 5 characters)", "Name can't be blank"] # - # pkg:gem/activemodel#lib/active_model/errors.rb:430 + # pkg:gem/activemodel#lib/active_model/errors.rb:428 def full_messages_for(attribute); end # Translates an error message in its default scope @@ -2436,7 +2660,7 @@ class ActiveModel::Errors # * errors.attributes.title.blank # * errors.messages.blank # - # pkg:gem/activemodel#lib/active_model/errors.rb:479 + # pkg:gem/activemodel#lib/active_model/errors.rb:477 def generate_message(attribute, type = T.unsafe(nil), options = T.unsafe(nil)); end # Returns a Hash of attributes with an array of their Error objects. @@ -2444,10 +2668,10 @@ class ActiveModel::Errors # person.errors.group_by_attribute # # => {:name=>[<#ActiveModel::Error>, <#ActiveModel::Error>]} # - # pkg:gem/activemodel#lib/active_model/errors.rb:289 + # pkg:gem/activemodel#lib/active_model/errors.rb:287 def group_by_attribute; end - # pkg:gem/activemodel#lib/active_model/errors.rb:207 + # pkg:gem/activemodel#lib/active_model/errors.rb:205 def has_key?(attribute); end # Imports one error. @@ -2460,7 +2684,7 @@ class ActiveModel::Errors # * +:attribute+ - Override the attribute the error belongs to. # * +:type+ - Override type of the error. # - # pkg:gem/activemodel#lib/active_model/errors.rb:154 + # pkg:gem/activemodel#lib/active_model/errors.rb:151 def import(error, override_options = T.unsafe(nil)); end # Returns +true+ if the error messages include an error for the given key @@ -2470,13 +2694,13 @@ class ActiveModel::Errors # person.errors.include?(:name) # => true # person.errors.include?(:age) # => false # - # pkg:gem/activemodel#lib/active_model/errors.rb:202 + # pkg:gem/activemodel#lib/active_model/errors.rb:200 def include?(attribute); end - # pkg:gem/activemodel#lib/active_model/errors.rb:483 + # pkg:gem/activemodel#lib/active_model/errors.rb:481 def inspect; end - # pkg:gem/activemodel#lib/active_model/errors.rb:208 + # pkg:gem/activemodel#lib/active_model/errors.rb:206 def key?(attribute); end # Merges the errors from other, @@ -2490,12 +2714,12 @@ class ActiveModel::Errors # # person.errors.merge!(other) # - # pkg:gem/activemodel#lib/active_model/errors.rb:174 + # pkg:gem/activemodel#lib/active_model/errors.rb:172 def merge!(other); end # Returns a Hash of attributes with an array of their error messages. # - # pkg:gem/activemodel#lib/active_model/errors.rb:268 + # pkg:gem/activemodel#lib/active_model/errors.rb:266 def messages; end # Returns all the error messages for a given attribute in an array. @@ -2509,10 +2733,10 @@ class ActiveModel::Errors # person.errors.messages_for(:name) # # => ["is too short (minimum is 5 characters)", "can't be blank"] # - # pkg:gem/activemodel#lib/active_model/errors.rb:444 + # pkg:gem/activemodel#lib/active_model/errors.rb:442 def messages_for(attribute); end - # pkg:gem/activemodel#lib/active_model/errors.rb:108 + # pkg:gem/activemodel#lib/active_model/errors.rb:105 def objects; end # Returns +true+ if an error on the attribute with the given type is @@ -2527,13 +2751,13 @@ class ActiveModel::Errors # person.errors.of_kind? :name, :not_too_long # => false # person.errors.of_kind? :name, "is too long" # => false # - # pkg:gem/activemodel#lib/active_model/errors.rb:395 + # pkg:gem/activemodel#lib/active_model/errors.rb:393 def of_kind?(attribute, type = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/errors.rb:103 - def size(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/errors.rb:100 + def size(*, **, &); end - # pkg:gem/activemodel#lib/active_model/errors.rb:418 + # pkg:gem/activemodel#lib/active_model/errors.rb:416 def to_a; end # Returns a Hash of attributes with their error messages. If +full_messages+ @@ -2542,11 +2766,11 @@ class ActiveModel::Errors # person.errors.to_hash # => {:name=>["cannot be nil"]} # person.errors.to_hash(true) # => {:name=>["name cannot be nil"]} # - # pkg:gem/activemodel#lib/active_model/errors.rb:256 + # pkg:gem/activemodel#lib/active_model/errors.rb:254 def to_hash(full_messages = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/errors.rb:103 - def uniq!(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/errors.rb:100 + def uniq!(*, **, &); end # Search for errors matching +attribute+, +type+, or +options+. # @@ -2556,19 +2780,19 @@ class ActiveModel::Errors # person.errors.where(:name, :too_short) # => all name errors being too short # person.errors.where(:name, :too_short, minimum: 2) # => all name errors being too short and minimum is 2 # - # pkg:gem/activemodel#lib/active_model/errors.rb:189 + # pkg:gem/activemodel#lib/active_model/errors.rb:187 def where(attribute, type = T.unsafe(nil), **options); end private - # pkg:gem/activemodel#lib/active_model/errors.rb:122 + # pkg:gem/activemodel#lib/active_model/errors.rb:119 def initialize_dup(other); end - # pkg:gem/activemodel#lib/active_model/errors.rb:490 + # pkg:gem/activemodel#lib/active_model/errors.rb:488 def normalize_arguments(attribute, type, **options); end end -# pkg:gem/activemodel#lib/active_model/errors.rb:265 +# pkg:gem/activemodel#lib/active_model/errors.rb:263 ActiveModel::Errors::EMPTY_ARRAY = T.let(T.unsafe(nil), Array) # = Active \Model \ForbiddenAttributesError @@ -2844,10 +3068,13 @@ module ActiveModel::Lint::Tests private - # pkg:gem/activemodel#lib/active_model/lint.rb:113 + # pkg:gem/activemodel#lib/active_model/lint.rb:117 def assert_boolean(result, name); end # pkg:gem/activemodel#lib/active_model/lint.rb:108 + def def_method(receiver, name, &block); end + + # pkg:gem/activemodel#lib/active_model/lint.rb:112 def model; end end @@ -2942,7 +3169,7 @@ module ActiveModel::Model end end -# pkg:gem/activemodel#lib/active_model/naming.rb:9 +# pkg:gem/activemodel#lib/active_model/naming.rb:8 class ActiveModel::Name include ::Comparable @@ -2959,43 +3186,43 @@ class ActiveModel::Name # ActiveModel::Name.new(Foo::Bar).to_s # # => "Foo::Bar" # - # pkg:gem/activemodel#lib/active_model/naming.rb:166 + # pkg:gem/activemodel#lib/active_model/naming.rb:165 def initialize(klass, namespace = T.unsafe(nil), name = T.unsafe(nil), locale = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def !~(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def <=>(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def ==(arg); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def ===(arg); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def =~(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def as_json(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:16 + # pkg:gem/activemodel#lib/active_model/naming.rb:15 def cache_key; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def collection; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def collection=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def element; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def element=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def eql?(*, **, &); end # Transform the model name into a more human format, using I18n. By default, @@ -3009,76 +3236,76 @@ class ActiveModel::Name # # Specify +options+ with additional translating options. # - # pkg:gem/activemodel#lib/active_model/naming.rb:197 + # pkg:gem/activemodel#lib/active_model/naming.rb:196 def human(options = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def i18n_key; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def i18n_key=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def match?(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def name; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def name=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def param_key; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def param_key=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def plural; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def plural=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def route_key; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def route_key=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def singular; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def singular=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def singular_route_key; end - # pkg:gem/activemodel#lib/active_model/naming.rb:12 + # pkg:gem/activemodel#lib/active_model/naming.rb:11 def singular_route_key=(_arg0); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def to_s(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:151 + # pkg:gem/activemodel#lib/active_model/naming.rb:150 def to_str(*, **, &); end - # pkg:gem/activemodel#lib/active_model/naming.rb:209 + # pkg:gem/activemodel#lib/active_model/naming.rb:208 def uncountable?; end private - # pkg:gem/activemodel#lib/active_model/naming.rb:216 + # pkg:gem/activemodel#lib/active_model/naming.rb:215 def _singularize(string); end - # pkg:gem/activemodel#lib/active_model/naming.rb:220 + # pkg:gem/activemodel#lib/active_model/naming.rb:219 def i18n_keys; end - # pkg:gem/activemodel#lib/active_model/naming.rb:228 + # pkg:gem/activemodel#lib/active_model/naming.rb:227 def i18n_scope; end end -# pkg:gem/activemodel#lib/active_model/naming.rb:214 +# pkg:gem/activemodel#lib/active_model/naming.rb:213 ActiveModel::Name::MISSING_TRANSLATION = T.let(T.unsafe(nil), Integer) # = Active \Model \Naming @@ -3101,7 +3328,7 @@ ActiveModel::Name::MISSING_TRANSLATION = T.let(T.unsafe(nil), Integer) # is required to pass the \Active \Model Lint test. So either extending the # provided method below, or rolling your own is required. # -# pkg:gem/activemodel#lib/active_model/naming.rb:252 +# pkg:gem/activemodel#lib/active_model/naming.rb:251 module ActiveModel::Naming # Returns an ActiveModel::Name object for module. It can be # used to retrieve all kinds of naming-related information @@ -3116,16 +3343,16 @@ module ActiveModel::Naming # Person.model_name.singular # => "person" # Person.model_name.plural # => "people" # - # pkg:gem/activemodel#lib/active_model/naming.rb:270 + # pkg:gem/activemodel#lib/active_model/naming.rb:269 def model_name; end private - # pkg:gem/activemodel#lib/active_model/naming.rb:352 + # pkg:gem/activemodel#lib/active_model/naming.rb:351 def inherited(base); end class << self - # pkg:gem/activemodel#lib/active_model/naming.rb:253 + # pkg:gem/activemodel#lib/active_model/naming.rb:252 def extended(base); end # Returns string to use for params names. It differs for @@ -3137,7 +3364,7 @@ module ActiveModel::Naming # # For shared engine: # ActiveModel::Naming.param_key(Blog::Post) # => "blog_post" # - # pkg:gem/activemodel#lib/active_model/naming.rb:338 + # pkg:gem/activemodel#lib/active_model/naming.rb:337 def param_key(record_or_class); end # Returns the plural class name of a record or class. @@ -3145,7 +3372,7 @@ module ActiveModel::Naming # ActiveModel::Naming.plural(post) # => "posts" # ActiveModel::Naming.plural(Highrise::Person) # => "highrise_people" # - # pkg:gem/activemodel#lib/active_model/naming.rb:283 + # pkg:gem/activemodel#lib/active_model/naming.rb:282 def plural(record_or_class); end # Returns string to use while generating route names. It differs for @@ -3160,7 +3387,7 @@ module ActiveModel::Naming # The route key also considers if the noun is uncountable and, in # such cases, automatically appends _index. # - # pkg:gem/activemodel#lib/active_model/naming.rb:326 + # pkg:gem/activemodel#lib/active_model/naming.rb:325 def route_key(record_or_class); end # Returns the singular class name of a record or class. @@ -3168,7 +3395,7 @@ module ActiveModel::Naming # ActiveModel::Naming.singular(post) # => "post" # ActiveModel::Naming.singular(Highrise::Person) # => "highrise_person" # - # pkg:gem/activemodel#lib/active_model/naming.rb:291 + # pkg:gem/activemodel#lib/active_model/naming.rb:290 def singular(record_or_class); end # Returns string to use while generating route names. It differs for @@ -3180,7 +3407,7 @@ module ActiveModel::Naming # # For shared engine: # ActiveModel::Naming.singular_route_key(Blog::Post) # => "blog_post" # - # pkg:gem/activemodel#lib/active_model/naming.rb:311 + # pkg:gem/activemodel#lib/active_model/naming.rb:310 def singular_route_key(record_or_class); end # Identifies whether the class name of a record or class is uncountable. @@ -3188,28 +3415,26 @@ module ActiveModel::Naming # ActiveModel::Naming.uncountable?(Sheep) # => true # ActiveModel::Naming.uncountable?(Post) # => false # - # pkg:gem/activemodel#lib/active_model/naming.rb:299 + # pkg:gem/activemodel#lib/active_model/naming.rb:298 def uncountable?(record_or_class); end private - # pkg:gem/activemodel#lib/active_model/naming.rb:342 + # pkg:gem/activemodel#lib/active_model/naming.rb:341 def model_name_from_record_or_class(record_or_class); end end end -# pkg:gem/activemodel#lib/active_model/nested_error.rb:7 +# pkg:gem/activemodel#lib/active_model/nested_error.rb:6 class ActiveModel::NestedError < ::ActiveModel::Error - extend ::Forwardable - - # pkg:gem/activemodel#lib/active_model/nested_error.rb:8 + # pkg:gem/activemodel#lib/active_model/nested_error.rb:7 def initialize(base, inner_error, override_options = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/nested_error.rb:17 + # pkg:gem/activemodel#lib/active_model/nested_error.rb:16 def inner_error; end - # pkg:gem/activemodel#lib/active_model/nested_error.rb:20 - def message(*args, **, &block); end + # pkg:gem/activemodel#lib/active_model/nested_error.rb:18 + def message(*, **, &); end end # pkg:gem/activemodel#lib/active_model/attribute_mutation_tracker.rb:156 @@ -3260,25 +3485,25 @@ class ActiveModel::Railtie < ::Rails::Railtie; end # # Raised when attribute values are out of range. # -# pkg:gem/activemodel#lib/active_model/errors.rb:523 +# pkg:gem/activemodel#lib/active_model/errors.rb:521 class ActiveModel::RangeError < ::RangeError; end -# pkg:gem/activemodel#lib/active_model/secure_password.rb:4 +# pkg:gem/activemodel#lib/active_model/secure_password.rb:6 module ActiveModel::SecurePassword extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveModel::SecurePassword::ClassMethods class << self - # pkg:gem/activemodel#lib/active_model/secure_password.rb:13 + # pkg:gem/activemodel#lib/active_model/secure_password.rb:17 def min_cost; end - # pkg:gem/activemodel#lib/active_model/secure_password.rb:13 + # pkg:gem/activemodel#lib/active_model/secure_password.rb:17 def min_cost=(_arg0); end end end -# pkg:gem/activemodel#lib/active_model/secure_password.rb:17 +# pkg:gem/activemodel#lib/active_model/secure_password.rb:21 module ActiveModel::SecurePassword::ClassMethods # Adds methods to set and authenticate against a BCrypt password. # This mechanism requires you to have a +XXX_digest+ attribute, @@ -3304,10 +3529,15 @@ module ActiveModel::SecurePassword::ClassMethods # validations: false as an argument. This allows complete # customizability of validation behavior. # - # Finally, a password reset token that's valid for 15 minutes after issue - # is automatically configured when +reset_token+ is set to true (which it is by default) + # A password reset token (valid for 15 minutes by default) is automatically + # configured when +reset_token+ is set to true (which it is by default) # and the object responds to +generates_token_for+ (which Active Records do). # + # Finally, the reset token expiry can be customized by passing a hash to + # +has_secure_password+: + # + # has_secure_password reset_token: { expires_in: 1.hour } + # # To use +has_secure_password+, add bcrypt (~> 3.1.7) to your Gemfile: # # gem "bcrypt", "~> 3.1.7" @@ -3379,13 +3609,16 @@ module ActiveModel::SecurePassword::ClassMethods # # raises ActiveSupport::MessageVerifier::InvalidSignature since the token is expired # User.find_by_password_reset_token!(token) # - # pkg:gem/activemodel#lib/active_model/secure_password.rb:116 + # pkg:gem/activemodel#lib/active_model/secure_password.rb:125 def has_secure_password(attribute = T.unsafe(nil), validations: T.unsafe(nil), reset_token: T.unsafe(nil)); end end -# pkg:gem/activemodel#lib/active_model/secure_password.rb:182 +# pkg:gem/activemodel#lib/active_model/secure_password.rb:14 +ActiveModel::SecurePassword::DEFAULT_RESET_TOKEN_EXPIRES_IN = T.let(T.unsafe(nil), ActiveSupport::Duration) + +# pkg:gem/activemodel#lib/active_model/secure_password.rb:196 class ActiveModel::SecurePassword::InstanceMethodsOnActivation < ::Module - # pkg:gem/activemodel#lib/active_model/secure_password.rb:183 + # pkg:gem/activemodel#lib/active_model/secure_password.rb:197 def initialize(attribute, reset_token:); end end @@ -3393,7 +3626,7 @@ end # password of length more than 72 bytes it ignores extra characters. # Hence need to put a restriction on password length. # -# pkg:gem/activemodel#lib/active_model/secure_password.rb:10 +# pkg:gem/activemodel#lib/active_model/secure_password.rb:12 ActiveModel::SecurePassword::MAX_PASSWORD_LENGTH_ALLOWED = T.let(T.unsafe(nil), Integer) # = Active \Model \Serialization @@ -3480,7 +3713,7 @@ module ActiveModel::Serialization # end # # pkg:gem/activemodel#lib/active_model/serialization.rb:167 - def read_attribute_for_serialization(*_arg0); end + def read_attribute_for_serialization(key); end # Returns a serialized hash of your object. # @@ -3543,7 +3776,7 @@ module ActiveModel::Serialization private - # pkg:gem/activemodel#lib/active_model/serialization.rb:170 + # pkg:gem/activemodel#lib/active_model/serialization.rb:172 def attribute_names_for_serialization; end # Add associations specified via the :include option. @@ -3553,14 +3786,14 @@ module ActiveModel::Serialization # +records+ - the association record(s) to be serialized # +opts+ - options for the association records # - # pkg:gem/activemodel#lib/active_model/serialization.rb:184 + # pkg:gem/activemodel#lib/active_model/serialization.rb:186 def serializable_add_includes(options = T.unsafe(nil)); end - # pkg:gem/activemodel#lib/active_model/serialization.rb:174 + # pkg:gem/activemodel#lib/active_model/serialization.rb:176 def serializable_attributes(attribute_names); end end -# pkg:gem/activemodel#lib/active_model.rb:68 +# pkg:gem/activemodel#lib/active_model.rb:74 module ActiveModel::Serializers extend ::ActiveSupport::Autoload end @@ -3587,7 +3820,7 @@ module ActiveModel::Serializers::JSON # user = User.find(1) # user.as_json # # => { "id" => 1, "name" => "Konata Izumi", "age" => 16, - # # "created_at" => "2006-08-01T17:27:133.000Z", "awesome" => true} + # # "created_at" => "2006-08-01T17:27:13.000Z", "awesome" => true} # # ActiveRecord::Base.include_root_in_json = true # @@ -3726,7 +3959,7 @@ end # person.valid? # # => ActiveModel::StrictValidationFailed: Name can't be blank # -# pkg:gem/activemodel#lib/active_model/errors.rb:517 +# pkg:gem/activemodel#lib/active_model/errors.rb:515 class ActiveModel::StrictValidationFailed < ::StandardError; end # = Active \Model \Translation @@ -3831,12 +4064,18 @@ end # # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:25 class ActiveModel::Type::BigInteger < ::ActiveModel::Type::Integer + # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:47 + def serializable?(value, &); end + # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:26 + def serialize(value); end + + # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:43 def serialize_cast_value(value); end private - # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:31 + # pkg:gem/activemodel#lib/active_model/type/big_integer.rb:52 def max_value; end end @@ -3895,22 +4134,24 @@ end # # pkg:gem/activemodel#lib/active_model/type/boolean.rb:14 class ActiveModel::Type::Boolean < ::ActiveModel::Type::Value - # pkg:gem/activemodel#lib/active_model/type/boolean.rb:30 + include ::ActiveModel::Type::Helpers::Immutable + + # pkg:gem/activemodel#lib/active_model/type/boolean.rb:31 def serialize(value); end - # pkg:gem/activemodel#lib/active_model/type/boolean.rb:34 + # pkg:gem/activemodel#lib/active_model/type/boolean.rb:35 def serialize_cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/boolean.rb:26 + # pkg:gem/activemodel#lib/active_model/type/boolean.rb:27 def type; end private - # pkg:gem/activemodel#lib/active_model/type/boolean.rb:39 + # pkg:gem/activemodel#lib/active_model/type/boolean.rb:40 def cast_value(value); end end -# pkg:gem/activemodel#lib/active_model/type/boolean.rb:15 +# pkg:gem/activemodel#lib/active_model/type/boolean.rb:16 ActiveModel::Type::Boolean::FALSE_VALUES = T.let(T.unsafe(nil), Set) # = Active Model \Date \Type @@ -3937,34 +4178,35 @@ ActiveModel::Type::Boolean::FALSE_VALUES = T.let(T.unsafe(nil), Set) # # pkg:gem/activemodel#lib/active_model/type/date.rb:26 class ActiveModel::Type::Date < ::ActiveModel::Type::Value + include ::ActiveModel::Type::Helpers::Immutable include ::ActiveModel::Type::Helpers::Timezone include ::ActiveModel::Type::Helpers::AcceptsMultiparameterTime::InstanceMethods - # pkg:gem/activemodel#lib/active_model/type/date.rb:30 + # pkg:gem/activemodel#lib/active_model/type/date.rb:31 def type; end - # pkg:gem/activemodel#lib/active_model/type/date.rb:34 + # pkg:gem/activemodel#lib/active_model/type/date.rb:35 def type_cast_for_schema(value); end private - # pkg:gem/activemodel#lib/active_model/type/date.rb:39 + # pkg:gem/activemodel#lib/active_model/type/date.rb:40 def cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/date.rb:57 + # pkg:gem/activemodel#lib/active_model/type/date.rb:58 def fallback_string_to_date(string); end - # pkg:gem/activemodel#lib/active_model/type/date.rb:51 + # pkg:gem/activemodel#lib/active_model/type/date.rb:52 def fast_string_to_date(string); end - # pkg:gem/activemodel#lib/active_model/type/date.rb:66 + # pkg:gem/activemodel#lib/active_model/type/date.rb:67 def new_date(year, mon, mday); end - # pkg:gem/activemodel#lib/active_model/type/date.rb:72 + # pkg:gem/activemodel#lib/active_model/type/date.rb:73 def value_from_multiparameter_assignment(*); end end -# pkg:gem/activemodel#lib/active_model/type/date.rb:50 +# pkg:gem/activemodel#lib/active_model/type/date.rb:51 ActiveModel::Type::Date::ISO_DATE = T.let(T.unsafe(nil), Regexp) # = Active Model \DateTime \Type @@ -3990,11 +4232,8 @@ ActiveModel::Type::Date::ISO_DATE = T.let(T.unsafe(nil), Regexp) # event.start.sec # => 0 # event.start.zone # => "EAT" # -# String values are parsed using the ISO 8601 datetime format. Partial -# time-only formats are also accepted. -# -# event.start = "06:07:08+09:00" -# event.start.utc # => 1999-12-31 21:07:08 UTC +# String values are parsed using the ISO 8601 datetime format. Use the +# +:time+ type instead to parse partial time-only values. # # The degree of sub-second precision can be customized when declaring an # attribute: @@ -4005,30 +4244,33 @@ ActiveModel::Type::Date::ISO_DATE = T.let(T.unsafe(nil), Regexp) # attribute :start, :datetime, precision: 4 # end # -# pkg:gem/activemodel#lib/active_model/type/date_time.rb:42 +# pkg:gem/activemodel#lib/active_model/type/date_time.rb:39 class ActiveModel::Type::DateTime < ::ActiveModel::Type::Value include ::ActiveModel::Type::Helpers::Timezone include ::ActiveModel::Type::Helpers::AcceptsMultiparameterTime::InstanceMethods include ::ActiveModel::Type::Helpers::TimeValue - # pkg:gem/activemodel#lib/active_model/type/date_time.rb:49 + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:50 + def mutable?; end + + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:46 def type; end private - # pkg:gem/activemodel#lib/active_model/type/date_time.rb:54 + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:59 def cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/date_time.rb:67 + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:72 def fallback_string_to_time(string); end # '0.123456' -> 123456 # '1.123456' -> 123456 # - # pkg:gem/activemodel#lib/active_model/type/date_time.rb:63 + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:68 def microseconds(time); end - # pkg:gem/activemodel#lib/active_model/type/date_time.rb:79 + # pkg:gem/activemodel#lib/active_model/type/date_time.rb:84 def value_from_multiparameter_assignment(values_hash); end end @@ -4060,7 +4302,7 @@ end # bag.weight # => nil # # bag.weight = :arbitrary -# bag.weight # => nil (the result of `.to_s.to_d`) +# bag.weight # => 0.0 (the result of `.to_s.to_d`) # # Decimal precision defaults to 18, and can be customized when declaring an # attribute: @@ -4073,30 +4315,31 @@ end # # pkg:gem/activemodel#lib/active_model/type/decimal.rb:45 class ActiveModel::Type::Decimal < ::ActiveModel::Type::Value + include ::ActiveModel::Type::Helpers::Immutable include ::ActiveModel::Type::Helpers::Numeric - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:49 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:50 def type; end - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:53 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:54 def type_cast_for_schema(value); end private - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:98 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:99 def apply_scale(value); end - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:58 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:59 def cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:82 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:83 def convert_float_to_big_decimal(value); end - # pkg:gem/activemodel#lib/active_model/type/decimal.rb:90 + # pkg:gem/activemodel#lib/active_model/type/decimal.rb:91 def float_precision; end end -# pkg:gem/activemodel#lib/active_model/type/decimal.rb:47 +# pkg:gem/activemodel#lib/active_model/type/decimal.rb:48 ActiveModel::Type::Decimal::BIGDECIMAL_PRECISION = T.let(T.unsafe(nil), Integer) # = Active Model \Float \Type @@ -4131,17 +4374,18 @@ ActiveModel::Type::Decimal::BIGDECIMAL_PRECISION = T.let(T.unsafe(nil), Integer) # # pkg:gem/activemodel#lib/active_model/type/float.rb:36 class ActiveModel::Type::Float < ::ActiveModel::Type::Value + include ::ActiveModel::Type::Helpers::Immutable include ::ActiveModel::Type::Helpers::Numeric - # pkg:gem/activemodel#lib/active_model/type/float.rb:39 + # pkg:gem/activemodel#lib/active_model/type/float.rb:40 def type; end - # pkg:gem/activemodel#lib/active_model/type/float.rb:43 + # pkg:gem/activemodel#lib/active_model/type/float.rb:44 def type_cast_for_schema(value); end private - # pkg:gem/activemodel#lib/active_model/type/float.rb:53 + # pkg:gem/activemodel#lib/active_model/type/float.rb:54 def cast_value(value); end end @@ -4172,6 +4416,12 @@ module ActiveModel::Type::Helpers::AcceptsMultiparameterTime::InstanceMethods def value_constructed_by_mass_assignment?(value); end end +# pkg:gem/activemodel#lib/active_model/type/helpers/immutable.rb:6 +module ActiveModel::Type::Helpers::Immutable + # pkg:gem/activemodel#lib/active_model/type/helpers/immutable.rb:7 + def mutable?; end +end + # pkg:gem/activemodel#lib/active_model/type/helpers/mutable.rb:6 module ActiveModel::Type::Helpers::Mutable # pkg:gem/activemodel#lib/active_model/type/helpers/mutable.rb:7 @@ -4292,21 +4542,23 @@ end # # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:37 class ActiveModel::Type::ImmutableString < ::ActiveModel::Type::Value - # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:38 + include ::ActiveModel::Type::Helpers::Immutable + + # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:40 def initialize(**args); end - # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:48 + # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:50 def serialize(value); end - # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:57 + # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:59 def serialize_cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:44 + # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:46 def type; end private - # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:62 + # pkg:gem/activemodel#lib/active_model/type/immutable_string.rb:64 def cast_value(value); end end @@ -4352,54 +4604,49 @@ end # # pkg:gem/activemodel#lib/active_model/type/integer.rb:44 class ActiveModel::Type::Integer < ::ActiveModel::Type::Value + include ::ActiveModel::Type::Helpers::Immutable include ::ActiveModel::Type::Helpers::Numeric - # pkg:gem/activemodel#lib/active_model/type/integer.rb:51 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:52 def initialize(**); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:60 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:62 def deserialize(value); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:74 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:96 def serializable?(value); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:65 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:67 def serialize(value); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:70 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:88 def serialize_cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:56 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:58 def type; end private - # pkg:gem/activemodel#lib/active_model/type/integer.rb:108 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:132 def _limit; end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:89 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:112 def cast_value(value); end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:93 - def ensure_in_range(value); end - - # pkg:gem/activemodel#lib/active_model/type/integer.rb:85 - def in_range?(value); end - - # pkg:gem/activemodel#lib/active_model/type/integer.rb:100 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:124 def max_value; end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:104 + # pkg:gem/activemodel#lib/active_model/type/integer.rb:128 def min_value; end - # pkg:gem/activemodel#lib/active_model/type/integer.rb:83 - def range; end + # pkg:gem/activemodel#lib/active_model/type/integer.rb:104 + def out_of_range?(value); end end # Column storage size in bytes. # 4 bytes means an integer as opposed to smallint etc. # -# pkg:gem/activemodel#lib/active_model/type/integer.rb:49 +# pkg:gem/activemodel#lib/active_model/type/integer.rb:50 ActiveModel::Type::Integer::DEFAULT_LIMIT = T.let(T.unsafe(nil), Integer) # pkg:gem/activemodel#lib/active_model/type/registry.rb:5 @@ -4471,11 +4718,14 @@ class ActiveModel::Type::String < ::ActiveModel::Type::ImmutableString def changed_in_place?(raw_old_value, new_value); end # pkg:gem/activemodel#lib/active_model/type/string.rb:22 + def mutable?; end + + # pkg:gem/activemodel#lib/active_model/type/string.rb:26 def to_immutable_string; end private - # pkg:gem/activemodel#lib/active_model/type/string.rb:33 + # pkg:gem/activemodel#lib/active_model/type/string.rb:37 def cast_value(value); end end @@ -4647,7 +4897,7 @@ class ActiveModel::Type::Value # parameter is some other object. # # pkg:gem/activemodel#lib/active_model/type/value.rb:28 - def serializable?(value, &_); end + def serializable?(value, &); end # Casts a value from the ruby type to a type that the database knows how # to understand. The returned value from this method should be a @@ -4698,15 +4948,15 @@ end # person.assign_attributes(name: 'Gorby') # # => ActiveModel::UnknownAttributeError: unknown attribute 'name' for Person. # -# pkg:gem/activemodel#lib/active_model/errors.rb:538 +# pkg:gem/activemodel#lib/active_model/errors.rb:536 class ActiveModel::UnknownAttributeError < ::NoMethodError - # pkg:gem/activemodel#lib/active_model/errors.rb:541 + # pkg:gem/activemodel#lib/active_model/errors.rb:539 def initialize(record, attribute); end - # pkg:gem/activemodel#lib/active_model/errors.rb:539 + # pkg:gem/activemodel#lib/active_model/errors.rb:537 def attribute; end - # pkg:gem/activemodel#lib/active_model/errors.rb:539 + # pkg:gem/activemodel#lib/active_model/errors.rb:537 def record; end end @@ -4728,12 +4978,12 @@ ActiveModel::VERSION::STRING = T.let(T.unsafe(nil), String) # pkg:gem/activemodel#lib/active_model/gem_version.rb:12 ActiveModel::VERSION::TINY = T.let(T.unsafe(nil), Integer) -# pkg:gem/activemodel#lib/active_model/validations.rb:505 +# pkg:gem/activemodel#lib/active_model/validations.rb:493 class ActiveModel::ValidationContext - # pkg:gem/activemodel#lib/active_model/validations.rb:506 + # pkg:gem/activemodel#lib/active_model/validations.rb:494 def context; end - # pkg:gem/activemodel#lib/active_model/validations.rb:506 + # pkg:gem/activemodel#lib/active_model/validations.rb:494 def context=(_arg0); end end @@ -4748,12 +4998,12 @@ end # puts invalid.model.errors # end # -# pkg:gem/activemodel#lib/active_model/validations.rb:495 +# pkg:gem/activemodel#lib/active_model/validations.rb:483 class ActiveModel::ValidationError < ::StandardError - # pkg:gem/activemodel#lib/active_model/validations.rb:498 + # pkg:gem/activemodel#lib/active_model/validations.rb:486 def initialize(model); end - # pkg:gem/activemodel#lib/active_model/validations.rb:496 + # pkg:gem/activemodel#lib/active_model/validations.rb:484 def model; end end @@ -4875,7 +5125,7 @@ module ActiveModel::Validations # end # # pkg:gem/activemodel#lib/active_model/validations.rb:439 - def read_attribute_for_validation(*_arg0); end + def read_attribute_for_validation(key); end # Runs all the specified validations and returns +true+ if no errors were # added otherwise +false+. @@ -4964,29 +5214,15 @@ module ActiveModel::Validations # Returns the context when running validations. # - # This is useful when running validations except a certain context (opposite to the +on+ option). - # - # class Person - # include ActiveModel::Validations - # - # attr_accessor :name - # validates :name, presence: true, if: -> { validation_context != :custom } - # end - # - # person = Person.new - # person.valid? #=> false - # person.valid?(:new) #=> false - # person.valid?(:custom) #=> true - # - # pkg:gem/activemodel#lib/active_model/validations.rb:456 + # pkg:gem/activemodel#lib/active_model/validations.rb:444 def validation_context; end private - # pkg:gem/activemodel#lib/active_model/validations.rb:465 + # pkg:gem/activemodel#lib/active_model/validations.rb:453 def context_for_validation; end - # pkg:gem/activemodel#lib/active_model/validations.rb:469 + # pkg:gem/activemodel#lib/active_model/validations.rb:457 def init_internals; end # Clean the +Errors+ object if instance is duped. @@ -4994,13 +5230,13 @@ module ActiveModel::Validations # pkg:gem/activemodel#lib/active_model/validations.rb:312 def initialize_dup(other); end - # pkg:gem/activemodel#lib/active_model/validations.rb:480 + # pkg:gem/activemodel#lib/active_model/validations.rb:468 def raise_validation_error; end - # pkg:gem/activemodel#lib/active_model/validations.rb:475 + # pkg:gem/activemodel#lib/active_model/validations.rb:463 def run_validations!; end - # pkg:gem/activemodel#lib/active_model/validations.rb:461 + # pkg:gem/activemodel#lib/active_model/validations.rb:449 def validation_context=(context); end module GeneratedClassMethods @@ -5099,7 +5335,7 @@ module ActiveModel::Validations::Callbacks # Override run_validations! to include callbacks. # - # pkg:gem/activemodel#lib/active_model/validations/callbacks.rb:114 + # pkg:gem/activemodel#lib/active_model/validations/callbacks.rb:124 def run_validations!; end module GeneratedClassMethods @@ -5289,7 +5525,7 @@ module ActiveModel::Validations::ClassMethods # on: [:create, :custom_validation_context]) # * :except_on - Specifies the contexts where this validation is not active. # Runs in all validation contexts by default +nil+. You can pass a symbol - # or an array of symbols. (e.g. except: :create or + # or an array of symbols. (e.g. except_on: :create or # except_on: :custom_validation_context or # except_on: [:create, :custom_validation_context]) # * :if - Specifies a method or proc to call to determine @@ -5382,7 +5618,7 @@ module ActiveModel::Validations::ClassMethods # on: [:create, :custom_validation_context]) # * :except_on - Specifies the contexts where this validation is not active. # Runs in all validation contexts by default +nil+. You can pass a symbol - # or an array of symbols. (e.g. except: :create or + # or an array of symbols. (e.g. except_on: :create or # except_on: :custom_validation_context or # except_on: [:create, :custom_validation_context]) # * :if - Specifies a method, proc or string to call to determine @@ -5457,7 +5693,7 @@ module ActiveModel::Validations::ClassMethods # on: [:create, :custom_validation_context]) # * :except_on - Specifies the contexts where this validation is not active. # Runs in all validation contexts by default +nil+. You can pass a symbol - # or an array of symbols. (e.g. except: :create or + # or an array of symbols. (e.g. except_on: :create or # except_on: :custom_validation_context or # except_on: [:create, :custom_validation_context]) # * :allow_nil - Skip validation if attribute is +nil+. diff --git a/sorbet/rbi/gems/activerecord@8.0.5.2.rbi b/sorbet/rbi/gems/activerecord@8.1.4.1.rbi similarity index 89% rename from sorbet/rbi/gems/activerecord@8.0.5.2.rbi rename to sorbet/rbi/gems/activerecord@8.1.4.1.rbi index 69641f31..fdaee3fa 100644 --- a/sorbet/rbi/gems/activerecord@8.0.5.2.rbi +++ b/sorbet/rbi/gems/activerecord@8.1.4.1.rbi @@ -32,10 +32,10 @@ module ActiveRecord extend ::ActiveSupport::Autoload class << self - # pkg:gem/activerecord#lib/active_record.rb:361 + # pkg:gem/activerecord#lib/active_record.rb:370 def action_on_strict_loading_violation; end - # pkg:gem/activerecord#lib/active_record.rb:361 + # pkg:gem/activerecord#lib/active_record.rb:370 def action_on_strict_loading_violation=(_arg0); end # Registers a block to be called after all the current transactions have been @@ -52,96 +52,108 @@ module ActiveRecord # if and once all of them have been committed. But note that nesting transactions across # two distinct databases is a sharding anti-pattern that comes with a world of hurts. # - # pkg:gem/activerecord#lib/active_record.rb:528 + # pkg:gem/activerecord#lib/active_record.rb:573 def after_all_transactions_commit(&block); end - # pkg:gem/activerecord#lib/active_record.rb:548 + # pkg:gem/activerecord#lib/active_record.rb:593 def all_open_transactions; end - # pkg:gem/activerecord#lib/active_record.rb:354 + # pkg:gem/activerecord#lib/active_record.rb:363 def application_record_class; end - # pkg:gem/activerecord#lib/active_record.rb:354 + # pkg:gem/activerecord#lib/active_record.rb:363 def application_record_class=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:283 + # pkg:gem/activerecord#lib/active_record.rb:288 def async_query_executor; end - # pkg:gem/activerecord#lib/active_record.rb:283 + # pkg:gem/activerecord#lib/active_record.rb:288 def async_query_executor=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:348 + # pkg:gem/activerecord#lib/active_record.rb:354 def before_committed_on_all_records; end - # pkg:gem/activerecord#lib/active_record.rb:348 + # pkg:gem/activerecord#lib/active_record.rb:354 def before_committed_on_all_records=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:345 + # pkg:gem/activerecord#lib/active_record.rb:351 def belongs_to_required_validates_foreign_key; end - # pkg:gem/activerecord#lib/active_record.rb:345 + # pkg:gem/activerecord#lib/active_record.rb:351 def belongs_to_required_validates_foreign_key=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:211 + # pkg:gem/activerecord#lib/active_record.rb:213 def database_cli; end - # pkg:gem/activerecord#lib/active_record.rb:211 + # pkg:gem/activerecord#lib/active_record.rb:213 def database_cli=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:233 + # pkg:gem/activerecord#lib/active_record.rb:235 def db_warnings_action; end - # pkg:gem/activerecord#lib/active_record.rb:235 + # pkg:gem/activerecord#lib/active_record.rb:237 def db_warnings_action=(action); end - # pkg:gem/activerecord#lib/active_record.rb:262 + # pkg:gem/activerecord#lib/active_record.rb:267 def db_warnings_ignore; end - # pkg:gem/activerecord#lib/active_record.rb:262 + # pkg:gem/activerecord#lib/active_record.rb:267 def db_warnings_ignore=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:214 + # pkg:gem/activerecord#lib/active_record.rb:216 def default_timezone; end # Determines whether to use Time.utc (using :utc) or Time.local (using :local) when pulling # dates and times from the database. This is set to :utc by default. # - # pkg:gem/activerecord#lib/active_record.rb:218 + # pkg:gem/activerecord#lib/active_record.rb:220 def default_timezone=(default_timezone); end + # pkg:gem/activerecord#lib/active_record.rb:611 + def default_transaction_isolation_level; end + + # pkg:gem/activerecord#lib/active_record.rb:607 + def default_transaction_isolation_level=(isolation_level); end + + # pkg:gem/activerecord#lib/active_record.rb:495 + def deprecated_associations_options; end + + # pkg:gem/activerecord#lib/active_record.rb:479 + def deprecated_associations_options=(options); end + # pkg:gem/activerecord#lib/active_record/deprecator.rb:4 def deprecator; end - # pkg:gem/activerecord#lib/active_record.rb:182 + # pkg:gem/activerecord#lib/active_record.rb:184 def disable_prepared_statements; end - # pkg:gem/activerecord#lib/active_record.rb:182 + # pkg:gem/activerecord#lib/active_record.rb:184 def disable_prepared_statements=(_arg0); end # Explicitly closes all database connections in all pools. # - # pkg:gem/activerecord#lib/active_record.rb:511 + # pkg:gem/activerecord#lib/active_record.rb:556 def disconnect_all!; end - # pkg:gem/activerecord#lib/active_record.rb:410 + # pkg:gem/activerecord#lib/active_record.rb:425 def dump_schema_after_migration; end - # pkg:gem/activerecord#lib/active_record.rb:410 + # pkg:gem/activerecord#lib/active_record.rb:425 def dump_schema_after_migration=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:420 + # pkg:gem/activerecord#lib/active_record.rb:435 def dump_schemas; end - # pkg:gem/activerecord#lib/active_record.rb:420 + # pkg:gem/activerecord#lib/active_record.rb:435 def dump_schemas=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:500 + # pkg:gem/activerecord#lib/active_record.rb:545 def eager_load!; end - # pkg:gem/activerecord#lib/active_record.rb:381 + # pkg:gem/activerecord#lib/active_record.rb:390 def error_on_ignored_order; end - # pkg:gem/activerecord#lib/active_record.rb:381 + # pkg:gem/activerecord#lib/active_record.rb:390 def error_on_ignored_order=(_arg0); end # Returns the currently loaded version of Active Record as a +Gem::Version+. @@ -149,102 +161,114 @@ module ActiveRecord # pkg:gem/activerecord#lib/active_record/gem_version.rb:5 def gem_version; end - # pkg:gem/activerecord#lib/active_record.rb:461 + # pkg:gem/activerecord#lib/active_record.rb:476 def generate_secure_token_on; end - # pkg:gem/activerecord#lib/active_record.rb:461 + # pkg:gem/activerecord#lib/active_record.rb:476 def generate_secure_token_on=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:306 + # pkg:gem/activerecord#lib/active_record.rb:312 def global_executor_concurrency; end # Set the +global_executor_concurrency+. This configuration value can only be used # with the global thread pool async query executor. # - # pkg:gem/activerecord#lib/active_record.rb:298 + # pkg:gem/activerecord#lib/active_record.rb:304 def global_executor_concurrency=(global_executor_concurrency); end - # pkg:gem/activerecord#lib/active_record.rb:286 + # pkg:gem/activerecord#lib/active_record.rb:291 def global_thread_pool_async_query_executor; end - # pkg:gem/activerecord#lib/active_record.rb:321 + # pkg:gem/activerecord#lib/active_record.rb:327 def index_nested_attribute_errors; end - # pkg:gem/activerecord#lib/active_record.rb:321 + # pkg:gem/activerecord#lib/active_record.rb:327 def index_nested_attribute_errors=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:189 + # pkg:gem/activerecord#lib/active_record.rb:191 def lazily_load_schema_cache; end - # pkg:gem/activerecord#lib/active_record.rb:189 + # pkg:gem/activerecord#lib/active_record.rb:191 def lazily_load_schema_cache=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:339 + # pkg:gem/activerecord#lib/active_record.rb:345 def maintain_test_schema; end - # pkg:gem/activerecord#lib/active_record.rb:339 + # pkg:gem/activerecord#lib/active_record.rb:345 def maintain_test_schema=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:464 + # pkg:gem/activerecord#lib/active_record.rb:502 def marshalling_format_version; end - # pkg:gem/activerecord#lib/active_record.rb:468 + # pkg:gem/activerecord#lib/active_record.rb:506 def marshalling_format_version=(value); end - # pkg:gem/activerecord#lib/active_record.rb:401 + # pkg:gem/activerecord#lib/active_record.rb:543 + def message_verifiers; end + + # pkg:gem/activerecord#lib/active_record.rb:543 + def message_verifiers=(_arg0); end + + # pkg:gem/activerecord#lib/active_record.rb:410 def migration_strategy; end - # pkg:gem/activerecord#lib/active_record.rb:401 + # pkg:gem/activerecord#lib/active_record.rb:410 def migration_strategy=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:311 + # pkg:gem/activerecord#lib/active_record.rb:317 def permanent_connection_checkout; end # Defines whether +ActiveRecord::Base.connection+ is allowed, deprecated, or entirely disallowed. # - # pkg:gem/activerecord#lib/active_record.rb:314 + # pkg:gem/activerecord#lib/active_record.rb:320 def permanent_connection_checkout=(value); end - # pkg:gem/activerecord#lib/active_record.rb:491 + # pkg:gem/activerecord#lib/active_record.rb:529 def protocol_adapters; end - # pkg:gem/activerecord#lib/active_record.rb:491 + # pkg:gem/activerecord#lib/active_record.rb:529 def protocol_adapters=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:432 + # pkg:gem/activerecord#lib/active_record.rb:447 def query_transformers; end - # pkg:gem/activerecord#lib/active_record.rb:432 + # pkg:gem/activerecord#lib/active_record.rb:447 def query_transformers=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:336 + # pkg:gem/activerecord#lib/active_record.rb:342 def queues; end - # pkg:gem/activerecord#lib/active_record.rb:336 + # pkg:gem/activerecord#lib/active_record.rb:342 def queues=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:447 + # pkg:gem/activerecord#lib/active_record.rb:462 def raise_int_wider_than_64bit; end - # pkg:gem/activerecord#lib/active_record.rb:447 + # pkg:gem/activerecord#lib/active_record.rb:462 def raise_int_wider_than_64bit=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:342 + # pkg:gem/activerecord#lib/active_record.rb:348 def raise_on_assign_to_attr_readonly; end - # pkg:gem/activerecord#lib/active_record.rb:342 + # pkg:gem/activerecord#lib/active_record.rb:348 def raise_on_assign_to_attr_readonly=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:268 + # pkg:gem/activerecord#lib/active_record.rb:360 + def raise_on_missing_required_finder_order_columns; end + + # pkg:gem/activerecord#lib/active_record.rb:360 + def raise_on_missing_required_finder_order_columns=(_arg0); end + + # pkg:gem/activerecord#lib/active_record.rb:273 def reading_role; end - # pkg:gem/activerecord#lib/active_record.rb:268 + # pkg:gem/activerecord#lib/active_record.rb:273 def reading_role=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:351 + # pkg:gem/activerecord#lib/active_record.rb:357 def run_after_transaction_callbacks_in_order_defined; end - # pkg:gem/activerecord#lib/active_record.rb:351 + # pkg:gem/activerecord#lib/active_record.rb:357 def run_after_transaction_callbacks_in_order_defined=(_arg0); end # Checks to see if the +table_name+ is ignored by checking @@ -252,49 +276,55 @@ module ActiveRecord # # ActiveRecord.schema_cache_ignored_table?(:developers) # - # pkg:gem/activerecord#lib/active_record.rb:205 + # pkg:gem/activerecord#lib/active_record.rb:207 def schema_cache_ignored_table?(table_name); end - # pkg:gem/activerecord#lib/active_record.rb:197 + # pkg:gem/activerecord#lib/active_record.rb:199 def schema_cache_ignored_tables; end - # pkg:gem/activerecord#lib/active_record.rb:197 + # pkg:gem/activerecord#lib/active_record.rb:199 def schema_cache_ignored_tables=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:373 + # pkg:gem/activerecord#lib/active_record.rb:382 def schema_format; end - # pkg:gem/activerecord#lib/active_record.rb:373 + # pkg:gem/activerecord#lib/active_record.rb:382 def schema_format=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:387 + # pkg:gem/activerecord#lib/active_record.rb:416 + def schema_versions_formatter; end + + # pkg:gem/activerecord#lib/active_record.rb:416 + def schema_versions_formatter=(_arg0); end + + # pkg:gem/activerecord#lib/active_record.rb:396 def timestamped_migrations; end - # pkg:gem/activerecord#lib/active_record.rb:387 + # pkg:gem/activerecord#lib/active_record.rb:396 def timestamped_migrations=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:439 + # pkg:gem/activerecord#lib/active_record.rb:454 def use_yaml_unsafe_load; end - # pkg:gem/activerecord#lib/active_record.rb:439 + # pkg:gem/activerecord#lib/active_record.rb:454 def use_yaml_unsafe_load=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:395 + # pkg:gem/activerecord#lib/active_record.rb:404 def validate_migration_timestamps; end - # pkg:gem/activerecord#lib/active_record.rb:395 + # pkg:gem/activerecord#lib/active_record.rb:404 def validate_migration_timestamps=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:329 + # pkg:gem/activerecord#lib/active_record.rb:335 def verbose_query_logs; end - # pkg:gem/activerecord#lib/active_record.rb:329 + # pkg:gem/activerecord#lib/active_record.rb:335 def verbose_query_logs=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:429 + # pkg:gem/activerecord#lib/active_record.rb:444 def verify_foreign_keys_for_fixtures; end - # pkg:gem/activerecord#lib/active_record.rb:429 + # pkg:gem/activerecord#lib/active_record.rb:444 def verify_foreign_keys_for_fixtures=(_arg0); end # Returns the currently loaded version of Active Record as a +Gem::Version+. @@ -302,16 +332,21 @@ module ActiveRecord # pkg:gem/activerecord#lib/active_record/version.rb:7 def version; end - # pkg:gem/activerecord#lib/active_record.rb:265 + # Sets a transaction isolation level for all connection pools within the block. + # + # pkg:gem/activerecord#lib/active_record.rb:616 + def with_transaction_isolation_level(isolation_level, &block); end + + # pkg:gem/activerecord#lib/active_record.rb:270 def writing_role; end - # pkg:gem/activerecord#lib/active_record.rb:265 + # pkg:gem/activerecord#lib/active_record.rb:270 def writing_role=(_arg0); end - # pkg:gem/activerecord#lib/active_record.rb:454 + # pkg:gem/activerecord#lib/active_record.rb:469 def yaml_column_permitted_classes; end - # pkg:gem/activerecord#lib/active_record.rb:454 + # pkg:gem/activerecord#lib/active_record.rb:469 def yaml_column_permitted_classes=(_arg0); end end end @@ -320,35 +355,35 @@ end # # Generic Active Record exception class. # -# pkg:gem/activerecord#lib/active_record/errors.rb:11 +# pkg:gem/activerecord#lib/active_record/errors.rb:10 class ActiveRecord::ActiveRecordError < ::StandardError; end # Superclass for all errors raised from an Active Record adapter. # -# pkg:gem/activerecord#lib/active_record/errors.rb:55 +# pkg:gem/activerecord#lib/active_record/errors.rb:54 class ActiveRecord::AdapterError < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:56 + # pkg:gem/activerecord#lib/active_record/errors.rb:55 def initialize(message = T.unsafe(nil), connection_pool: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:61 + # pkg:gem/activerecord#lib/active_record/errors.rb:60 def connection_pool; end end # Raised when Active Record cannot find database adapter specified in # +config/database.yml+ or programmatically. # -# pkg:gem/activerecord#lib/active_record/errors.rb:51 +# pkg:gem/activerecord#lib/active_record/errors.rb:50 class ActiveRecord::AdapterNotFound < ::ActiveRecord::ActiveRecordError; end # Raised when adapter not specified on connection (or configuration file # +config/database.yml+ misses adapter field). # -# pkg:gem/activerecord#lib/active_record/errors.rb:42 +# pkg:gem/activerecord#lib/active_record/errors.rb:41 class ActiveRecord::AdapterNotSpecified < ::ActiveRecord::ActiveRecordError; end # AdapterTimeout will be raised when database clients times out while waiting from the server. # -# pkg:gem/activerecord#lib/active_record/errors.rb:577 +# pkg:gem/activerecord#lib/active_record/errors.rb:590 class ActiveRecord::AdapterTimeout < ::ActiveRecord::QueryAborted; end # See ActiveRecord::Aggregations::ClassMethods for documentation @@ -614,25 +649,25 @@ class ActiveRecord::AssociationRelation < ::ActiveRecord::Relation def ==(other); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def insert(attributes, **kwargs); end + def insert(*, **, &); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def insert!(attributes, **kwargs); end + def insert!(*, **, &); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def insert_all(attributes, **kwargs); end + def insert_all(*, **, &); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def insert_all!(attributes, **kwargs); end + def insert_all!(*, **, &); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:10 def proxy_association; end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def upsert(attributes, **kwargs); end + def upsert(*, **, &); end # pkg:gem/activerecord#lib/active_record/association_relation.rb:19 - def upsert_all(attributes, **kwargs); end + def upsert_all(*, **, &); end private @@ -662,7 +697,7 @@ end # # Comments are not patches, this assignment raises AssociationTypeMismatch. # @ticket.patches << Comment.new(content: "Please attach tests to your patch.") # -# pkg:gem/activerecord#lib/active_record/errors.rb:33 +# pkg:gem/activerecord#lib/active_record/errors.rb:32 class ActiveRecord::AssociationTypeMismatch < ::ActiveRecord::ActiveRecordError; end # See ActiveRecord::Associations::ClassMethods for documentation. @@ -676,32 +711,38 @@ module ActiveRecord::Associations # Returns the association instance for the given name, instantiating it if it doesn't already exist # - # pkg:gem/activerecord#lib/active_record/associations.rb:51 + # pkg:gem/activerecord#lib/active_record/associations.rb:53 def association(name); end - # pkg:gem/activerecord#lib/active_record/associations.rb:65 + # pkg:gem/activerecord#lib/active_record/associations.rb:67 def association_cached?(name); end private # Returns the specified association instance if it exists, +nil+ otherwise. # - # pkg:gem/activerecord#lib/active_record/associations.rb:81 + # pkg:gem/activerecord#lib/active_record/associations.rb:83 def association_instance_get(name); end # Set the specified association instance. # - # pkg:gem/activerecord#lib/active_record/associations.rb:86 + # pkg:gem/activerecord#lib/active_record/associations.rb:88 def association_instance_set(name, association); end - # pkg:gem/activerecord#lib/active_record/associations.rb:75 + # pkg:gem/activerecord#lib/active_record/associations.rb:92 + def deprecated_associations_api_guard(association, method_name); end + + # pkg:gem/activerecord#lib/active_record/associations.rb:77 def init_internals; end - # pkg:gem/activerecord#lib/active_record/associations.rb:69 + # pkg:gem/activerecord#lib/active_record/associations.rb:71 def initialize_dup(*); end + # pkg:gem/activerecord#lib/active_record/associations.rb:96 + def report_deprecated_association(reflection, context:); end + class << self - # pkg:gem/activerecord#lib/active_record/associations.rb:44 + # pkg:gem/activerecord#lib/active_record/associations.rb:46 def eager_load!; end end end @@ -777,10 +818,10 @@ class ActiveRecord::Associations::Association # pkg:gem/activerecord#lib/active_record/associations/association.rb:198 def async_load_target; end - # Whether the association represent a single record + # Whether the association represents a single record # or a collection of records. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:237 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:249 def collection?; end # pkg:gem/activerecord#lib/active_record/associations/association.rb:227 @@ -908,8 +949,17 @@ class ActiveRecord::Associations::Association # pkg:gem/activerecord#lib/active_record/associations/association.rb:102 def target=(target); end + # pkg:gem/activerecord#lib/active_record/associations/association.rb:235 + def violates_strict_loading?; end + private + # pkg:gem/activerecord#lib/active_record/associations/association.rb:430 + def active_record_primary_key_values(record); end + + # pkg:gem/activerecord#lib/active_record/associations/association.rb:434 + def association_primary_key_values(record); end + # The scope for this association. # # Note that the association_scope is merged into the target_scope only when the @@ -917,30 +967,30 @@ class ActiveRecord::Associations::Association # by scope.scoping { ... } or unscoped { ... } etc, which affects the scope which # actually gets built. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:300 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:302 def association_scope; end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:383 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:385 def build_record(attributes); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:398 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:400 def enqueue_destroy_association(options); end # Reader and writer methods call this so that consistent errors are presented # when the association target class does not exist. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:244 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:256 def ensure_klass_exists!; end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:248 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:260 def find_target(async: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:320 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:322 def find_target?; end # Returns true if record contains the foreign_key # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:370 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:372 def foreign_key_for?(record); end # Returns true if there is a foreign key present on the owner which @@ -952,47 +1002,56 @@ class ActiveRecord::Associations::Association # Currently implemented by belongs_to (vanilla and polymorphic) and # has_one/has_many :through associations which go through a belongs_to. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:332 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:334 def foreign_key_present?; end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:406 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:426 + def foreign_key_values(record); end + + # pkg:gem/activerecord#lib/active_record/associations/association.rb:408 def inversable?(record); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:350 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:352 def inverse_association_for(record); end # Can be redefined by subclasses, notably polymorphic belongs_to # The record parameter is necessary to support polymorphic inverses as we must check for # the association in the specific class of the record. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:359 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:361 def inverse_reflection_for(record); end # Returns true if inverse association on the given record needs to be set. # This method is redefined by subclasses. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:365 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:367 def invertible_for?(record); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:411 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:413 def matches_foreign_key?(record); end + # pkg:gem/activerecord#lib/active_record/associations/association.rb:422 + def owner_foreign_key_matches_record?(record); end + # Raises ActiveRecord::AssociationTypeMismatch unless +record+ is of # the kind of the class of the associated objects. Meant to be used as # a safety check when you are about to assign an associated record. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:339 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:341 def raise_on_type_mismatch!(record); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:316 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:418 + def record_foreign_key_matches_owner?(record); end + + # pkg:gem/activerecord#lib/active_record/associations/association.rb:318 def scope_for_create; end # Returns true if statement cache should be skipped on the association reader. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:391 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:393 def skip_statement_cache?(scope); end - # pkg:gem/activerecord#lib/active_record/associations/association.rb:276 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:288 def skip_strict_loading(&block); end # This should be implemented to return the values of the relevant key(s) on the owner, @@ -1001,17 +1060,14 @@ class ActiveRecord::Associations::Association # # This is only relevant to certain associations, which is why it returns +nil+ by default. # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:380 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:382 def stale_state; end # Can be overridden (i.e. in ThroughAssociation) to merge in other scopes (i.e. the # through association's scope) # - # pkg:gem/activerecord#lib/active_record/associations/association.rb:312 + # pkg:gem/activerecord#lib/active_record/associations/association.rb:314 def target_scope; end - - # pkg:gem/activerecord#lib/active_record/associations/association.rb:284 - def violates_strict_loading?; end end # pkg:gem/activerecord#lib/active_record/associations/association_scope.rb:5 @@ -1211,16 +1267,16 @@ class ActiveRecord::Associations::Builder::Association private - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:145 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:156 def add_after_commit_jobs_callback(model, dependent); end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:140 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:144 def add_destroy_callbacks(model, reflection); end # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:53 def build_scope(scope); end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:130 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:134 def check_dependent_options(dependent, model); end # Defines the setter and getter methods for the association @@ -1236,7 +1292,7 @@ class ActiveRecord::Associations::Builder::Association # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:77 def define_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:122 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:126 def define_change_tracking_methods(model, reflection); end # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:73 @@ -1245,16 +1301,16 @@ class ActiveRecord::Associations::Builder::Association # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:102 def define_readers(mixin, name); end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:118 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:122 def define_validations(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:110 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:112 def define_writers(mixin, name); end # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:61 def macro; end - # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:126 + # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:130 def valid_dependent_options; end # pkg:gem/activerecord#lib/active_record/associations/builder/association.rb:65 @@ -1271,36 +1327,36 @@ ActiveRecord::Associations::Builder::Association::VALID_OPTIONS = T.let(T.unsafe # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:4 class ActiveRecord::Associations::Builder::BelongsTo < ::ActiveRecord::Associations::Builder::SingularAssociation class << self - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:44 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:45 def touch_record(o, changes, foreign_key, name, touch); end private - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:27 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:28 def add_counter_cache_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:103 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:113 def add_default_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:109 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:119 def add_destroy_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:79 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:89 def add_touch_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:20 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:21 def define_callbacks(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:144 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:168 def define_change_tracking_methods(model, reflection); end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:113 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:131 def define_validations(model, reflection); end # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:5 def macro; end - # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:16 + # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:17 def valid_dependent_options; end # pkg:gem/activerecord#lib/active_record/associations/builder/belongs_to.rb:9 @@ -1327,7 +1383,7 @@ class ActiveRecord::Associations::Builder::CollectionAssociation < ::ActiveRecor # pkg:gem/activerecord#lib/active_record/associations/builder/collection_association.rb:58 def define_readers(mixin, name); end - # pkg:gem/activerecord#lib/active_record/associations/builder/collection_association.rb:68 + # pkg:gem/activerecord#lib/active_record/associations/builder/collection_association.rb:70 def define_writers(mixin, name); end # pkg:gem/activerecord#lib/active_record/associations/builder/collection_association.rb:9 @@ -1420,6 +1476,9 @@ end # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:6 class ActiveRecord::Associations::Builder::SingularAssociation < ::ActiveRecord::Associations::Builder::Association class << self + # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:56 + def define_callbacks(model, reflection); end + private # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:11 @@ -1427,7 +1486,7 @@ class ActiveRecord::Associations::Builder::SingularAssociation < ::ActiveRecord: # Defines the (build|create)_association methods for belongs_to or has_one association # - # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:30 + # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:34 def define_constructors(mixin, name); end # pkg:gem/activerecord#lib/active_record/associations/builder/singular_association.rb:7 @@ -2368,6 +2427,116 @@ end # associated records themselves, you can always do something along the lines of # person.tasks.each(&:destroy). # +# == Deprecated \Associations +# +# \Associations can be marked as deprecated by passing deprecated: true: +# +# has_many :posts, deprecated: true +# +# When a deprecated association is used, a warning is issued using the +# Active Record logger, though more options are available via +# configuration. +# +# The message includes some context that helps understand the deprecated +# usage: +# +# The association Author#posts is deprecated, the method post_ids was invoked (...) +# The association Author#posts is deprecated, referenced in query to preload records (...) +# +# The dots in the examples above would have the application-level spot +# where usage occurred, to help locate what triggered the warning. That +# location is computed using the Active Record backtrace cleaner. +# +# === What is considered to be usage? +# +# * Invocation of any association methods like +posts+, posts=, +# etc. +# +# * If the association accepts nested attributes, assignment to those +# attributes. +# +# * If the association is a through association and some of its nested +# associations are deprecated, you'll get warnings for them whenever the +# top-level through is used. This is so regardless of whether the +# through itself is deprecated. +# +# * Execution of queries that refer to the association. Think execution of +# eager_load(:posts), joins(author: :posts), etc. +# +# * If the association has a +:dependent+ option, destroying the +# associated record issues warnings (because that has a side-effect that +# would not happen if the association was removed). +# +# * If the association has a +:touch+ option, saving or destroying the +# record issues a warning (because that has a side-effect that would not +# happen if the association was removed). +# +# === Things that do NOT issue warnings +# +# The rationale behind most of the following edge cases is that Active +# Record accesses associations lazily, when used. Before that, the +# reference to the association is basically just a Ruby symbol. +# +# * If +posts+ is deprecated, has_many :comments, through: :posts +# does not warn. Usage of the +comments+ association reports usage of +# +posts+, as we explained above, but the definition of the +has_many+ +# itself does not. +# +# * Similarly, accepts_nested_attributes_for :posts does not +# warn. Assignment to the posts attributes warns, as explained above, +# but the +accepts_nested_attributes_for+ call itself does not. +# +# * Same if an association declares to be inverse of a deprecated one, the +# macro itself does not warn. +# +# * In the same line, the declaration validates_associated :posts +# does not warn by itself, though access is reported when the validation +# runs. +# +# * Relation query methods like Author.includes(:posts) do not +# warn by themselves. At that point, that is a relation that internally +# stores a symbol for later use. As explained in the previous section, +# you get a warning when/if the query is executed. +# +# * Access to the reflection object of the association as in +# Author.reflect_on_association(:posts) or +# Author.reflect_on_all_associations does not warn. +# +# === Configuration +# +# Reporting deprecated usage can be configured: +# +# config.active_record.deprecated_associations_options = { ... } +# +# If present, this has to be a hash with keys +:mode+ and/or +:backtrace+. +# +# ==== Mode +# +# * In +:warn+ mode, usage issues a warning that includes the +# application-level place where the access happened, if any. This is the +# default mode. +# +# * In +:raise+ mode, usage raises an +# ActiveRecord::DeprecatedAssociationError with a similar message and a +# clean backtrace in the exception object. +# +# * In +:notify+ mode, a deprecated_association.active_record +# Active Support notification is published. The event payload has the +# association reflection (+:reflection+), the application-level location +# (+:location+) where the access happened (a Thread::Backtrace::Location +# object, or +nil+), and a deprecation message (+:message+). +# +# ==== Backtrace +# +# If +:backtrace+ is true, warnings include a clean backtrace in the message +# and notifications have a +:backtrace+ key in the payload with an array +# of clean Thread::Backtrace::Location objects. Exceptions always get a +# clean stack trace set. +# +# Clean backtraces are computed using the Active Record backtrace cleaner. +# In Rails applications, that is by the default the same as +# Rails.backtrace_cleaner. +# # == Type safety with ActiveRecord::AssociationTypeMismatch # # If you attempt to assign an object to an association that doesn't match the inferred @@ -2378,7 +2547,7 @@ end # All of the association macros can be specialized through options. This makes cases # more complex than the simple and guessable ones possible. # -# pkg:gem/activerecord#lib/active_record/associations.rb:1032 +# pkg:gem/activerecord#lib/active_record/associations.rb:1152 module ActiveRecord::Associations::ClassMethods # Specifies a one-to-one association with another class. This method # should only be used if this class contains the foreign key. If the @@ -2456,7 +2625,9 @@ module ActiveRecord::Associations::ClassMethods # [+:class_name+] # Specify the class name of the association. Use it only if that name can't be inferred # from the association name. So belongs_to :author will by default be linked to the Author class, but - # if the real class name is Person, you'll have to specify it with this option. + # if the real class name is Person, you'll have to specify it with this option. +:class_name+ + # is not supported in polymorphic associations, since in that case the class name of the + # associated record is stored in the type column. # [+:foreign_key+] # Specify the foreign key used for the association. By default this is guessed to be the name # of the association with an "_id" suffix. So a class that defines a belongs_to :person @@ -2550,6 +2721,9 @@ module ActiveRecord::Associations::ClassMethods # Serves as a composite foreign key. Defines the list of columns to be used to query the associated object. # This is an optional option. By default Rails will attempt to derive the value automatically. # When the value is set the Array size must match associated model's primary key or +query_constraints+ size. + # [+:deprecated+] + # If true, marks the association as deprecated. Usage of deprecated associations is reported. + # Please, check the class documentation above for details. # # Option examples: # belongs_to :firm, foreign_key: "client_of" @@ -2567,7 +2741,7 @@ module ActiveRecord::Associations::ClassMethods # belongs_to :account, strict_loading: true # belongs_to :note, query_constraints: [:organization_id, :note_id] # - # pkg:gem/activerecord#lib/active_record/associations.rb:1689 + # pkg:gem/activerecord#lib/active_record/associations.rb:1824 def belongs_to(name, scope = T.unsafe(nil), **options); end # Specifies a many-to-many relationship with another class. This associates two classes via an @@ -2587,7 +2761,7 @@ module ActiveRecord::Associations::ClassMethods # The join table should not have a primary key or a model associated with it. You must manually generate the # join table with a migration such as this: # - # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[8.0] + # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[8.1] # def change # create_join_table :developers, :projects # end @@ -2738,6 +2912,9 @@ module ActiveRecord::Associations::ClassMethods # :autosave to true. # [+:strict_loading+] # Enforces strict loading every time an associated record is loaded through this association. + # [+:deprecated+] + # If true, marks the association as deprecated. Usage of deprecated associations is reported. + # Please, check the class documentation above for details. # # Option examples: # has_and_belongs_to_many :projects @@ -2747,7 +2924,7 @@ module ActiveRecord::Associations::ClassMethods # has_and_belongs_to_many :categories, -> { readonly } # has_and_belongs_to_many :categories, strict_loading: true # - # pkg:gem/activerecord#lib/active_record/associations.rb:1870 + # pkg:gem/activerecord#lib/active_record/associations.rb:2008 def has_and_belongs_to_many(name, scope = T.unsafe(nil), **options, &extension); end # Specifies a one-to-many association. The following methods for retrieval and query of @@ -2928,8 +3105,10 @@ module ActiveRecord::Associations::ClassMethods # [+:as+] # Specifies a polymorphic interface (See #belongs_to). # [+:through+] - # Specifies an association through which to perform the query. This can be any other type - # of association, including other :through associations. Options for :class_name, + # Specifies an association through which to perform the query. + # + # This can be any other type of association, including other :through associations, + # but it cannot be a polymorphic association. Options for :class_name, # :primary_key and :foreign_key are ignored, as the association uses the # source reflection. # @@ -3005,6 +3184,9 @@ module ActiveRecord::Associations::ClassMethods # Defines an {association callback}[rdoc-ref:Associations::ClassMethods@Association+callbacks] that gets triggered before an object is removed from the association collection. # [:after_remove] # Defines an {association callback}[rdoc-ref:Associations::ClassMethods@Association+callbacks] that gets triggered after an object is removed from the association collection. + # [+:deprecated+] + # If true, marks the association as deprecated. Usage of deprecated associations is reported. + # Please, check the class documentation above for details. # # Option examples: # has_many :comments, -> { order("posted_on") } @@ -3020,7 +3202,7 @@ module ActiveRecord::Associations::ClassMethods # has_many :comments, query_constraints: [:blog_id, :post_id] # has_many :comments, index_errors: :nested_attributes_order # - # pkg:gem/activerecord#lib/active_record/associations.rb:1302 + # pkg:gem/activerecord#lib/active_record/associations.rb:1427 def has_many(name, scope = T.unsafe(nil), **options, &extension); end # Specifies a one-to-one association with another class. This method @@ -3130,10 +3312,12 @@ module ActiveRecord::Associations::ClassMethods # [+:as+] # Specifies a polymorphic interface (See #belongs_to). # [+:through+] - # Specifies a Join Model through which to perform the query. Options for :class_name, - # :primary_key, and :foreign_key are ignored, as the association uses the - # source reflection. You can only use a :through query through a #has_one - # or #belongs_to association on the join model. + # Specifies an association through which to perform the query. + # + # The through association must be a +has_one+, has_one :through, or non-polymorphic +belongs_to+. + # That is, a non-polymorphic singular association. Options for :class_name, :primary_key, + # and :foreign_key are ignored, as the association uses the source reflection. You can only + # use a :through query through a #has_one or #belongs_to association on the join model. # # If the association on the join model is a #belongs_to, the collection can be modified # and the records on the :through model will be automatically created and removed @@ -3199,12 +3383,15 @@ module ActiveRecord::Associations::ClassMethods # Serves as a composite foreign key. Defines the list of columns to be used to query the associated object. # This is an optional option. By default Rails will attempt to derive the value automatically. # When the value is set the Array size must match associated model's primary key or +query_constraints+ size. + # [+:deprecated+] + # If true, marks the association as deprecated. Usage of deprecated associations is reported. + # Please, check the class documentation above for details. # # Option examples: # has_one :credit_card, dependent: :destroy # destroys the associated credit card # has_one :credit_card, dependent: :nullify # updates the associated records foreign # # key value to NULL rather than destroying it - # has_one :last_comment, -> { order('posted_on') }, class_name: "Comment" + # has_one :last_comment, -> { order('posted_on desc') }, class_name: "Comment" # has_one :project_manager, -> { where(role: 'project_manager') }, class_name: "Person" # has_one :attachment, as: :attachable # has_one :boss, -> { readonly } @@ -3215,7 +3402,7 @@ module ActiveRecord::Associations::ClassMethods # has_one :credit_card, strict_loading: true # has_one :employment_record_book, query_constraints: [:organization_id, :employee_id] # - # pkg:gem/activerecord#lib/active_record/associations.rb:1498 + # pkg:gem/activerecord#lib/active_record/associations.rb:1628 def has_one(name, scope = T.unsafe(nil), **options); end end @@ -3245,19 +3432,19 @@ end # # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:30 class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associations::Association - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:281 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:285 def add_to_target(record, skip_callbacks: T.unsafe(nil), replace: T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:117 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:121 def build(attributes = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:316 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:320 def collection?; end # Add +records+ to this association. Since +<<+ flattens its argument list # and inserts each record, +push+ and +concat+ behave identically. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:127 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:131 def concat(*records); end # Removes +records+ from this association calling +before_remove+ and @@ -3268,7 +3455,7 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # are actually removed from the database, that depends precisely on # +delete_records+. They are in any case removed from the collection. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:186 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:190 def delete(*records); end # Removes all records from the association without calling callbacks @@ -3285,7 +3472,7 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # # See delete for more info. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:150 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:154 def delete_all(dependent = T.unsafe(nil)); end # Deletes the +records+ and removes them from this association calling @@ -3294,14 +3481,14 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # Note that this method removes records from the database ignoring the # +:dependent+ option. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:195 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:199 def destroy(*records); end # Destroy all the records from this association. # # See destroy for more info. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:172 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:176 def destroy_all; end # Returns true if the collection is empty. @@ -3313,13 +3500,13 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # loaded and you are going to fetch the records anyway it is better to # check collection.length.zero?. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:232 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:236 def empty?; end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:94 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:98 def find(*args); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:308 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:312 def find_from_target?; end # Implements the ids reader method, e.g. foo.item_ids for Foo.has_many :items @@ -3332,10 +3519,10 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:62 def ids_writer(ids); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:258 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:262 def include?(record); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:272 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:276 def load_target; end # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:31 @@ -3344,7 +3531,7 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:31 def nested_attributes_target=(_arg0); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:304 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:308 def null_scope?; end # Implements the reader method, e.g. foo.items for Foo.has_many :items @@ -3355,13 +3542,13 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # Replace this collection with +other_array+. This will perform a diff # and delete/add only records that have changed. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:242 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:246 def replace(other_array); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:87 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:91 def reset; end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:298 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:302 def scope; end # Returns the size of the collection by executing a SELECT COUNT(*) @@ -3375,10 +3562,10 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # This method is abstract in the sense that it relies on # +count_records+, which is a method descendants have to provide. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:209 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:213 def size; end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:285 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:289 def target=(record); end # Implements the writer method, e.g. foo.items= for Foo.has_many :items @@ -3388,40 +3575,40 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ private - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:354 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:358 def _create_record(attributes, raise = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:492 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:496 def callback(method, record); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:498 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:502 def callbacks_for(callback_name); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:438 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:442 def concat_records(records, raise = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:385 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:389 def delete_or_destroy(records, method); end # Delete the given records from the association, # using one of the methods +:destroy+, +:delete_all+ # or +:nullify+ (or +nil+, in which case a default is used). # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:414 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:418 def delete_records(records, method); end # If the :inverse_of option has been # specified, then #find scans the entire collection. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:521 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:525 def find_by_scan(*args); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:507 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:511 def include_in_memory?(record); end # Do the relevant stuff to insert the given record into the association collection. # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:377 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:381 def insert_record(record, validate = T.unsafe(nil), raise = T.unsafe(nil), &block); end # We have some records loaded from the database (persisted) and some that are @@ -3435,22 +3622,22 @@ class ActiveRecord::Associations::CollectionAssociation < ::ActiveRecord::Associ # * Any changes made to attributes on objects in the memory array are to be preserved # * Otherwise, attributes should have the value found in the database # - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:335 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:339 def merge_target_lists(persisted, memory); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:399 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:403 def remove_records(existing_records, records, method); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:430 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:434 def replace_common_records_in_memory(new_target, original_target); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:457 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:461 def replace_on_target(record, skip_callbacks, replace:, inversing: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:418 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:422 def replace_records(new_target, original_target); end - # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:321 + # pkg:gem/activerecord#lib/active_record/associations/collection_association.rb:325 def transaction(&block); end end @@ -3508,7 +3695,7 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # # # # # ] # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1049 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1053 def <<(*records); end # Equivalent to Array#==. Returns +true+ if the two arrays @@ -3539,37 +3726,37 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # person.pets == other # # => true # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:980 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:984 def ==(other); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def _select!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def all(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def and(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def and!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def annotate(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def annotate!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def annotate_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def annotate_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1053 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1057 def append(*records); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def arel(*, **, &); end # Returns a new object of the collection type that has been instantiated @@ -3612,13 +3799,13 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # running an SQL query into the database, the +updated_at+ column of # the object is not changed. # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1066 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1070 def clear; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1054 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1058 def concat(*records); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def construct_join_dependency(*, **, &); end # Returns a new object of the collection type that has been instantiated with @@ -3667,16 +3854,16 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:365 def create!(attributes = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def create_with(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def create_with!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def create_with_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def create_with_value=(arg); end # Deletes the +records+ supplied from the collection according to the strategy @@ -3980,28 +4167,28 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:501 def destroy_all; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def distinct(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def distinct!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def distinct_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def distinct_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def eager_load(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def eager_load!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def eager_load_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def eager_load_values=(arg); end # Returns +true+ if the collection is empty. If the collection has been @@ -4023,38 +4210,38 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # person.pets.count # => 0 # person.pets.empty? # => true # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:831 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:835 def empty?; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def except(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def excluding(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def excluding!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extending(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extending!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extending_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extending_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extensions(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def extract_associated(*, **, &); end # Finds an object in the collection responding to the +id+. Uses the same - # rules as ActiveRecord::FinderMethods.find. Returns ActiveRecord::RecordNotFound + # rules as ActiveRecord::FinderMethods.find. Raises ActiveRecord::RecordNotFound # error if the object cannot be found. # # class Person < ActiveRecord::Base @@ -4083,43 +4270,43 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:138 def find(*args); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def from(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def from!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def from_clause(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def from_clause=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def group(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def group!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def group_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def group_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def having(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def having!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def having_clause(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def having_clause=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def in_order_of(*, **, &); end # Returns +true+ if the given +record+ is present in the collection. @@ -4133,52 +4320,52 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # person.pets.include?(Pet.find(20)) # => true # person.pets.include?(Pet.find(21)) # => false # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:927 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:931 def include?(record); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def includes(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def includes!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def includes_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def includes_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def insert(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def insert!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def insert_all(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def insert_all!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1118 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1122 def inspect; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def invert_where(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def invert_where!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def joins(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def joins!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def joins_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def joins_values=(arg); end # Returns the last record, or the last +n+ records, from the collection. @@ -4211,34 +4398,34 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:259 def last(limit = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def left_joins(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def left_outer_joins(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def left_outer_joins!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def left_outer_joins_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def left_outer_joins_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def limit(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def limit!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def limit_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def limit_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def load_async(*, **, &); end # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:44 @@ -4256,100 +4443,100 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:53 def loaded?; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def lock(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def lock!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def lock_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def lock_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def merge(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def merge!(*, **, &); end # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:321 def new(attributes = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def none(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def none!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def null_relation?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def offset(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def offset!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def offset_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def offset_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def only(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def optimizer_hints(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def optimizer_hints!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def optimizer_hints_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def optimizer_hints_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def or(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def or!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def order(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def order!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def order_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def order_values=(arg); end # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:728 def pluck(*column_names); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def preload(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def preload!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def preload_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def preload_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1056 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1060 def prepend(*args); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1123 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1127 def pretty_print(pp); end # Returns the association object for the collection. @@ -4366,22 +4553,22 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # # See Associations::ClassMethods@Association+extensions for more. # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:944 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:948 def proxy_association; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1052 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1056 def push(*records); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def readonly(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def readonly!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def readonly_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def readonly_value=(arg); end # :method: to_ary @@ -4423,25 +4610,25 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # # # # # ] # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1024 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1028 def records; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def references(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def references!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def references_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def references_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def regroup(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def regroup!(*, **, &); end # Reloads the collection from the database. Returns +self+. @@ -4459,19 +4646,19 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # person.pets.reload # fetches pets from the database # # => [#] # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1085 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1089 def reload; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reorder(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reorder!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reordering_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reordering_value=(arg); end # Replaces this collection with +other_array+. This will perform a diff @@ -4500,10 +4687,10 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:391 def replace(other_array); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reselect(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reselect!(*, **, &); end # Unloads the association. Returns +self+. @@ -4523,39 +4710,39 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # person.pets # fetches pets from the database # # => [#] # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1106 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1110 def reset; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1112 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1116 def reset_scope; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reverse_order(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reverse_order!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reverse_order_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def reverse_order_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def rewhere(*, **, &); end # Returns a Relation object for the records in this association # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:949 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:953 def scope; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def scoping(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def select_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def select_values=(arg); end # Returns the size of the collection. If the collection hasn't been loaded, @@ -4583,39 +4770,42 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # # Because the collection is already loaded, this will behave like # # collection.size and no SQL count query is executed. # - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:782 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:786 def size; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def skip_preloading!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def skip_query_cache!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def skip_query_cache_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def skip_query_cache_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def spawn(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def strict_loading(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def strict_loading!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def strict_loading_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def strict_loading_value=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def structurally_compatible?(*, **, &); end + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 + def table_name_qualified_unscope_values(*, **, &); end + # Gives a record (or N records if a parameter is supplied) from the collection # using the same rules as ActiveRecord::FinderMethods.take. # @@ -4648,81 +4838,127 @@ class ActiveRecord::Associations::CollectionProxy < ::ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:40 def target; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def uniq!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def unscope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def unscope!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def unscope_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def unscope_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def upsert(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1133 def upsert_all(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def where(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def where!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def where_clause(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def where_clause=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with_recursive(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with_recursive!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with_values(*, **, &); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def with_values=(arg); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1137 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1159 def without(*, **, &); end private - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1158 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1180 def exec_queries; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1154 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1176 def find_from_target?; end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1145 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1167 def find_nth_from_last(index); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1140 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1162 def find_nth_with_limit(index, limit); end - # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1150 + # pkg:gem/activerecord#lib/active_record/associations/collection_proxy.rb:1172 def null_scope?; end end +# pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:6 +module ActiveRecord::Associations::Deprecation + class << self + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:14 + def backtrace; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:24 + def backtrace=(value); end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:28 + def guard(reflection); end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:14 + def mode; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:16 + def mode=(value); end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:39 + def report(reflection, context:); end + + private + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:65 + def backtrace_cleaner; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:69 + def clean_frames; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:73 + def clean_locations; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:77 + def set_backtrace_supports_array_of_locations?; end + + # pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:81 + def user_facing_reflection(reflection); end + end +end + +# pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:7 +ActiveRecord::Associations::Deprecation::EVENT = T.let(T.unsafe(nil), String) + +# pkg:gem/activerecord#lib/active_record/associations/deprecation.rb:10 +ActiveRecord::Associations::Deprecation::MODES = T.let(T.unsafe(nil), Array) + # pkg:gem/activerecord#lib/active_record/associations/disable_joins_association_scope.rb:5 class ActiveRecord::Associations::DisableJoinsAssociationScope < ::ActiveRecord::Associations::AssociationScope # pkg:gem/activerecord#lib/active_record/associations/disable_joins_association_scope.rb:6 @@ -4742,14 +4978,14 @@ module ActiveRecord::Associations::ForeignAssociation # pkg:gem/activerecord#lib/active_record/associations/foreign_association.rb:5 def foreign_key_present?; end - # pkg:gem/activerecord#lib/active_record/associations/foreign_association.rb:13 + # pkg:gem/activerecord#lib/active_record/associations/foreign_association.rb:15 def nullified_owner_attributes; end private # Sets the owner attributes on the given record # - # pkg:gem/activerecord#lib/active_record/associations/foreign_association.rb:22 + # pkg:gem/activerecord#lib/active_record/associations/foreign_association.rb:24 def set_owner_attributes(record); end end @@ -4919,7 +5155,7 @@ class ActiveRecord::Associations::HasOneAssociation < ::ActiveRecord::Associatio private - # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:133 + # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:134 def _create_record(attributes, raise_error = T.unsafe(nil), &block); end # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:119 @@ -4939,7 +5175,7 @@ class ActiveRecord::Associations::HasOneAssociation < ::ActiveRecord::Associatio # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:91 def set_new_record(record); end - # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:125 + # pkg:gem/activerecord#lib/active_record/associations/has_one_association.rb:126 def transaction_if(value, &block); end end @@ -4999,28 +5235,28 @@ class ActiveRecord::Associations::JoinDependency # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:168 def aliases; end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:228 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:227 def build(associations, base_klass); end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:242 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:243 def construct(ar_parent, parent, row, seen, model_cache, strict_loading_value); end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:278 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:279 def construct_model(record, node, row, model_cache, id, strict_loading_value); end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:223 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:222 def find_reflection(klass, name); end # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:166 def join_root_alias; end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:190 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:189 def make_constraints(parent, child, join_type); end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:184 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:183 def make_join_constraints(join_root, join_type); end - # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:214 + # pkg:gem/activerecord#lib/active_record/associations/join_dependency.rb:213 def walk(left, right, join_type); end class << self @@ -5604,14 +5840,14 @@ class ActiveRecord::Associations::Preloader::Branch private - # pkg:gem/activerecord#lib/active_record/associations/preloader/branch.rb:126 + # pkg:gem/activerecord#lib/active_record/associations/preloader/branch.rb:127 def build_children(children); end # Returns a class containing the logic needed to load preload the data # and attach it to a relation. The class returned implements a `run` method # that accepts a preloader. # - # pkg:gem/activerecord#lib/active_record/associations/preloader/branch.rb:143 + # pkg:gem/activerecord#lib/active_record/associations/preloader/branch.rb:144 def preloader_for(reflection); end end @@ -5811,7 +6047,7 @@ end # AsynchronousQueryInsideTransactionError will be raised when attempting # to perform an asynchronous query from inside a transaction # -# pkg:gem/activerecord#lib/active_record/errors.rb:536 +# pkg:gem/activerecord#lib/active_record/errors.rb:544 class ActiveRecord::AsynchronousQueryInsideTransactionError < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/attribute_assignment.rb:4 @@ -5853,15 +6089,15 @@ end # {ActiveRecord::Base#attributes=}[rdoc-ref:ActiveModel::AttributeAssignment#attributes=] method. # The exception has an +attribute+ property that is the name of the offending attribute. # -# pkg:gem/activerecord#lib/active_record/errors.rb:449 +# pkg:gem/activerecord#lib/active_record/errors.rb:456 class ActiveRecord::AttributeAssignmentError < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:452 + # pkg:gem/activerecord#lib/active_record/errors.rb:459 def initialize(message = T.unsafe(nil), exception = T.unsafe(nil), attribute = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:450 + # pkg:gem/activerecord#lib/active_record/errors.rb:457 def attribute; end - # pkg:gem/activerecord#lib/active_record/errors.rb:450 + # pkg:gem/activerecord#lib/active_record/errors.rb:457 def exception; end end @@ -6064,30 +6300,30 @@ module ActiveRecord::AttributeMethods private - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:499 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:501 def attribute_method?(attr_name); end # Filters out the virtual columns and also primary keys, from the attribute names, when the primary # key is to be generated (e.g. the id attribute has no value). # - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:519 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:521 def attributes_for_create(attribute_names); end # Filters the primary keys, readonly attributes and virtual columns from the attribute names. # - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:508 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:510 def attributes_for_update(attribute_names); end - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:503 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:505 def attributes_with_values(attribute_names); end - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:527 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:529 def format_for_inspect(name, value); end # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:475 def method_missing(name, *, **, &); end - # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:543 + # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:545 def pk_attribute?(name); end # pkg:gem/activerecord#lib/active_record/attribute_methods.rb:465 @@ -6901,6 +7137,16 @@ module ActiveRecord::AttributeMethods::Serialization::ClassMethods # ActiveRecord::SerializationTypeMismatch error. # * If the column is +NULL+ or starting from a new record, the default value # will set to +type.new+ + # * +comparable+ - Specify whether the deserialized object is safely comparable + # for the purpose of detecting changes. Defaults to +false+ + # When set to +false+ the old and new values will be compared by their serialized + # representation (e.g. JSON or YAML), which can sometimes cause two objects that are + # semantically equal to be considered different. + # For instance two hashes with the same keys and values but a different order have a + # different serialized representation, but are semantically equal once deserialized. + # If set to +true+ the comparison will be done on the deserialized object. + # This options should only be enabled if the +type+ is known to have + # a proper == method that deeply compare the objects. # * +yaml+ - Optional. Yaml specific options. The allowed config is: # * +:permitted_classes+ - +Array+ with the permitted classes. # * +:unsafe_load+ - Unsafely load YAML blobs, allow YAML to load any class. @@ -7030,15 +7276,15 @@ module ActiveRecord::AttributeMethods::Serialization::ClassMethods # serialize :preferences, coder: Rot13JSON # end # - # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:183 - def serialize(attr_name, coder: T.unsafe(nil), type: T.unsafe(nil), yaml: T.unsafe(nil), **options); end + # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:193 + def serialize(attr_name, coder: T.unsafe(nil), type: T.unsafe(nil), comparable: T.unsafe(nil), yaml: T.unsafe(nil), **options); end private - # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:208 + # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:218 def build_column_serializer(attr_name, coder, type, yaml = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:225 + # pkg:gem/activerecord#lib/active_record/attribute_methods/serialization.rb:238 def type_incompatible_with_serialize?(cast_type, coder, type); end end @@ -7078,20 +7324,20 @@ module ActiveRecord::AttributeMethods::TimeZoneConversion end end -# pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:65 +# pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:73 module ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods private - # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:75 + # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:83 def create_time_zone_conversion_attribute?(name, cast_type); end - # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:67 + # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:75 def hook_attribute_type(name, cast_type); end end # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:8 class ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter - # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:35 + # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:39 def ==(other); end # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:17 @@ -7102,10 +7348,10 @@ class ActiveRecord::AttributeMethods::TimeZoneConversion::TimeZoneConverter private - # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:40 + # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:44 def convert_time_to_time_zone(value); end - # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:52 + # pkg:gem/activerecord#lib/active_record/attribute_methods/time_zone_conversion.rb:60 def set_time_zone_without_conversion(value); end class << self @@ -7153,17 +7399,54 @@ end # pkg:gem/activerecord#lib/active_record/attributes.rb:7 module ActiveRecord::Attributes extend ::ActiveSupport::Concern + include GeneratedInstanceMethods include ::ActiveModel::AttributeRegistration + include ::ActiveModel::AttributeMethods + include ::ActiveModel::Dirty + include ::ActiveSupport::Callbacks + include ::ActiveModel::Validations::Callbacks + include ::ActiveModel::Attributes::Normalization + mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveModel::AttributeRegistration::ClassMethods + mixes_in_class_methods ::ActiveModel::Attributes::Normalization::ClassMethods + mixes_in_class_methods ::ActiveModel::AttributeMethods::ClassMethods + mixes_in_class_methods ::ActiveModel::Validations::Callbacks::ClassMethods + mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods + mixes_in_class_methods ::ActiveSupport::DescendantsTracker mixes_in_class_methods ::ActiveRecord::Attributes::ClassMethods + + module GeneratedClassMethods + def __callbacks; end + def __callbacks=(value); end + def attribute_aliases; end + def attribute_aliases=(value); end + def attribute_aliases?; end + def attribute_method_patterns; end + def attribute_method_patterns=(value); end + def attribute_method_patterns?; end + def normalized_attributes; end + def normalized_attributes=(value); end + def normalized_attributes?; end + end + + module GeneratedInstanceMethods + def __callbacks; end + def attribute_aliases; end + def attribute_aliases?; end + def attribute_method_patterns; end + def attribute_method_patterns?; end + def normalized_attributes; end + def normalized_attributes=(value); end + def normalized_attributes?; end + end end # = Active Record \Attributes # -# pkg:gem/activerecord#lib/active_record/attributes.rb:12 +# pkg:gem/activerecord#lib/active_record/attributes.rb:13 module ActiveRecord::Attributes::ClassMethods - # pkg:gem/activerecord#lib/active_record/attributes.rb:252 + # pkg:gem/activerecord#lib/active_record/attributes.rb:253 def _default_attributes; end # This API only accepts type objects, and will do its work immediately instead of @@ -7188,30 +7471,30 @@ module ActiveRecord::Attributes::ClassMethods # [+user_provided_default+] # Whether the default value should be cast using +cast+ or +deserialize+. # - # pkg:gem/activerecord#lib/active_record/attributes.rb:242 + # pkg:gem/activerecord#lib/active_record/attributes.rb:243 def define_attribute(name, cast_type, default: T.unsafe(nil), user_provided_default: T.unsafe(nil)); end protected - # pkg:gem/activerecord#lib/active_record/attributes.rb:279 + # pkg:gem/activerecord#lib/active_record/attributes.rb:281 def reload_schema_from_cache(*); end private - # pkg:gem/activerecord#lib/active_record/attributes.rb:288 + # pkg:gem/activerecord#lib/active_record/attributes.rb:290 def define_default_attribute(name, value, type, from_user:); end - # pkg:gem/activerecord#lib/active_record/attributes.rb:304 + # pkg:gem/activerecord#lib/active_record/attributes.rb:306 def reset_default_attributes; end - # pkg:gem/activerecord#lib/active_record/attributes.rb:308 + # pkg:gem/activerecord#lib/active_record/attributes.rb:310 def resolve_type_name(name, **options); end - # pkg:gem/activerecord#lib/active_record/attributes.rb:312 + # pkg:gem/activerecord#lib/active_record/attributes.rb:314 def type_for_column(connection, column); end end -# pkg:gem/activerecord#lib/active_record/attributes.rb:285 +# pkg:gem/activerecord#lib/active_record/attributes.rb:287 ActiveRecord::Attributes::ClassMethods::NO_DEFAULT_PROVIDED = T.let(T.unsafe(nil), Object) # = Active Record Autosave Association @@ -7830,11 +8113,14 @@ class ActiveRecord::Base include ::ActiveRecord::Validations include ::ActiveRecord::CounterCache include ::ActiveModel::AttributeRegistration + include ::ActiveModel::Attributes::Normalization + include ::ActiveModel::AttributeMethods + include ::ActiveModel::Dirty + include ::ActiveModel::Validations::Callbacks include ::ActiveRecord::Attributes include ::ActiveRecord::Locking::Optimistic include ::ActiveRecord::Locking::Pessimistic include ::ActiveRecord::Encryption::EncryptableRecord - include ::ActiveModel::AttributeMethods include ::ActiveRecord::AttributeMethods include ::ActiveRecord::Base::GeneratedAttributeMethods include ::ActiveRecord::Base::GeneratedAssociationMethods @@ -7844,11 +8130,9 @@ class ActiveRecord::Base include ::ActiveRecord::AttributeMethods::Query include ::ActiveRecord::AttributeMethods::PrimaryKey include ::ActiveRecord::AttributeMethods::TimeZoneConversion - include ::ActiveModel::Dirty include ::ActiveRecord::AttributeMethods::Dirty include ::ActiveRecord::AttributeMethods::Serialization include ::ActiveRecord::Callbacks - include ::ActiveModel::Validations::Callbacks include ::ActiveRecord::Timestamp include ::ActiveRecord::Associations include ::ActiveModel::SecurePassword @@ -7867,7 +8151,6 @@ class ActiveRecord::Base include ::ActiveRecord::TokenFor include ::ActiveRecord::SignedId include ::ActiveRecord::Suppressor - include ::ActiveRecord::Normalization include ::ActiveRecord::Marshalling::Methods include ::ActiveStorage::Attached::Model include ::ActiveStorage::Reflection::ActiveRecordExtensions @@ -7904,10 +8187,12 @@ class ActiveRecord::Base extend ::ActiveRecord::Validations::ClassMethods extend ::ActiveRecord::CounterCache::ClassMethods extend ::ActiveModel::AttributeRegistration::ClassMethods + extend ::ActiveModel::Attributes::Normalization::ClassMethods + extend ::ActiveModel::AttributeMethods::ClassMethods + extend ::ActiveModel::Validations::Callbacks::ClassMethods extend ::ActiveRecord::Attributes::ClassMethods extend ::ActiveRecord::Locking::Optimistic::ClassMethods extend ::ActiveRecord::Encryption::EncryptableRecord::ClassMethods - extend ::ActiveModel::AttributeMethods::ClassMethods extend ::ActiveRecord::AttributeMethods::ClassMethods extend ::ActiveRecord::AttributeMethods::Read::ClassMethods extend ::ActiveRecord::AttributeMethods::Write::ClassMethods @@ -7915,7 +8200,6 @@ class ActiveRecord::Base extend ::ActiveRecord::AttributeMethods::TimeZoneConversion::ClassMethods extend ::ActiveRecord::AttributeMethods::Serialization::ClassMethods extend ::ActiveRecord::Callbacks::ClassMethods - extend ::ActiveModel::Validations::Callbacks::ClassMethods extend ::ActiveRecord::Timestamp::ClassMethods extend ::ActiveRecord::Associations::ClassMethods extend ::ActiveModel::SecurePassword::ClassMethods @@ -7930,11 +8214,11 @@ class ActiveRecord::Base extend ::ActiveRecord::TokenFor::ClassMethods extend ::ActiveRecord::SignedId::ClassMethods extend ::ActiveRecord::Suppressor::ClassMethods - extend ::ActiveRecord::Normalization::ClassMethods extend ::Ahoy::Model extend ::ActiveStorage::Attached::Model::ClassMethods extend ::ActiveStorage::Reflection::ActiveRecordExtensions::ClassMethods extend ::ActionText::Attribute::ClassMethods + extend ::ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret # pkg:gem/activerecord#lib/active_record/base.rb:283 def __callbacks; end @@ -7967,41 +8251,77 @@ class ActiveRecord::Base def _rollback_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:321 - def _run_before_commit_callbacks(&block); end + def _run_before_commit_callbacks; end + + # pkg:gem/activerecord#lib/active_record/base.rb:321 + def _run_before_commit_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:321 + def _run_commit_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:321 - def _run_commit_callbacks(&block); end + def _run_commit_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_create_callbacks; end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_create_callbacks!(&block); end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_create_callbacks(&block); end + def _run_destroy_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_destroy_callbacks(&block); end + def _run_destroy_callbacks!(&block); end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_find_callbacks(&block); end + def _run_find_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_initialize_callbacks(&block); end + def _run_find_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_initialize_callbacks; end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_initialize_callbacks!(&block); end # pkg:gem/activerecord#lib/active_record/base.rb:321 - def _run_rollback_callbacks(&block); end + def _run_rollback_callbacks; end + + # pkg:gem/activerecord#lib/active_record/base.rb:321 + def _run_rollback_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_save_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_save_callbacks(&block); end + def _run_save_callbacks!(&block); end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_touch_callbacks(&block); end + def _run_touch_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:315 - def _run_update_callbacks(&block); end + def _run_touch_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_update_callbacks; end + + # pkg:gem/activerecord#lib/active_record/base.rb:315 + def _run_update_callbacks!(&block); end # pkg:gem/activerecord#lib/active_record/base.rb:283 def _run_validate_callbacks(&block); end - # pkg:gem/activerecord#lib/active_record/base.rb:315 + # pkg:gem/activerecord#lib/active_record/base.rb:283 + def _run_validate_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/base.rb:310 def _run_validation_callbacks(&block); end + # pkg:gem/activerecord#lib/active_record/base.rb:310 + def _run_validation_callbacks!(&block); end + # pkg:gem/activerecord#lib/active_record/base.rb:315 def _save_callbacks; end @@ -8014,7 +8334,7 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:283 def _validate_callbacks; end - # pkg:gem/activerecord#lib/active_record/base.rb:315 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def _validation_callbacks; end # pkg:gem/activerecord#lib/active_record/base.rb:283 @@ -8029,22 +8349,22 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:324 def aggregate_reflections?; end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def attachment_reflections; end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def attachment_reflections?; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_aliases; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_aliases?; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_method_patterns; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_method_patterns?; end # pkg:gem/activerecord#lib/active_record/base.rb:324 @@ -8158,13 +8478,13 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:320 def nested_attributes_options?; end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes; end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes=(_arg0); end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes?; end # pkg:gem/activerecord#lib/active_record/base.rb:283 @@ -8345,6 +8665,12 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:315 def _save_callbacks=(value); end + # pkg:gem/activerecord#lib/active_record/base.rb:329 + def _signed_id_verifier; end + + # pkg:gem/activerecord#lib/active_record/base.rb:329 + def _signed_id_verifier=(value); end + # pkg:gem/activerecord#lib/active_record/base.rb:315 def _touch_callbacks; end @@ -8363,10 +8689,10 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:283 def _validate_callbacks=(value); end - # pkg:gem/activerecord#lib/active_record/base.rb:315 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def _validation_callbacks; end - # pkg:gem/activerecord#lib/active_record/base.rb:315 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def _validation_callbacks=(value); end # pkg:gem/activerecord#lib/active_record/base.rb:283 @@ -8429,31 +8755,31 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:299 def asynchronous_queries_tracker; end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def attachment_reflections; end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def attachment_reflections=(value); end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def attachment_reflections?; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_aliases; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_aliases=(value); end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_aliases?; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_method_patterns; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_method_patterns=(value); end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def attribute_method_patterns?; end # pkg:gem/activerecord#lib/active_record/base.rb:299 @@ -8756,13 +9082,13 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:320 def nested_attributes_options?; end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes; end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes=(value); end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def normalized_attributes?; end # pkg:gem/activerecord#lib/active_record/base.rb:283 @@ -8853,7 +9179,7 @@ class ActiveRecord::Base def signed_id_verifier_secret; end # pkg:gem/activerecord#lib/active_record/base.rb:329 - def signed_id_verifier_secret=(value); end + def signed_id_verifier_secret=(secret); end # pkg:gem/activerecord#lib/active_record/base.rb:329 def signed_id_verifier_secret?; end @@ -8980,6 +9306,12 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:324 def __class_attr__reflections=(new_value); end + # pkg:gem/activerecord#lib/active_record/base.rb:329 + def __class_attr__signed_id_verifier; end + + # pkg:gem/activerecord#lib/active_record/base.rb:329 + def __class_attr__signed_id_verifier=(new_value); end + # pkg:gem/activerecord#lib/active_record/base.rb:283 def __class_attr__validators; end @@ -8992,22 +9324,22 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:324 def __class_attr_aggregate_reflections=(new_value); end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def __class_attr_attachment_reflections; end - # pkg:gem/activerecord#lib/active_record/base.rb:337 + # pkg:gem/activerecord#lib/active_record/base.rb:336 def __class_attr_attachment_reflections=(new_value); end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_attribute_aliases; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_attribute_aliases=(new_value); end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_attribute_method_patterns; end - # pkg:gem/activerecord#lib/active_record/base.rb:314 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_attribute_method_patterns=(new_value); end # pkg:gem/activerecord#lib/active_record/base.rb:299 @@ -9178,10 +9510,10 @@ class ActiveRecord::Base # pkg:gem/activerecord#lib/active_record/base.rb:320 def __class_attr_nested_attributes_options=(new_value); end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_normalized_attributes; end - # pkg:gem/activerecord#lib/active_record/base.rb:331 + # pkg:gem/activerecord#lib/active_record/base.rb:310 def __class_attr_normalized_attributes=(new_value); end # pkg:gem/activerecord#lib/active_record/base.rb:283 @@ -9712,7 +10044,7 @@ module ActiveRecord::Calculations # Same as #ids, but performs the query asynchronously and returns an # ActiveRecord::Promise. # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:408 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:413 def async_ids; end # Same as #maximum, but performs the query asynchronously and returns an @@ -9730,13 +10062,13 @@ module ActiveRecord::Calculations # Same as #pick, but performs the query asynchronously and returns an # ActiveRecord::Promise. # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:362 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:367 def async_pick(*column_names); end # Same as #pluck, but performs the query asynchronously and returns an # ActiveRecord::Promise. # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:333 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:338 def async_pluck(*column_names); end # Same as #sum, but performs the query asynchronously and returns an @@ -9842,7 +10174,7 @@ module ActiveRecord::Calculations # Person.ids # SELECT people.id FROM people # Person.joins(:company).ids # SELECT people.id FROM people INNER JOIN companies ON companies.id = people.company_id # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:370 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:375 def ids; end # Calculates the maximum value on a given column. The value is returned @@ -9878,7 +10210,7 @@ module ActiveRecord::Calculations # # SELECT people.name, people.email_address FROM people WHERE id = 1 LIMIT 1 # # => [ 'David', 'david@loudthinking.com' ] # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:351 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:356 def pick(*column_names); end # Use #pluck as a shortcut to select one or more attributes without @@ -9922,9 +10254,14 @@ module ActiveRecord::Calculations # # SELECT DATEDIFF(updated_at, created_at) FROM people # # => ['0', '27761', '173'] # + # Be aware that #pluck ignores any previous select clauses + # + # Person.select(:name).pluck(:id) + # # SELECT people.id FROM people + # # See also #ids. # - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:290 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:295 def pluck(*column_names); end # Calculates the sum of values on a given column. The value is returned @@ -9948,51 +10285,54 @@ module ActiveRecord::Calculations protected - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:413 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:418 def aggregate_column(column_name); end private - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:425 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:430 def all_attributes?(column_names); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:661 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:680 def build_count_subquery(relation, column_name, distinct); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:654 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:673 def build_count_subquery?(operation, column_name, distinct); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:460 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:465 def distinct_select?(column_name); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:513 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:528 def execute_grouped_calculation(operation, column_name, distinct); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:468 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:483 def execute_simple_calculation(operation, column_name, distinct); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:429 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:434 def has_include?(column_name); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:601 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:620 def lookup_cast_type_from_join_dependencies(name, join_dependencies = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:464 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:479 def operation_over_aggregate_column(column, operation, distinct); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:433 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:438 def perform_calculation(operation, column_name); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:644 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:469 + def possible_aggregation?(column_names); end + + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:663 def select_for_count; end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:626 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:645 def type_cast_calculated_value(value, operation, type); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:609 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:628 def type_cast_pluck_values(result, columns); end - # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:596 + # pkg:gem/activerecord#lib/active_record/relation/calculations.rb:615 def type_for(field, &block); end end @@ -10193,8 +10533,7 @@ end # # If a before_* callback throws +:abort+, all the later callbacks and # the associated action are cancelled. -# \Callbacks are generally run in the order they are defined, with the exception of callbacks defined as -# methods on the model, which are called last. +# \Callbacks are run in the order they are defined. # # == Ordering callbacks # @@ -10295,7 +10634,7 @@ end # # Returns true or false depending on whether the proc is contained in the +before_save+ callback chain on a Topic model. # -# pkg:gem/activerecord#lib/active_record/callbacks.rb:278 +# pkg:gem/activerecord#lib/active_record/callbacks.rb:277 module ActiveRecord::Callbacks extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -10308,24 +10647,24 @@ module ActiveRecord::Callbacks mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods mixes_in_class_methods ::ActiveSupport::DescendantsTracker - # pkg:gem/activerecord#lib/active_record/callbacks.rb:419 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:418 def destroy; end - # pkg:gem/activerecord#lib/active_record/callbacks.rb:435 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:434 def increment!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/callbacks.rb:431 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:430 def touch(*, **); end private - # pkg:gem/activerecord#lib/active_record/callbacks.rb:444 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:443 def _create_record; end - # pkg:gem/activerecord#lib/active_record/callbacks.rb:448 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:447 def _update_record; end - # pkg:gem/activerecord#lib/active_record/callbacks.rb:440 + # pkg:gem/activerecord#lib/active_record/callbacks.rb:439 def create_or_update(**); end module GeneratedClassMethods @@ -10338,15 +10677,20 @@ module ActiveRecord::Callbacks end end -# pkg:gem/activerecord#lib/active_record/callbacks.rb:281 +# pkg:gem/activerecord#lib/active_record/callbacks.rb:280 ActiveRecord::Callbacks::CALLBACKS = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/callbacks.rb:288 +# pkg:gem/activerecord#lib/active_record/callbacks.rb:287 module ActiveRecord::Callbacks::ClassMethods include ::ActiveModel::Callbacks end -# pkg:gem/activerecord#lib/active_record.rb:125 +# Raised when a record cannot be inserted or updated because it would violate a check constraint. +# +# pkg:gem/activerecord#lib/active_record/errors.rb:296 +class ActiveRecord::CheckViolation < ::ActiveRecord::StatementInvalid; end + +# pkg:gem/activerecord#lib/active_record.rb:126 module ActiveRecord::Coders; end # pkg:gem/activerecord#lib/active_record/coders/column_serializer.rb:5 @@ -10380,17 +10724,21 @@ class ActiveRecord::Coders::ColumnSerializer def check_arity_of_constructor; end end -# pkg:gem/activerecord#lib/active_record/coders/json.rb:5 -module ActiveRecord::Coders::JSON - class << self - # pkg:gem/activerecord#lib/active_record/coders/json.rb:6 - def dump(obj); end +# pkg:gem/activerecord#lib/active_record/coders/json.rb:7 +class ActiveRecord::Coders::JSON + # pkg:gem/activerecord#lib/active_record/coders/json.rb:10 + def initialize(encode_options: T.unsafe(nil), decode_options: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/coders/json.rb:10 - def load(json); end - end + # pkg:gem/activerecord#lib/active_record/coders/json.rb:16 + def dump(obj); end + + # pkg:gem/activerecord#lib/active_record/coders/json.rb:20 + def load(json); end end +# pkg:gem/activerecord#lib/active_record/coders/json.rb:8 +ActiveRecord::Coders::JSON::DEFAULT_ENCODE_OPTIONS = T.let(T.unsafe(nil), Hash) + # pkg:gem/activerecord#lib/active_record/coders/yaml_column.rb:7 class ActiveRecord::Coders::YAMLColumn < ::ActiveRecord::Coders::ColumnSerializer # pkg:gem/activerecord#lib/active_record/coders/yaml_column.rb:59 @@ -10447,7 +10795,7 @@ ActiveRecord::ConcurrentMigrationError::RELEASE_LOCK_FAILED_MESSAGE = T.let(T.un # {ActiveRecord::Base.has_and_belongs_to_many}[rdoc-ref:Associations::ClassMethods#has_and_belongs_to_many] # associations. # -# pkg:gem/activerecord#lib/active_record/errors.rb:390 +# pkg:gem/activerecord#lib/active_record/errors.rb:397 class ActiveRecord::ConfigurationError < ::ActiveRecord::ActiveRecordError; end # :stopdoc: @@ -10491,7 +10839,7 @@ end # Most of the methods in the adapter are useful during migrations. Most # notably, the instance methods provided by SchemaStatements are very useful. # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:30 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:31 class ActiveRecord::ConnectionAdapters::AbstractAdapter include ::ActiveSupport::Callbacks include ::ActiveRecord::Migration::JoinTable @@ -10505,46 +10853,58 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter extend ::ActiveSupport::DescendantsTracker extend ::ActiveRecord::ConnectionAdapters::Quoting::ClassMethods - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:126 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:132 def initialize(config_or_deprecated_connection, deprecated_logger = T.unsafe(nil), deprecated_connection_options = T.unsafe(nil), deprecated_config = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 def __callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkin_callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkout_callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 - def _run_checkin_callbacks(&block); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 + def _run_checkin_callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 - def _run_checkout_callbacks(&block); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 + def _run_checkin_callbacks!(&block); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 + def _run_checkout_callbacks; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 + def _run_checkout_callbacks!(&block); end # Checks whether the connection to the database is still active. This includes # checking whether the database is actually capable of responding, i.e. whether # the connection isn't stale. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:658 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:710 def active?; end # Returns the human-readable name of the adapter. Use mixed case - one # can always use downcase if needed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:355 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:398 def adapter_name; end # This is meant to be implemented by the adapters that support custom enum types # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:590 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:637 def add_enum_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:605 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:657 def advisory_locks_enabled?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:564 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:46 + def allow_preconnect; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:56 + def allow_preconnect=(value); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:611 def async_enabled?; end # Called by ActiveRecord::InsertAll, @@ -10553,96 +10913,105 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # should be overridden by adapters to implement common features with # non-standard syntax like handling duplicates or returning values. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:850 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:915 def build_insert_sql(insert); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:821 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:886 def case_insensitive_comparison(attribute, value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:817 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:882 def case_sensitive_comparison(attribute, value); end # Override to check all foreign key constraints in a database. # The adapter should raise a +ActiveRecord::StatementInvalid+ if foreign key # constraints are not met. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:643 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:695 def check_all_foreign_keys_valid!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:195 - def check_if_write_query(sql); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:865 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:930 def check_version; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:790 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:848 def clean!; end # Clear any caching the database adapter may be doing. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:744 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:800 def clear_cache!(new_connection: T.unsafe(nil)); end # Check the connection back in to the connection pool # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:837 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:902 def close; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:785 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:843 def connect!; end # Checks whether the connection to the database was established. This doesn't # include checking whether the database is actually capable of responding, i.e. # whether the connection is stale. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:651 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:703 def connected?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:284 + # Seconds since this connection was established. nil if not + # connected; infinity if the connection has been explicitly + # retired. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:377 + def connection_age; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:304 def connection_descriptor; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:205 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:221 def connection_retries; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def create(*, **, &); end # This is meant to be implemented by the adapters that support custom enum types # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:578 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:625 def create_enum(*, **, &); end + # Lock used to read an existing record after a duplicate INSERT in a transaction. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:653 + def create_or_find_by_lock; end + # This is meant to be implemented by the adapters that support virtual tables # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:598 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:645 def create_virtual_table(*); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:364 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:407 def database_exists?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:861 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:926 def database_version; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:841 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:906 def default_index_type?(index); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:221 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:237 def default_timezone; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:813 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:878 def default_uniqueness_comparison(attribute, value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def delete(*, **, &); end # This is meant to be implemented by the adapters that support extensions # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:570 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:617 def disable_extension(name, **); end # Override to turn off referential integrity while executing &block. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:636 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:688 def disable_referential_integrity; end # Immediately forget this connection ever existed. Unlike disconnect!, @@ -10652,117 +11021,135 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # undefined. This is called internally just before a forked process gets # rid of a connection that belonged to its parent. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:717 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:773 def discard!; end # Disconnects from the database if already connected. Otherwise, this # method does nothing. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:701 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:756 def disconnect!; end # This is meant to be implemented by the adapters that support custom enum types # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:582 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:629 def drop_enum(*, **, &); end # This is meant to be implemented by the adapters that support virtual tables # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:602 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:649 def drop_virtual_table(*); end # This is meant to be implemented by the adapters that support extensions # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:574 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:621 def enable_extension(name, **); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:206 + def ensure_writes_are_allowed(sql); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def exec_insert_all(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def exec_query(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def execute(*, **, &); end # this method must only be called while holding connection pool's mutex # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:305 - def expire; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:329 + def expire(update_idle = T.unsafe(nil)); end # A list of extensions, to be filled in by adapters that support them. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:624 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:676 def extensions; end + # Mark the connection as needing to be retired, as if the age has + # exceeded the maximum allowed. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:385 + def force_retirement; end + # This is meant to be implemented by the adapters that support advisory # locks # # Return true if we got the lock, otherwise false # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:613 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:665 def get_advisory_lock(lock_id); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:858 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:923 def get_database_version; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:46 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:48 def in_use?; end # A list of index algorithms, to be filled by adapters that support them. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:629 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:681 def index_algorithms; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def insert(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:176 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:187 def inspect; end # this method must only be called while holding connection pool's mutex # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:269 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:289 def lease; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:45 def lock; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:183 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:194 def lock_thread=(lock_thread); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:45 def logger; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:44 - def owner; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:213 + def max_jitter; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:284 + def native_database_types; end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:45 + def owner; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:47 def pinned; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:45 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:47 def pinned=(_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:43 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:44 def pool; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:48 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:50 def pool=(value); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:324 + def pool_jitter(duration); end + # Should primary key values be selected from their corresponding # sequence before the insert statement? If true, next_sequence_value # is called before each insert to set the record's primary key. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:404 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:447 def prefetch_primary_key?(table_name = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:239 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:255 def prepared_statements; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:236 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:252 def prepared_statements?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:241 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:257 def prepared_statements_disabled_cache; end # Determines whether writes are currently being prevented. @@ -10770,7 +11157,7 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # Returns true if the connection is a replica or returns # the value of +current_preventing_writes+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:229 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:245 def preventing_writes?; end # Provides access to the underlying database driver for this adapter. For @@ -10784,14 +11171,14 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # this client. If that is the case, generally you'll want to invalidate # the query cache using +ActiveRecord::Base.clear_query_cache+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:805 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:870 def raw_connection; end # Disconnects from the database if already connected, and establishes a new # connection with the database. Implementors should define private #reconnect # instead. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:664 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:716 def reconnect!(restore_transactions: T.unsafe(nil)); end # This is meant to be implemented by the adapters that support advisory @@ -10799,25 +11186,25 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # # Return true if we released the lock, otherwise false # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:620 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:672 def release_advisory_lock(lock_id); end # This is meant to be implemented by the adapters that support custom enum types # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:586 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:633 def rename_enum(*, **, &); end # This is meant to be implemented by the adapters that support custom enum types # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:594 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:641 def rename_enum_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:201 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:217 def replica?; end # Returns true if its required to reload the connection between requests for development mode. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:757 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:813 def requires_reloading?; end # Reset the state of this connection, directing the DBMS to clear @@ -10829,37 +11216,37 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # should call super immediately after resetting the connection (and while # still holding @lock). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:729 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:785 def reset!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def restart_db_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:213 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:229 def retry_deadline; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:560 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:607 def return_value_after_insert?(column); end # The role (e.g. +:writing+) for the current connection. In a # non-multi role application, +:writing+ is returned. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:290 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:310 def role; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def rollback_db_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def rollback_to_savepoint(*, **, &); end # Do TransactionRollbackErrors on savepoints affect the parent # transaction? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:388 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:431 def savepoint_errors_invalidate_transactions?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:300 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:320 def schema_cache; end # Returns the version identifier of the schema currently available in @@ -10867,226 +11254,232 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # numbered migration that has been executed, or 0 if no schema # information is present / the database is empty. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:872 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:937 def schema_version; end # Seconds since this connection was returned to the pool # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:334 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:362 def seconds_idle; end # Seconds since this connection last communicated with the server # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:340 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:368 def seconds_since_last_activity; end # The shard (e.g. +:default+) for the current connection. In # a non-sharded application, +:default+ is returned. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:296 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:316 def shard; end # this method must only be called while holding connection pool's mutex (and a desire for segfaults) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:321 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:349 def steal!; end # Does this adapter support application-enforced advisory locking? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:397 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:440 def supports_advisory_locks?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:377 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:420 def supports_bulk_alter?; end # Does this adapter support creating check constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:469 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:512 def supports_check_constraints?; end # Does this adapter support metadata comments on database objects (tables, columns, indexes)? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:504 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:547 def supports_comments?; end # Can comments for tables, columns, and indexes be specified in create/alter table statements? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:509 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:552 def supports_comments_in_create?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:528 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:571 def supports_common_table_expressions?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:552 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:595 def supports_concurrent_connections?; end # Does this adapter support datetime with precision? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:494 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:537 def supports_datetime_with_precision?; end # Does this adapter support DDL rollbacks in transactions? That is, would # CREATE TABLE or ALTER TABLE get rolled back by a transaction? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:373 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:416 def supports_ddl_transactions?; end # Does this adapter support creating deferrable constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:464 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:507 def supports_deferrable_constraints?; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:603 + def supports_disabling_indexes?; end + # Does this adapter support creating exclusion constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:474 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:517 def supports_exclusion_constraints?; end # Does this adapter support explain? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:433 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:476 def supports_explain?; end # Does this adapter support expression indices? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:428 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:471 def supports_expression_index?; end # Does this adapter support database extensions? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:443 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:486 def supports_extensions?; end # Does this adapter support creating foreign key constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:454 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:497 def supports_foreign_keys?; end # Does this adapter support foreign/external tables? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:519 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:562 def supports_foreign_tables?; end # Does this adapter support including non-key columns? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:423 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:466 def supports_index_include?; end # Does this adapter support index sort order? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:413 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:456 def supports_index_sort_order?; end # Does this adapter support creating indexes in the same statement as # creating the table? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:449 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:492 def supports_indexes_in_create?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:548 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:591 def supports_insert_conflict_target?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:540 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:583 def supports_insert_on_duplicate_skip?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:544 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:587 def supports_insert_on_duplicate_update?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:536 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:579 def supports_insert_returning?; end # Does this adapter support JSON data type? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:499 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:542 def supports_json?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:532 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:575 def supports_lazy_transactions?; end # Does this adapter support materialized views? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:489 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:532 def supports_materialized_views?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:556 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:599 def supports_nulls_not_distinct?; end # Does this adapter support optimizer hints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:524 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:567 def supports_optimizer_hints?; end # Does this adapter support partial indices? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:418 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:461 def supports_partial_index?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:408 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:451 def supports_partitioned_indexes?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:392 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:435 def supports_restart_db_transaction?; end # Does this adapter support savepoints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:382 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:425 def supports_savepoints?; end # Does this adapter support setting the isolation level for a transaction? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:438 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:481 def supports_transaction_isolation?; end # Does this adapter support creating unique constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:479 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:522 def supports_unique_constraints?; end # Does this adapter support creating invalid constraints? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:459 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:502 def supports_validate_constraints?; end # Does this adapter support views? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:484 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:527 def supports_views?; end # Does this adapter support virtual columns? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:514 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:557 def supports_virtual_columns?; end # Removes the connection from the pool and disconnect it. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:738 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:794 def throw_away!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def truncate(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def truncate_tables(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:346 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:389 def unprepared_statement; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:38 def update(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:264 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:280 def valid_type?(type); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:856 + def verified?; end + # Checks whether the connection to the database is still active (i.e. not stale). # This is done under the hood by calling #active?. If the connection # is no longer active, then this method will reconnect to the database. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:764 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:820 def verify!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:209 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:225 def verify_timeout; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:45 def visitor; end private @@ -11095,16 +11488,16 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # to both be thread-safe and not rely upon actual server communication. # This is useful for e.g. string escaping methods. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1096 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1172 def any_raw_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1197 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1275 def arel_visitor; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1301 def attempt_configure_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1085 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1161 def backoff(counter); end # Builds the result object. @@ -11112,22 +11505,22 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # This is an internal hook to make possible connection adapters to build # custom result objects with connection-specific data. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1208 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1286 def build_result(columns:, rows:, column_types: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1201 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1279 def build_statement_pool; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:831 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:896 def can_perform_case_insensitive_comparison_for?(column); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1183 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1261 def collector; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1172 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1250 def column_for(table_name, column_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1178 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1256 def column_for_attribute(attribute); end # Perform any necessary initialization upon the newly-established @@ -11138,43 +11531,43 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # Implementations may assume this method will only be called while # holding @lock (or from #initialize). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1219 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1297 def configure_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1230 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1308 def default_prepared_statements; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1189 def extended_type_map_key; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1158 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1236 def instrumenter; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1071 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1147 def invalidate_transaction(exception); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1141 - def log(sql, name = T.unsafe(nil), binds = T.unsafe(nil), type_casted_binds = T.unsafe(nil), async: T.unsafe(nil), &block); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1217 + def log(sql, name = T.unsafe(nil), binds = T.unsafe(nil), type_casted_binds = T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1089 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1165 def reconnect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:953 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1022 def reconnect_can_restore_state?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1066 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1142 def retryable_connection_error?(exception); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1078 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1154 def retryable_query_error?(exception); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1162 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1240 def translate_exception(exception, message:, sql:, binds:); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1129 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1205 def translate_exception_class(native_error, sql, binds); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1195 def type_map; end # Similar to any_raw_connection, but ensures it is validated and @@ -11183,17 +11576,17 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # server... but some drivers fail if they know the connection has gone # away. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1105 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1181 def valid_raw_connection; end # Mark the connection as verified. Call this inside a # `with_raw_connection` block only when the block is guaranteed to # exercise the raw connection. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1061 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1137 def verified!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1234 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1312 def warning_ignored?(warning); end # Lock the monitor, ensure we're properly connected and @@ -11229,190 +11622,193 @@ class ActiveRecord::ConnectionAdapters::AbstractAdapter # still-yielded connection in the outer block), but we currently # provide no special enforcement there. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:990 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1059 def with_raw_connection(allow_retry: T.unsafe(nil), materialize_transactions: T.unsafe(nil)); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 def __callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 def __callbacks=(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkin_callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkin_callbacks=(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkout_callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:34 def _checkout_callbacks=(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:87 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:93 def build_read_query_regexp(*parts); end # Does the database for this adapter exist? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:360 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:403 def database_exists?(config); end # Opens a database console session. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:122 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:128 def dbconsole(config, options = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:884 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:949 def extended_type_map(default_timezone:); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:93 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:99 def find_cmd_and_exec(commands, *args); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:877 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:942 def register_class_with_precision(mapping, key, klass, **kwargs); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:66 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:72 def type_cast_config_to_boolean(config); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:56 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:62 def type_cast_config_to_integer(config); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:74 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:957 + def valid_type?(type); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:80 def validate_default_timezone(config); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 def __class_attr___callbacks; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:33 def __class_attr___callbacks=(new_value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:944 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1013 def extract_limit(sql_type); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:940 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1009 def extract_precision(sql_type); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:933 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1002 def extract_scale(sql_type); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:893 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:962 def initialize_type_map(m); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:926 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:995 def register_class_with_limit(mapping, key, klass); end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:31 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:32 ActiveRecord::ConnectionAdapters::AbstractAdapter::ADAPTER_NAME = T.let(T.unsafe(nil), String) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:41 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:42 ActiveRecord::ConnectionAdapters::AbstractAdapter::COMMENT_REGEX = T.let(T.unsafe(nil), Regexp) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:84 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:90 ActiveRecord::ConnectionAdapters::AbstractAdapter::DEFAULT_READ_QUERY = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:950 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1019 ActiveRecord::ConnectionAdapters::AbstractAdapter::EXTENDED_TYPE_MAPS = T.let(T.unsafe(nil), Concurrent::Map) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:40 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:212 +ActiveRecord::ConnectionAdapters::AbstractAdapter::MAX_JITTER = T.let(T.unsafe(nil), Range) + +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:41 ActiveRecord::ConnectionAdapters::AbstractAdapter::SIMPLE_INT = T.let(T.unsafe(nil), Regexp) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:949 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:1018 ActiveRecord::ConnectionAdapters::AbstractAdapter::TYPE_MAP = T.let(T.unsafe(nil), ActiveRecord::Type::TypeMap) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:245 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:261 class ActiveRecord::ConnectionAdapters::AbstractAdapter::Version include ::Comparable - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:250 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:266 def initialize(version_string, full_version_string = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:255 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:271 def <=>(version_string); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:264 def full_version_string; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:259 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract_adapter.rb:275 def to_s; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:11 -module ActiveRecord::ConnectionAdapters::AbstractPool; end - -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 class ActiveRecord::ConnectionAdapters::AddColumnDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def column; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def column=(_); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:113 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 def new(*_arg0); end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:624 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:616 class ActiveRecord::ConnectionAdapters::AlterTable - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:630 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:622 def initialize(td); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:650 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:642 def add_check_constraint(expression, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:662 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:654 def add_column(name, type, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:642 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:634 def add_foreign_key(to_table, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:625 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:617 def adds; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:627 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:619 def check_constraint_adds; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:627 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:619 def check_constraint_drops; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:628 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:620 def constraint_drops; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:654 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:646 def drop_check_constraint(constraint_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:658 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:650 def drop_constraint(constraint_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:646 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:638 def drop_foreign_key(name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:626 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:618 def foreign_key_adds; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:626 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:618 def foreign_key_drops; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:640 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:632 def name; end end @@ -11483,119 +11879,119 @@ class ActiveRecord::ConnectionAdapters::BoundSchemaReflection::FakePool def with_connection; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 class ActiveRecord::ConnectionAdapters::ChangeColumnDefaultDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def column; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def column=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def default; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def default=(_); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 def new(*_arg0); end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 class ActiveRecord::ConnectionAdapters::ChangeColumnDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def column; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def column=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def name=(_); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 def new(*_arg0); end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 class ActiveRecord::ConnectionAdapters::CheckConstraintDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:189 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:193 def defined_for?(name:, expression: T.unsafe(nil), validate: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:185 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:189 def export_name_on_schema_dump?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def expression; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def expression=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:176 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:180 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def options=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def table_name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def table_name=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:180 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:184 def validate?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:183 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:187 def validated?; end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:179 def new(*_arg0); end end end @@ -11615,22 +12011,25 @@ class ActiveRecord::ConnectionAdapters::Column # +null+ determines if this column allows +NULL+ values. # # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:20 - def initialize(name, default, sql_type_metadata = T.unsafe(nil), null = T.unsafe(nil), default_function = T.unsafe(nil), collation: T.unsafe(nil), comment: T.unsafe(nil), **); end + def initialize(name, cast_type, default, sql_type_metadata = T.unsafe(nil), null = T.unsafe(nil), default_function = T.unsafe(nil), collation: T.unsafe(nil), comment: T.unsafe(nil), **); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:75 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:83 def ==(other); end # whether the column is auto-populated by the database using a sequence # - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:67 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:75 def auto_incremented_by_db?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:71 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:79 def auto_populated?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:34 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:40 def bigint?; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:10 + def cast_type; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:10 def collation; end @@ -11643,16 +12042,19 @@ class ActiveRecord::ConnectionAdapters::Column # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:10 def default_function; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:56 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:63 def encode_with(coder); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:85 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:94 def eql?(other); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:30 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:31 + def fetch_cast_type(connection); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:36 def has_default?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:87 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:96 def hash; end # Returns the human name of the column name. @@ -11660,10 +12062,10 @@ class ActiveRecord::ConnectionAdapters::Column # ===== Examples # Column.new('sales_stage', ...).human_name # => 'Sales stage' # - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:42 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:48 def human_name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:46 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:52 def init_with(coder); end # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:12 @@ -11690,12 +12092,12 @@ class ActiveRecord::ConnectionAdapters::Column # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:12 def type(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:99 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:109 def virtual?; end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:104 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:114 def deduplicated; end end @@ -11709,6 +12111,12 @@ class ActiveRecord::ConnectionAdapters::ColumnDefinition < ::Struct # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:108 def aliased_types(name, fallback); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:78 + def cast_type; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:78 + def cast_type=(_); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:97 def collation; end @@ -11727,6 +12135,9 @@ class ActiveRecord::ConnectionAdapters::ColumnDefinition < ::Struct # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:97 def default=(value); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:112 + def fetch_cast_type(connection); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:97 def if_exists; end @@ -11811,24 +12222,73 @@ end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:79 ActiveRecord::ConnectionAdapters::ColumnDefinition::OPTION_NAMES = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:303 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:307 module ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveSupport::Concern + extend ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods mixes_in_class_methods ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def bigint(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def binary(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 + def blob(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def boolean(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def date(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def datetime(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def decimal(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def float(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def integer(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def json(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:335 + def numeric(*names, **options); end + # Appends a primary key definition to the table definition. # Can be called multiple times, but this is probably not a good idea. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:308 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:327 def primary_key(name, type = T.unsafe(nil), **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def string(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def text(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def time(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def timestamp(*names, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:314 + def virtual(*names, **options); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:331 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:310 module ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:332 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:312 def define_column_methods(*column_types); end end @@ -11893,27 +12353,25 @@ class ActiveRecord::ConnectionAdapters::ConnectionHandler # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:157 def active_connections?(role = T.unsafe(nil)); end - # Returns any connections in use by the current thread back to the pool, - # and also returns connections to the pool cached by threads that are no - # longer alive. + # Returns any connections in use by the current thread back to the pool. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:164 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:162 def clear_active_connections!(role = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:178 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:176 def clear_all_connections!(role = T.unsafe(nil)); end # Clears reloadable connection caches in all connection pools. # # See ConnectionPool#clear_reloadable_connections! for details. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:174 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:172 def clear_reloadable_connections!(role = T.unsafe(nil)); end # Returns true if a connection that's accessible to this class has # already been opened. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:200 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:198 def connected?(connection_name, role: T.unsafe(nil), shard: T.unsafe(nil)); end # Returns the pools for a connection handler and given role. If +:all+ is passed, @@ -11938,7 +12396,7 @@ class ActiveRecord::ConnectionAdapters::ConnectionHandler # # See ConnectionPool#flush! for details. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:185 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:183 def flush_idle_connections!(role = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:81 @@ -11947,7 +12405,7 @@ class ActiveRecord::ConnectionAdapters::ConnectionHandler # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:85 def prevent_writes=(prevent_writes); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:205 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:203 def remove_connection_pool(connection_name, role: T.unsafe(nil), shard: T.unsafe(nil)); end # Locate the connection of the nearest super class. This can be an @@ -11955,33 +12413,33 @@ class ActiveRecord::ConnectionAdapters::ConnectionHandler # opened and set as the active connection for the class it was defined # for (not necessarily the current class). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:193 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:191 def retrieve_connection(connection_name, role: T.unsafe(nil), shard: T.unsafe(nil)); end # Retrieving the connection pool happens a lot, so we cache it in @connection_name_to_pool_manager. # This makes retrieving the connection pool O(1) once the process is warm. # When a connection is established or removed, we invalidate the cache. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:214 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:212 def retrieve_connection_pool(connection_name, role: T.unsafe(nil), shard: T.unsafe(nil), strict: T.unsafe(nil)); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:240 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:238 def connection_name_to_pool_manager; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:282 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:280 def determine_owner_name(owner_name, config); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:256 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:254 def disconnect_pool_from_pool_manager(pool_manager, role, shard); end # Returns the pool manager for a connection name / identifier. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:243 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:241 def get_pool_manager(connection_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:252 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:250 def pool_managers; end # Returns an instance of PoolConfig for a given adapter. @@ -11994,12 +12452,12 @@ class ActiveRecord::ConnectionAdapters::ConnectionHandler # pool_config.db_config.configuration_hash # # => { host: "localhost", database: "foo", adapter: "sqlite3" } # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:275 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:273 def resolve_pool_config(config, connection_name, role, shard); end # Get the existing pool manager or initialize and assign a new one. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_handler.rb:246 def set_pool_manager(connection_descriptor); end end @@ -12068,13 +12526,21 @@ end # There are several connection-pooling-related options that you can add to # your database connection configuration: # -# * +pool+: maximum number of connections the pool may manage (default 5). -# * +idle_timeout+: number of seconds that a connection will be kept -# unused in the pool before it is automatically disconnected (default -# 300 seconds). Set this to zero to keep connections forever. # * +checkout_timeout+: number of seconds to wait for a connection to # become available before giving up and raising a timeout error (default # 5 seconds). +# * +idle_timeout+: number of seconds that a connection will be kept +# unused in the pool before it is automatically disconnected (default +# 300 seconds). Set this to zero to keep connections forever. +# * +keepalive+: number of seconds between keepalive checks if the +# connection has been idle (default 600 seconds). +# * +max_age+: number of seconds the pool will allow the connection to +# exist before retiring it at next checkin. (default Float::INFINITY). +# * +max_connections+: maximum number of connections the pool may manage (default 5). +# Set to +nil+ or -1 for unlimited connections. +# * +min_connections+: minimum number of connections the pool will open and maintain (default 0). +# * +pool_jitter+: maximum reduction factor to apply to +max_age+ and +# +keepalive+ intervals (default 0.2; range 0.0-1.0). # # -- # Synchronization policy: @@ -12082,6 +12548,7 @@ end # * access to these instance variables needs to be in +synchronize+: # * @connections # * @now_connecting +# * @maintaining # * private methods that require being called in a +synchronize+ blocks # are now explicitly documented # @@ -12089,7 +12556,6 @@ end class ActiveRecord::ConnectionAdapters::ConnectionPool include ::ActiveRecord::ConnectionAdapters::QueryCache::ConnectionPoolConfiguration include ::MonitorMixin - include ::ActiveRecord::ConnectionAdapters::AbstractPool # Creates a new ConnectionPool object. +pool_config+ is a PoolConfig # object which describes database connection information (e.g. adapter, @@ -12098,10 +12564,16 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # # The default ConnectionPool maximum size is 5. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:233 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:253 def initialize(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:383 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:344 + def activate; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:348 + def activated?; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:424 def active_connection; end # Returns true if there is an open connection being used for the current thread. @@ -12110,16 +12582,16 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # #lease_connection or #with_connection methods. Connections obtained through # #checkout will not be detected by #active_connection? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:380 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:421 def active_connection?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def async_executor; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:241 def automatic_reconnect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:241 def automatic_reconnect=(_arg0); end # Check-in a database connection back into the pool, indicating that you @@ -12128,7 +12600,7 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # +conn+: an AbstractAdapter object, which was obtained by earlier by # calling #checkout on this pool. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:579 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:667 def checkin(conn); end # Check-out a database connection from the pool, indicating that you want @@ -12146,16 +12618,16 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # Raises: # - ActiveRecord::ConnectionTimeoutError no connection can be obtained from the pool. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:551 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:639 def checkout(checkout_timeout = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:946 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1286 def checkout_and_verify(connection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:241 def checkout_timeout; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:241 def checkout_timeout=(_arg0); end # Clears reloadable connections from the pool and re-connects connections that @@ -12166,7 +12638,7 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # connections in the pool within a timeout interval (default duration is # spec.db_config.checkout_timeout * 2 seconds). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:509 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:597 def clear_reloadable_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end # Clears reloadable connections from the pool and re-connects connections that @@ -12178,15 +12650,15 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # clears the cache and reloads connections without any regard for other # connection owning threads. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:533 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:621 def clear_reloadable_connections!; end # Returns true if a connection has already been opened. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:431 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:492 def connected?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:371 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:412 def connection_descriptor; end # Returns an array containing the connections currently in the pool. @@ -12201,10 +12673,10 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # thread-safety guarantees of the underlying method. Many of the methods # on connection adapter classes are inherently multi-thread unsafe. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:446 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:507 def connections; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def db_config; end # Discards all connections in the pool (even if they're currently @@ -12213,10 +12685,10 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # # See AbstractAdapter#discard! # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:488 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:563 def discard!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:498 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:576 def discarded?; end # Disconnects all connections in the pool, and clears the pool. @@ -12226,7 +12698,7 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # connections in the pool within a timeout interval (default duration is # spec.db_config.checkout_timeout * 2 seconds). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:456 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:517 def disconnect(raise_on_acquisition_timeout = T.unsafe(nil)); end # Disconnects all connections in the pool, and clears the pool. @@ -12236,68 +12708,124 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # spec.db_config.checkout_timeout * 2 seconds), then the pool is forcefully # disconnected without any regard for other connection owning threads. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:479 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:554 def disconnect!; end # Disconnect all connections that have been idle for at least # +minimum_idle+ seconds. Connections currently checked out, or that were # checked in less than +minimum_idle+ seconds ago, are unaffected. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:652 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:736 def flush(minimum_idle = T.unsafe(nil)); end # Disconnect all currently idle connections. Connections currently checked - # out are unaffected. + # out are unaffected. The pool will stop maintaining its minimum size until + # it is reactivated (such as by a subsequent checkout). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:674 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:775 def flush!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:279 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:312 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:307 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:340 def internal_metadata; end + # Prod any connections that have been idle for longer than the configured + # keepalive time. This will incidentally verify the connection is still + # alive, but the main purpose is to show the server (and any intermediate + # network hops) that we're still here and using the connection. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:836 + def keep_alive(threshold = T.unsafe(nil)); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 + def keepalive; end + # Retrieve the connection associated with the current thread, or call # #checkout to obtain one if necessary. # # #lease_connection can be called any number of times; the connection is # held in a cache keyed by a thread. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:316 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:357 def lease_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:295 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:580 + def maintainable?; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 + def max_age; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 + def max_connections; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:328 def migration_context; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:299 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:332 def migrations_paths; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:705 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 + def min_connections; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:894 def new_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:679 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:868 + def num_available_in_queue; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:864 def num_waiting_in_queue; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:323 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:364 def permanent_lease?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:327 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:368 def pin_connection!(lock_thread); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def pool_config; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:902 + def pool_transaction_isolation_level; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:907 + def pool_transaction_isolation_level=(isolation_level); end + + # Preconnect all connections in the pool. This saves pool users from + # having to wait for a connection to be established when first using it + # after checkout. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:819 + def preconnect; end + + # Ensure that the pool contains at least the configured minimum number of + # connections. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:785 + def prepopulate; end + # Recover lost connections for the pool. A lost connection can occur if # a programmer forgets to checkin a connection at the end of a thread # or a thread dies unexpectedly. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:629 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:713 def reap; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def reaper; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:586 + def reaper_lock(&block); end + + # Immediately mark all current connections as due for replacement, + # equivalent to them having reached +max_age+ -- even if there is + # no +max_age+ configured. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:852 + def recycle!; end + # Signal that the thread is finished with the current connection. # #release_connection releases the connection-thread association # and returns the connection to the pool. @@ -12306,50 +12834,53 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # #lease_connection or #with_connection methods, connections obtained through # #checkout will not be automatically released. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:392 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:433 def release_connection(existing_lease = T.unsafe(nil)); end # Remove a connection from the connection pool. The connection will # remain open and active but will no longer be managed by this pool. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:597 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:681 def remove(conn); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:806 + def retire_old_connections(max_age = T.unsafe(nil)); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def role; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:700 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:889 def schedule_query(future_result); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:286 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:319 def schema_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:303 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:336 def schema_migration; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:225 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:245 def schema_reflection(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:290 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:323 def schema_reflection=(schema_reflection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:225 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:245 def server_version(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:242 def shard; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:223 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:243 def size; end # Returns the connection pool's usage statistic. # # ActiveRecord::Base.connection_pool.stat # => { size: 15, connections: 1, busy: 1, dead: 0, idle: 0, waiting: 0, checkout_timeout: 5 } # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:686 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:875 def stat; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:343 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:384 def unpin_connection!; end # Yields a connection from the connection pool to the block. If no connection @@ -12362,9 +12893,12 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # connection will be properly returned to the pool by the code that checked # it out. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:409 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:452 def with_connection(prevent_permanent_checkout: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:473 + def with_pool_transaction_isolation_level(isolation_level, transaction_open, &block); end + private # Acquire a connection by one of 1) immediately removing one @@ -12379,67 +12913,139 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool # Implementation detail: the connection returned by +acquire_connection+ # will already be "+connection.lease+ -ed" to the current thread. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:866 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1167 def acquire_connection(checkout_timeout); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:930 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1270 def adopt_connection(conn); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:757 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1058 def attempt_to_checkout_all_existing_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:718 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:917 def build_async_executor; end # -- # this is unfortunately not concurrent # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:736 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1035 def bulk_make_new_connections(num_new_conns_needed); end # -- # Must be called in a synchronize block. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:806 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1107 def checkout_for_exclusive_access(checkout_timeout); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:941 + # Directly check a specific connection out of the pool. Skips callbacks. + # + # The connection must later either #return_from_maintenance or + # #remove_from_maintenance, or the pool will hang. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:998 + def checkout_for_maintenance(conn); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1281 def checkout_new_connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:714 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:913 def connection_lease; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:896 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1294 + def name_inspect; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1223 def release(conn, owner_thread = T.unsafe(nil)); end # -- # if owner_thread param is omitted, this must be called in synchronize block # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:891 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1218 def remove_connection_from_thread_cache(conn, owner_thread = T.unsafe(nil)); end - # If the pool is not at a @size limit, establish new connection. Connecting + # Remove a connection from the pool after it has been checked out for + # maintenance. It will be automatically replaced with a new connection if + # necessary. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1026 + def remove_from_maintenance(conn); end + + # Return a connection to the pool after it has been checked out for + # maintenance. Does not update the connection's idle time, and skips + # callbacks. + # -- + # We assume that a connection that has required maintenance is less + # desirable (either it's been idle for a long time, or it was just + # created and hasn't been used yet). We'll put it at the back of the + # queue. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1015 + def return_from_maintenance(conn); end + + # Perform maintenance work on pool connections. This method will + # select a connection to work on by calling the +candidate_selector+ + # proc while holding the pool lock. If a connection is selected, it + # will be checked out for maintenance and passed to the + # +maintenance_work+ proc. The connection will always be returned to + # the pool after the proc completes. + # + # If the pool has async threads, all work will be scheduled there. + # Otherwise, this method will block until all work is complete. + # + # Each connection will only be processed once per call to this method, + # but (particularly in the async case) there is no protection against + # a second call to this method starting to work through the list + # before the first call has completed. (Though regular pool behavior + # will prevent two instances from working on the same specific + # connection at the same time.) + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:951 + def sequential_maintenance(candidate_selector, &maintenance_work); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1298 + def shard_inspect; end + + # If the pool is not at a @max_connections limit, establish new connection. Connecting # to the DB is done outside main synchronized section. + # + # If a block is supplied, it is an additional constraint (checked while holding the + # pool lock) on whether a new connection should be established. # -- # Implementation constraint: a newly established connection returned by this # method must be in the +.leased+ state. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:903 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1233 def try_to_checkout_new_connection; end + # -- + # If new connections are already being established in the background, + # and there are fewer threads already waiting than the number of + # upcoming connections, we can just get in queue and wait to be handed a + # connection. This avoids us overshooting the required connection count + # by starting a new connection ourselves, and is likely to be faster + # too (because at least some of the time it takes to establish a new + # connection must have already passed). + # + # If background connections are available, this method will block and + # return a connection. If no background connections are available, it + # will immediately return +nil+. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1202 + def try_to_queue_for_background_connection(checkout_timeout); end + # Take control of all existing connections so a "group" action such as # reload/disconnect can be performed safely. It is no longer enough to # wrap it in +synchronize+ because some pool's actions are allowed # to be performed outside of the main +synchronize+ block. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:750 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1049 def with_exclusively_acquired_all_connections(raise_on_acquisition_timeout = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:826 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:1127 def with_new_connections_blocked; end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:213 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:233 def install_executor_hooks(executor = T.unsafe(nil)); end end end @@ -12447,30 +13053,30 @@ end # Adds the ability to turn a basic fair FIFO queue into one # biased to some thread. # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:137 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:150 module ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:177 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:190 def with_a_bias_for(thread); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:138 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:151 class ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue::BiasedConditionVariable # semantics of condition variables guarantee that +broadcast+, +broadcast_on_biased+, # +signal+ and +wait+ methods are only called while holding a lock # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:141 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:154 def initialize(lock, other_cond, preferred_thread); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:161 def broadcast; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:153 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:166 def broadcast_on_biased; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:158 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:171 def signal; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:167 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:180 def wait(timeout); end end @@ -12480,61 +13086,57 @@ end # @lock as the main pool) so that a returned connection is already # leased and there is no need to re-enter synchronized block. # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:198 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:211 class ActiveRecord::ConnectionAdapters::ConnectionPool::ConnectionLeasingQueue < ::ActiveRecord::ConnectionAdapters::ConnectionPool::Queue include ::ActiveRecord::ConnectionAdapters::ConnectionPool::BiasableQueue private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:202 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:215 def internal_poll(timeout); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:193 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:213 module ActiveRecord::ConnectionAdapters::ConnectionPool::ExecutorHooks class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:199 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:219 def complete(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:195 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:215 def run; end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:148 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:159 class ActiveRecord::ConnectionAdapters::ConnectionPool::Lease - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:151 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:162 def initialize; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:163 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:174 def clear(connection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:160 def connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:160 def connection=(_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:156 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:167 def release; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:160 def sticky; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:160 def sticky=(_arg0); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:174 -class ActiveRecord::ConnectionAdapters::ConnectionPool::LeaseRegistry - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:175 - def initialize; end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:180 +# Thanks to the GVL, the LeaseRegistry doesn't need to be synchronized on MRI +# +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:187 +class ActiveRecord::ConnectionAdapters::ConnectionPool::LeaseRegistry < ::ObjectSpace::WeakKeyMap + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:188 def [](context); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:186 - def clear; end end # = Active Record Connection Pool \Queue @@ -12552,6 +13154,11 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:36 def add(element); end + # Add +element+ to the back of the queue. Never blocks. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:44 + def add_back(element); end + # Test if any threads are currently waiting on the queue. # # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:21 @@ -12559,12 +13166,12 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue # Remove all elements from the queue. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:51 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:59 def clear; end # If +element+ is in the queue, remove and return it, or +nil+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:52 def delete(element); end # Returns the number of threads currently waiting on this @@ -12588,14 +13195,19 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue # - ActiveRecord::ConnectionTimeoutError if +timeout+ is given and no element # becomes available within +timeout+ seconds, # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:71 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:86 def poll(timeout = T.unsafe(nil)); end + # Number of elements in the queue. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:66 + def size; end + private # Test if the queue currently contains any elements. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:85 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:100 def any?; end # A thread can remove an element from the queue without @@ -12603,105 +13215,128 @@ class ActiveRecord::ConnectionAdapters::ConnectionPool::Queue # connections is strictly greater than the number of waiting # threads. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:93 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:108 def can_remove_no_wait?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:76 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:91 def internal_poll(timeout); end # Remove and return the head of the queue if the number of # available elements is strictly greater than the number of # threads currently waiting. Otherwise, return +nil+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:105 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:120 def no_wait_poll; end # Removes and returns the head of the queue if possible, or +nil+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:98 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:113 def remove; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:80 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:95 def synchronize(&block); end # Waits on the queue up to +timeout+ seconds, then removes and # returns the head of the queue. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:111 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/queue.rb:126 def wait_poll(timeout); end end # = Active Record Connection Pool \Reaper # -# Every +frequency+ seconds, the reaper will call +reap+ and +flush+ on -# +pool+. A reaper instantiated with a zero frequency will never reap -# the connection pool. +# The reaper is a singleton that exists in the background of the process +# and is responsible for general maintenance of all the connection pools. +# +# It will reclaim connections that are leased to now-dead threads, +# ensuring that a bad thread can't leak a pool slot forever. By definition, +# this involves touching currently-leased connections, but that is safe +# because the owning thread is known to be dead. +# +# Beyond that, it manages the health of available / unleased connections: +# * retiring connections that have been idle[1] for too long +# * creating occasional activity on inactive[1] connections +# * keeping the pool prepopulated up to its minimum size +# * proactively connecting to the target database from any pooled +# connections that had lazily deferred that step +# * resetting or replacing connections that are known to be broken # -# Configure the frequency by setting +reaping_frequency+ in your database -# YAML file (default 60 seconds). # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:16 +# [1]: "idle" and "inactive" here distinguish between connections that +# have not been requested by the application in a while (idle) and those +# that have not spoken to their remote server in a while (inactive). The +# former is a desirable opportunity to reduce our connection count +# (`idle_timeout`); the latter is a risk that the server or a firewall may +# drop a connection we still anticipate using (avoided by `keepalive`). +# +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:33 class ActiveRecord::ConnectionAdapters::ConnectionPool::Reaper - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:19 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:36 def initialize(pool, frequency); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:17 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:34 def frequency; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:17 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:34 def pool; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:71 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:127 def run; end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:29 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:56 + def discard_pool(pool); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:73 + def pools(refs = T.unsafe(nil)); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:46 def register_pool(pool, frequency); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:40 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool/reaper.rb:83 def spawn_thread(frequency); end end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:124 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:133 ActiveRecord::ConnectionAdapters::ConnectionPool::WeakThreadKeyMap = ObjectSpace::WeakKeyMap -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 class ActiveRecord::ConnectionAdapters::CreateIndexDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def algorithm; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def algorithm=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def if_not_exists; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def if_not_exists=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def index; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def index=(_); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 def new(*_arg0); end end end @@ -12740,25 +13375,25 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # Register a record with the current transaction so that its after_commit and after_rollback callbacks # can be called. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:405 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:424 def add_transaction_record(record, ensure_finalize = T.unsafe(nil)); end # Begins the transaction (and turns off auto-committing). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:410 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:429 def begin_db_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:412 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:431 def begin_deferred_transaction(isolation_level = T.unsafe(nil)); end # Begins the transaction with the isolation level set. Raises an error by # default; adapters that support setting the isolation level should implement # this method. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:432 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:454 def begin_isolated_db_transaction(isolation); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def begin_transaction(*, **, &); end # This is used in the StatementCache object. It returns an object that @@ -12769,43 +13404,46 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # Commits the transaction (and turns on auto-committing). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:446 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:468 def commit_db_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def commit_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:203 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:206 def create(arel, name = T.unsafe(nil), pk = T.unsafe(nil), id_value = T.unsafe(nil), sequence_name = T.unsafe(nil), binds = T.unsafe(nil), returning: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def current_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:468 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:558 + def default_insert_value(column); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:490 def default_sequence_name(table, column); end # Executes the delete statement and returns the number of rows affected. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:212 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:215 def delete(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def dirty_current_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def disable_lazy_transactions!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:498 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:520 def empty_insert_statement_value(primary_key = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def enable_lazy_transactions!(*, **, &); end # Executes delete +sql+ statement in the context of this connection using # +binds+ as the bind substitutes. +name+ is logged along with # the executed +sql+ statement. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:165 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:168 def exec_delete(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end # Executes insert +sql+ statement in the context of this connection using @@ -12815,10 +13453,10 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # `nil` is the default value and maintains default behavior. If an array of column names is passed - # the result will contain values of the specified columns from the inserted row. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:157 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:160 def exec_insert(sql, name = T.unsafe(nil), binds = T.unsafe(nil), pk = T.unsafe(nil), sequence_name = T.unsafe(nil), returning: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:176 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:179 def exec_insert_all(sql, name); end # Executes +sql+ statement in the context of this connection using @@ -12829,20 +13467,20 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # will be cleared. If the query is read-only, consider using #select_all # instead. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:147 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:150 def exec_query(sql, name = T.unsafe(nil), binds = T.unsafe(nil), prepare: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:462 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:484 def exec_restart_db_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:456 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:478 def exec_rollback_db_transaction; end # Executes update +sql+ statement in the context of this connection using # +binds+ as the bind substitutes. +name+ is logged along with # the executed +sql+ statement. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:172 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:175 def exec_update(sql, name = T.unsafe(nil), binds = T.unsafe(nil)); end # Executes the SQL statement in the context of this connection and returns @@ -12860,10 +13498,10 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # method may be manually memory managed. Consider using #exec_query # wrapper instead. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:136 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:139 def execute(sql, name = T.unsafe(nil), allow_retry: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:180 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:183 def explain(arel, binds = T.unsafe(nil), options = T.unsafe(nil)); end # Returns an Arel SQL literal for the CURRENT_TIMESTAMP for usage with @@ -12872,7 +13510,7 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # Adapters supporting datetime with precision should override this to # provide as much precision as is available. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:536 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:544 def high_precision_current_timestamp; end # Executes an INSERT query and returns the new record's ID @@ -12887,7 +13525,7 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # `nil` is the default value and maintains default behavior. If an array of column names is passed - # an array of is returned from the method representing values of the specified columns from the inserted row. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:195 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:198 def insert(arel, name = T.unsafe(nil), pk = T.unsafe(nil), id_value = T.unsafe(nil), sequence_name = T.unsafe(nil), binds = T.unsafe(nil), returning: T.unsafe(nil)); end # Inserts the given fixture into the table. Overridden in adapters that require @@ -12896,38 +13534,38 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # We keep this method to provide fallback # for databases like SQLite that do not support bulk inserts. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:482 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:504 def insert_fixture(fixture, table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:486 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:508 def insert_fixtures_set(fixture_set, tables_to_delete = T.unsafe(nil)); end # Execute a query and returns an ActiveRecord::Result # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:546 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:554 def internal_exec_query(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:372 - def mark_transaction_written_if_write(sql); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:391 + def mark_transaction_written; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def materialize_transactions(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def open_transactions(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:113 - def query(*, **, &); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:116 + def query(sql, name = T.unsafe(nil), allow_retry: T.unsafe(nil), materialize_transactions: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:105 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:108 def query_value(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:109 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:112 def query_values(*, **, &); end # Same as raw_execute but returns an ActiveRecord::Result object. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:541 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:549 def raw_exec_query(*, **, &); end # Hook point called after an isolated DB transaction is committed @@ -12937,68 +13575,58 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # But some databases like SQLite set it on a per connection level # and need to explicitly reset it after commit or rollback. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:442 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:464 def reset_isolation_level; end # Set the sequence to the max value of the table's column. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:473 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:495 def reset_sequence!(table, column, sequence = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:383 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:402 def reset_transaction(restore: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:458 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:480 def restart_db_transaction; end # Rolls back the transaction (and turns on auto-committing). Must be # done if the transaction block raises an exception or returns false. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:450 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:472 def rollback_db_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:464 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:486 def rollback_to_savepoint(name = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def rollback_transaction(*, **, &); end - # Sanitizes the given LIMIT parameter in order to prevent SQL injection. - # - # The +limit+ may be anything that can evaluate to a string via #to_s. It - # should look like an integer, or an Arel SQL literal. - # - # Returns Integer and Arel::Nodes::SqlLiteral limits as is. - # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:508 - def sanitize_limit(limit); end - # Returns an ActiveRecord::Result instance. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:69 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:72 def select_all(arel, name = T.unsafe(nil), binds = T.unsafe(nil), preparable: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil)); end # Returns a record hash with the column names as keys and column values # as values. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:84 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:87 def select_one(arel, name = T.unsafe(nil), binds = T.unsafe(nil), async: T.unsafe(nil)); end # Returns an array of arrays containing the field values. # Order is the same as that returned by +columns+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:101 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:104 def select_rows(arel, name = T.unsafe(nil), binds = T.unsafe(nil), async: T.unsafe(nil)); end # Returns a single value from a record # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:89 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:92 def select_value(arel, name = T.unsafe(nil), binds = T.unsafe(nil), async: T.unsafe(nil)); end # Returns an array of the values of the first column in a select: # select_values("SELECT id FROM companies LIMIT 3") => [1,2,3] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:95 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:98 def select_values(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end # Converts an arel AST to SQL @@ -13126,128 +13754,131 @@ module ActiveRecord::ConnectionAdapters::DatabaseStatements # isolation level. # :args: (requires_new: nil, isolation: nil, &block) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:352 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:355 def transaction(requires_new: T.unsafe(nil), isolation: T.unsafe(nil), joinable: T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:420 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:447 def transaction_isolation_levels; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:365 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:384 def transaction_manager; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:379 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:398 def transaction_open?; end # Executes the truncate statement. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:218 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:221 def truncate(table_name, name = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:225 def truncate_tables(*table_names); end # Executes the update statement and returns the number of rows affected. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:206 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:209 def update(arel, name = T.unsafe(nil), binds = T.unsafe(nil)); end # Fixture value is quoted by Arel, however scalar values # are not quotable. In this case we want to convert # the column value to YAML. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:519 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:527 def with_yaml_fallback(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:386 def within_new_transaction(*, **, &); end # Determines whether the SQL statement is a write query. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:118 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:121 def write_query?(sql); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:570 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:602 def affected_rows(raw_result); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:732 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:759 def arel_from_relation(relation); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:607 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:634 def build_fixture_sql(fixtures, table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:649 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:676 def build_fixture_statements(fixture_set); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:656 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:683 def build_truncate_statement(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:660 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:687 def build_truncate_statements(table_names); end # Receive a native adapter result object and returns an ActiveRecord::Result object. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:566 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:598 def cast_result(raw_result); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:666 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:693 def combine_multi_statements(total_sql); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:603 - def default_insert_value(column); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:594 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:628 def execute_batch(statements, name = T.unsafe(nil), **kwargs); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:740 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:767 def extract_table_ref_from_insert_sql(sql); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:594 + def handle_warnings(raw_result, sql); end + # Same as #internal_exec_query, but yields a native adapter result # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:589 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:623 def internal_execute(sql, name = T.unsafe(nil), binds = T.unsafe(nil), prepare: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil), materialize_transactions: T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:719 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:746 def last_inserted_id(result); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:561 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:590 def perform_query(raw_connection, sql, binds, type_casted_binds, prepare:, notification_payload:, batch:); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:574 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:606 def preprocess_query(sql); end # Lowest level way to execute a query. Doesn't check for illegal writes, doesn't annotate queries, yields a native result object. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:552 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:567 def raw_execute(sql, name = T.unsafe(nil), binds = T.unsafe(nil), prepare: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil), materialize_transactions: T.unsafe(nil), batch: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:723 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:750 def returning_column_values(result); end # Returns an ActiveRecord::Result instance. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:671 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:698 def select(sql, name = T.unsafe(nil), binds = T.unsafe(nil), prepare: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:727 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:754 def single_value_from_rows(rows); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:702 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:729 def sql_for_insert(sql, pk, binds, returning); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:17 def to_sql_and_binds(arel_or_sql_string, binds = T.unsafe(nil), preparable = T.unsafe(nil), allow_retry = T.unsafe(nil)); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:600 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:563 ActiveRecord::ConnectionAdapters::DatabaseStatements::DEFAULT_INSERT_VALUE = T.let(T.unsafe(nil), Arel::Nodes::SqlLiteral) # This is a safe default, even if not high precision on all databases # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:528 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:536 ActiveRecord::ConnectionAdapters::DatabaseStatements::HIGH_PRECISION_CURRENT_TIMESTAMP = T.let(T.unsafe(nil), Arel::Nodes::SqlLiteral) +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/database_statements.rb:439 +ActiveRecord::ConnectionAdapters::DatabaseStatements::TRANSACTION_ISOLATION_LEVELS = T.let(T.unsafe(nil), Hash) + # pkg:gem/activerecord#lib/active_record/connection_adapters/deduplicable.rb:5 module ActiveRecord::ConnectionAdapters::Deduplicable extend ::ActiveSupport::Concern @@ -13275,78 +13906,78 @@ module ActiveRecord::ConnectionAdapters::Deduplicable::ClassMethods def registry; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 class ActiveRecord::ConnectionAdapters::ForeignKeyDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:128 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:132 def column; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:152 def custom_primary_key?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:144 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:148 def deferrable; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:161 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:165 def defined_for?(to_table: T.unsafe(nil), validate: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:157 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:161 def export_name_on_schema_dump?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def from_table; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def from_table=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:124 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:128 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:136 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:140 def on_delete; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:140 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:144 def on_update; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def options=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:132 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:136 def primary_key; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def to_table; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def to_table=(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:152 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:156 def validate?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:155 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:159 def validated?; end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:170 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:174 def default_primary_key; end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:127 def new(*_arg0); end end end @@ -13417,104 +14048,114 @@ class ActiveRecord::ConnectionAdapters::IndexDefinition def concise_options(options); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:115 +# pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:125 class ActiveRecord::ConnectionAdapters::NullColumn < ::ActiveRecord::ConnectionAdapters::Column - # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:116 + # pkg:gem/activerecord#lib/active_record/connection_adapters/column.rb:126 def initialize(name, **); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:14 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:11 class ActiveRecord::ConnectionAdapters::NullPool - include ::ActiveRecord::ConnectionAdapters::AbstractPool - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:24 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:19 def initialize; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:43 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:38 def async_executor; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:41 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:36 def checkin(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:40 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:35 def connection_descriptor; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:45 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:40 def db_config; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:49 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:44 def dirties_query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:39 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:48 + def pool_transaction_isolation_level; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:49 + def pool_transaction_isolation_level=(isolation_level); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:34 def query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:42 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:37 def remove(_); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:38 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:33 def schema_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:34 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:29 def schema_reflection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:30 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:25 def server_version(connection); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:22 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:17 ActiveRecord::ConnectionAdapters::NullPool::NULL_CONFIG = T.let(T.unsafe(nil), ActiveRecord::ConnectionAdapters::NullPool::NullConfig) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:17 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:12 class ActiveRecord::ConnectionAdapters::NullPool::NullConfig - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:18 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/connection_pool.rb:13 def method_missing(*, **, &); end end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:110 class ActiveRecord::ConnectionAdapters::NullTransaction - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:115 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:116 def add_record(record, _ = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:123 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:124 def after_commit; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:124 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:125 def after_rollback; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:122 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:123 def before_commit; end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:112 def closed?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:118 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:119 def dirty!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:118 def dirty?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:120 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:121 def invalidate!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:119 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:120 def invalidated?; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:115 + def isolation; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:127 + def isolation=(_); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:114 def joinable?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:122 def materialized?; end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:113 def open?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:116 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:117 def restartable?; end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:111 def state; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:125 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:126 def user_transaction; end end @@ -13603,40 +14244,40 @@ class ActiveRecord::ConnectionAdapters::PoolManager def shard_names; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 class ActiveRecord::ConnectionAdapters::PrimaryKeyDefinition < ::Struct - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def name=(_); end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def inspect; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def members; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:121 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:125 def new(*_arg0); end end end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:8 module ActiveRecord::ConnectionAdapters::QueryCache - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:194 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:210 def initialize(*); end # Enable the query cache within the block. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:217 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:233 def cache(&block); end # Clears the query cache. @@ -13646,25 +14287,25 @@ module ActiveRecord::ConnectionAdapters::QueryCache # the same SQL query and repeatedly return the same result each time, silently # undermining the randomness you were expecting. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:243 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:259 def clear_query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:233 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:249 def disable_query_cache!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:221 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:237 def enable_query_cache!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:201 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:217 def query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:199 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:215 def query_cache=(_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:212 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:228 def query_cache_enabled; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:247 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:263 def select_all(arel, name = T.unsafe(nil), binds = T.unsafe(nil), preparable: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil)); end # Disable the query cache within the block. @@ -13672,7 +14313,7 @@ module ActiveRecord::ConnectionAdapters::QueryCache # Set dirties: false to prevent query caches on all connections from being cleared by write operations. # (By default, write operations dirty all connections' query caches in case they are replicas whose cache would now be outdated.) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:229 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:245 def uncached(dirties: T.unsafe(nil), &block); end private @@ -13680,23 +14321,23 @@ module ActiveRecord::ConnectionAdapters::QueryCache # Database adapters can override this method to # provide custom cache information. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:319 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:335 def cache_notification_info(sql, name, binds); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:311 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:327 def cache_notification_info_result(sql, name, binds, result); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:289 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:305 def cache_sql(sql, name, binds); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:271 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:287 def lookup_sql_cache(sql, name, binds); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:267 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:283 def unset_query_cache!; end class << self - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:20 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:18 def dirties_query_cache(base, *method_names); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:12 @@ -13704,103 +14345,123 @@ module ActiveRecord::ConnectionAdapters::QueryCache end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:116 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:132 module ActiveRecord::ConnectionAdapters::QueryCache::ConnectionPoolConfiguration - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:117 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:133 def initialize(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:132 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:148 def checkout_and_verify(connection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:177 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:193 def clear_query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:173 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:189 def dirties_query_cache; end # Disable the query cache within the block. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:139 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:155 def disable_query_cache(dirties: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:164 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:180 def disable_query_cache!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:165 def enable_query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:159 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:175 def enable_query_cache!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:187 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:203 def query_cache; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:169 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:185 def query_cache_enabled; end end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:9 ActiveRecord::ConnectionAdapters::QueryCache::DEFAULT_SIZE = T.let(T.unsafe(nil), Integer) -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:97 +# Each connection pool has one of these registries. They map execution +# contexts to query cache stores. +# +# The keys of the internal map are threads or fibers (whatever +# ActiveSupport::IsolatedExecutionState.context returns), and their +# associated values are their respective query cache stores. +# +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:113 class ActiveRecord::ConnectionAdapters::QueryCache::QueryCacheRegistry - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:98 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:114 def initialize; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:109 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:125 def clear; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:103 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:119 def compute_if_absent(context); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:34 +# This is the actual query cache store. +# +# It has an internal hash whose keys are either SQL strings, or arrays of +# two elements [SQL string, binds], if there are binds. The hash values +# are their corresponding ActiveRecord::Result objects. +# +# Keeping the hash size under max size is achieved with LRU eviction. +# +# The store gets passed a version object, which is shared among the query +# cache stores of a given connection pool (see ConnectionPoolConfiguration +# down below). The version value may be externally changed as a way to +# signal cache invalidation, that is why all methods have a guard for it. +# +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:44 class ActiveRecord::ConnectionAdapters::QueryCache::Store - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:39 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:49 def initialize(version, max_size); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:58 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:68 def [](key); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:83 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:93 def clear; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:67 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:77 def compute_if_absent(key); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:35 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:45 def dirties; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:35 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:45 def dirties=(_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:37 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:47 def dirties?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:53 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:63 def empty?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:35 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:45 def enabled; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:35 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:45 def enabled=(_arg0); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:36 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:46 def enabled?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:48 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:58 def size; end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:89 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/query_cache.rb:99 def check_version; end end # = Active Record Connection Adapters \Quoting # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:9 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:8 module ActiveRecord::ConnectionAdapters::Quoting extend ::ActiveSupport::Concern @@ -13810,45 +14471,35 @@ module ActiveRecord::ConnectionAdapters::Quoting # MySQL might perform dangerous castings when comparing a string to a number, # so this method will cast numbers to string. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:112 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:113 def cast_bound_value(value); end - # If you are having to call this function, you are likely doing something - # wrong. The column does not have sufficient type information if the user - # provided a custom type on the class level either explicitly (via - # Attributes::ClassMethods#attribute) or implicitly (via - # AttributeMethods::Serialization::ClassMethods#serialize, +time_zone_aware_attributes+). - # In almost all cases, the sql type should only be used to change quoting behavior, when the primitive to - # represent the type doesn't sufficiently reflect the differences - # (varchar vs binary) for example. The type used to get this primitive - # should have been provided before reaching the connection adapter. - # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:125 - def lookup_cast_type_from_column(column); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:213 + def lookup_cast_type(sql_type); end # Quotes the column value to help prevent # {SQL injection attacks}[https://en.wikipedia.org/wiki/SQL_injection]. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:73 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:72 def quote(value); end # Quotes the column name. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:136 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:124 def quote_column_name(column_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:157 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:145 def quote_default_expression(value, column); end # Quotes a string, escaping any ' (single quote) and \ (backslash) # characters. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:131 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:119 def quote_string(s); end # Quotes the table name. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:141 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:129 def quote_table_name(table_name); end # Override to return the quoted table name for assignment. Defaults to @@ -13860,28 +14511,28 @@ module ActiveRecord::ConnectionAdapters::Quoting # We override this in the sqlite3 and postgresql adapters to use only # the column name (as per syntax requirements). # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:153 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:141 def quote_table_name_for_assignment(table, attr); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:206 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:196 def quoted_binary(value); end # Quote date/time values for use in SQL input. Includes microseconds # if the value is a Time responding to usec. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:184 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:174 def quoted_date(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:174 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:164 def quoted_false; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:201 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:191 def quoted_time(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:166 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:156 def quoted_true; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:210 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:200 def sanitize_as_sql_comment(value); end # Cast a +value+ to a type that the database understands. For example, @@ -13891,22 +14542,19 @@ module ActiveRecord::ConnectionAdapters::Quoting # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:94 def type_cast(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:178 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:168 def unquoted_false; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:170 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:160 def unquoted_true; end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:234 - def lookup_cast_type(sql_type); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:224 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:219 def type_casted_binds(binds); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:12 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:11 module ActiveRecord::ConnectionAdapters::Quoting::ClassMethods # Regexp for column names (with or without a table name prefix). # Matches the following: @@ -13914,7 +14562,7 @@ module ActiveRecord::ConnectionAdapters::Quoting::ClassMethods # "#{table_name}.#{column_name}" # "#{column_name}" # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:18 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:17 def column_name_matcher; end # Regexp for column names with order (with or without a table name prefix, @@ -13929,145 +14577,156 @@ module ActiveRecord::ConnectionAdapters::Quoting::ClassMethods # "#{column_name} #{direction} NULLS FIRST" # "#{column_name} NULLS LAST" # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:43 def column_name_with_order_matcher; end # Quotes the column name. Must be implemented by subclasses # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:61 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:60 def quote_column_name(column_name); end # Quotes the table name. Defaults to column name quoting. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:66 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/quoting.rb:65 def quote_table_name(table_name); end end # = Active Record Real \Transaction # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:449 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:470 class ActiveRecord::ConnectionAdapters::RealTransaction < ::ActiveRecord::ConnectionAdapters::Transaction - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:487 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:508 def commit; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:450 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:471 def materialize!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:464 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:485 def restart; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:478 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:499 def rollback; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:198 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:202 class ActiveRecord::ConnectionAdapters::ReferenceDefinition - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:199 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:203 def initialize(name, polymorphic: T.unsafe(nil), index: T.unsafe(nil), foreign_key: T.unsafe(nil), type: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:219 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:223 def add(table_name, connection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:233 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:237 def add_to(table); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:250 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:254 def as_options(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:288 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:292 def column_name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:292 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:296 def column_names; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:280 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:284 def columns; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:254 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:258 def conditional_options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def foreign_key; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:276 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:280 def foreign_key_options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:296 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:300 def foreign_table_name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def index; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:266 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:270 def index_options(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def polymorphic; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:262 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:266 def polymorphic_index_name(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:258 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:262 def polymorphic_options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:248 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:252 def type; end end # = Active Record Restart Parent \Transaction # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:376 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:387 class ActiveRecord::ConnectionAdapters::RestartParentTransaction < ::ActiveRecord::ConnectionAdapters::Transaction - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:377 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:388 def initialize(connection, parent_transaction, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:396 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:407 def commit; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:400 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:411 def full_rollback?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:389 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:400 + def isolation(*, **, &); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:400 def materialize!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:389 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:400 def materialized?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:389 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:400 def restart(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:391 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:402 def rollback; end end # = Active Record Savepoint \Transaction # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:404 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:415 class ActiveRecord::ConnectionAdapters::SavepointTransaction < ::ActiveRecord::ConnectionAdapters::Transaction - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:405 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:416 def initialize(connection, savepoint_name, parent_transaction, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:439 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:460 def commit; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:445 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:466 def full_rollback?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:417 + # Delegates to parent transaction's isolation level + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:430 + def isolation; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:434 + def isolation=(isolation); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:438 def materialize!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:422 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:443 def restart; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:431 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:452 def rollback; end end @@ -14203,7 +14862,7 @@ class ActiveRecord::ConnectionAdapters::SchemaCreation private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:175 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:180 def action_sql(action, dependency); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:150 @@ -14215,6 +14874,9 @@ class ActiveRecord::ConnectionAdapters::SchemaCreation # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:146 def column_options(o); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:16 + def lookup_cast_type(*, **, &); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:16 def options_include_default?(*, **, &); end @@ -14224,6 +14886,9 @@ class ActiveRecord::ConnectionAdapters::SchemaCreation # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:16 def quote_default_expression(*, **, &); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:165 + def quote_default_expression_for_column_definition(default, column_definition); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:16 def quote_table_name(*, **, &); end @@ -14259,10 +14924,10 @@ class ActiveRecord::ConnectionAdapters::SchemaCreation # Returns any SQL string to go between CREATE and TABLE. May be nil. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:171 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:176 def table_modifier_in_create(o); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:165 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:170 def to_sql(sql); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_creation.rb:16 @@ -14330,13 +14995,13 @@ class ActiveRecord::ConnectionAdapters::SchemaDumper < ::ActiveRecord::SchemaDum # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:25 def prepare_column_options(column); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:101 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:102 def schema_collation(column); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:86 def schema_default(column); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:97 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:98 def schema_expression(column); end # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_dumper.rb:62 @@ -14442,11 +15107,11 @@ class ActiveRecord::ConnectionAdapters::SchemaReflection end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:8 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:9 module ActiveRecord::ConnectionAdapters::SchemaStatements include ::ActiveRecord::Migration::JoinTable - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1069 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1098 def add_belongs_to(table_name, ref_name, **options); end # Adds a new check constraint to the table. +expression+ is a String @@ -14466,7 +15131,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # [:validate] # (PostgreSQL only) Specify whether or not the constraint should be validated. Defaults to +true+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1296 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1326 def add_check_constraint(table_name, expression, if_not_exists: T.unsafe(nil), **options); end # Add a new +type+ column named +column_name+ to +table_name+. @@ -14559,10 +15224,10 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # Ignores the method call if the column exists # add_column(:shapes, :triangle, 'polygon', if_not_exists: true) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:639 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:655 def add_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:646 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:662 def add_columns(table_name, *column_names, type:, **options); end # Adds a new foreign key. +from_table+ is the table with the key column, @@ -14632,7 +15297,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # (PostgreSQL only) Specify whether or not the foreign key should be deferrable. Valid values are booleans or # +:deferred+ or +:immediate+ to specify the default behavior. Defaults to +false+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1176 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1205 def add_foreign_key(from_table, to_table, **options); end # Adds a new index to the table. +column_name+ can be a single Symbol, or @@ -14781,10 +15446,22 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # For more information see the {"Transactional Migrations" section}[rdoc-ref:Migration]. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:918 + # ====== Creating an index that is not used by queries + # + # add_index(:developers, :name, enabled: false) + # + # generates: + # + # CREATE INDEX index_developers_on_name ON developers (name) INVISIBLE -- MySQL + # + # CREATE INDEX index_developers_on_name ON developers (name) IGNORED -- MariaDB + # + # Note: only supported by MySQL version 8.0.0 and greater, and MariaDB version 10.6.0 and greater. + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:947 def add_index(table_name, column_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1479 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1509 def add_index_options(table_name, column_name, name: T.unsafe(nil), if_not_exists: T.unsafe(nil), internal: T.unsafe(nil), **options); end # Adds a reference. The reference column is a bigint by default, @@ -14834,7 +15511,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # add_reference(:products, :supplier, foreign_key: { to_table: :firms }) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1066 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1095 def add_reference(table_name, ref_name, **options); end # Adds timestamps (+created_at+ and +updated_at+) columns to +table_name+. @@ -14842,10 +15519,10 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # add_timestamps(:suppliers, null: true) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1462 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1492 def add_timestamps(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1367 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1397 def assume_migrated_upto_version(version); end # Builds an AlterTable object for adding a column to a table. @@ -14854,7 +15531,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # if the same arguments were passed to #add_column. See #add_column for information about # passing a +table_name+, +column_name+, +type+ and other options that can be passed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:657 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:673 def build_add_column_definition(table_name, column_name, type, **options); end # Builds a ChangeColumnDefaultDefinition object. @@ -14863,7 +15540,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # if the same arguments were passed to #change_column_default. See #change_column_default for # information about passing a +table_name+, +column_name+, +type+ and other options that can be passed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:741 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:757 def build_change_column_default_definition(table_name, column_name, default_or_changes); end # Builds a CreateIndexDefinition object. @@ -14872,7 +15549,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # if the same arguments were passed to #add_index. See #add_index for information about # passing a +table_name+, +column_name+, and other additional options that can be passed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:928 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:957 def build_create_index_definition(table_name, column_name, **options); end # Builds a TableDefinition object for a join table. @@ -14881,17 +15558,17 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # if the same arguments were passed to #create_join_table. See #create_join_table for # information about what arguments should be passed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:411 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:427 def build_create_join_table_definition(table_1, table_2, column_options: T.unsafe(nil), **options); end # Returns a TableDefinition object containing information about the table that would be created # if the same arguments were passed to #create_table. See #create_table for information about # passing a +table_name+, and other additional options that can be passed. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:336 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:337 def build_create_table_definition(table_name, id: T.unsafe(nil), primary_key: T.unsafe(nil), force: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1558 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1602 def bulk_change_table(table_name, operations); end # Changes the column's definition according to the new options. @@ -14900,7 +15577,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # change_column(:suppliers, :name, :string, limit: 80) # change_column(:accounts, :description, :text) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:714 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:730 def change_column(table_name, column_name, type, **options); end # Changes the comment for a column or removes it if +nil+. @@ -14910,7 +15587,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # change_column_comment(:posts, :state, from: "old_comment", to: "new_comment") # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1540 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1570 def change_column_comment(table_name, column_name, comment_or_changes); end # Sets a new default value for a column: @@ -14927,7 +15604,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # change_column_default(:posts, :state, from: nil, to: "draft") # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:732 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:748 def change_column_default(table_name, column_name, default_or_changes); end # Sets or removes a NOT NULL constraint on a column. The +null+ flag @@ -14947,7 +15624,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # Please note the fourth argument does not set a column's default. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:761 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:777 def change_column_null(table_name, column_name, null, default = T.unsafe(nil)); end # A block for changing columns in +table+. @@ -15029,7 +15706,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # See also Table for details on all of the various column transformations. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:513 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:529 def change_table(table_name, base = T.unsafe(nil), **options); end # Changes the comment for a table or removes it if +nil+. @@ -15039,23 +15716,23 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # change_table_comment(:posts, from: "old_comment", to: "new_comment") # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1530 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1560 def change_table_comment(table_name, comment_or_changes); end # Checks to see if a check constraint exists on a table for a given check constraint definition. # # check_constraint_exists?(:products, name: "price_check") # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1344 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1374 def check_constraint_exists?(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1308 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1338 def check_constraint_options(table_name, expression, options); end # Returns an array of check constraints for the given table. # The check constraints are represented as CheckConstraintDefinition objects. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1276 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1306 def check_constraints(table_name); end # Checks to see if a column exists in a given table. @@ -15075,12 +15752,12 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # column_exists?(:suppliers, :name, :string, null: false) # column_exists?(:suppliers, :tax, :decimal, precision: 8, scale: 2) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:132 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:133 def column_exists?(table_name, column_name, type = T.unsafe(nil), **options); end # Returns an array of +Column+ objects for the table specified by +table_name+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:107 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:108 def columns(table_name); end # Given a set of columns and an ORDER BY clause, returns the columns for a SELECT DISTINCT. @@ -15089,7 +15766,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # columns_for_distinct("posts.id", ["posts.created_at desc"]) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1428 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1458 def columns_for_distinct(columns, orders); end # Creates a new join table with the name created using the lexical order of the first two @@ -15107,11 +15784,13 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # Creates a table called 'music_artists_records' with no id. # create_join_table('music_artists', 'music_records') # + # See {connection.add_reference}[rdoc-ref:SchemaStatements#add_reference] + # for details of the options you can use in +column_options+. +column_options+ + # will be applied to both columns. + # # You can pass an +options+ hash which can include the following keys: # [:table_name] # Sets the table name, overriding the default. - # [:column_options] - # Any extra options you want appended to the columns definition. # [:options] # Any extra options you want appended to the table definition. # [:temporary] @@ -15128,6 +15807,19 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # t.index :category_id # end # + # ====== Add foreign keys with delete cascade + # + # create_join_table(:assemblies, :parts, column_options: { foreign_key: { on_delete: :cascade } }) + # + # generates: + # + # CREATE TABLE assemblies_parts ( + # assembly_id bigint NOT NULL, + # part_id bigint NOT NULL, + # CONSTRAINT fk_rails_0d8a572d89 FOREIGN KEY ("assembly_id") REFERENCES "assemblies" ("id") ON DELETE CASCADE, + # CONSTRAINT fk_rails_ec7b48402b FOREIGN KEY ("part_id") REFERENCES "parts" ("id") ON DELETE CASCADE + # ) + # # ====== Add a backend specific option to the generated SQL (MySQL) # # create_join_table(:assemblies, :parts, options: 'ENGINE=InnoDB DEFAULT CHARSET=utf8') @@ -15139,10 +15831,10 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # part_id bigint NOT NULL, # ) ENGINE=InnoDB DEFAULT CHARSET=utf8 # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:392 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:408 def create_join_table(table_1, table_2, column_options: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1544 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1588 def create_schema_dumper(options); end # Creates a new table with the name +table_name+. +table_name+ may either @@ -15291,23 +15983,30 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # See also TableDefinition#column for details on how to create columns. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:296 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:297 def create_table(table_name, id: T.unsafe(nil), primary_key: T.unsafe(nil), force: T.unsafe(nil), **options, &block); end # Checks to see if the data source +name+ exists on the database. # # data_source_exists?(:ebooks) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:44 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:45 def data_source_exists?(name); end # Returns the relation names usable to back Active Record models. # For most adapters this means all #tables and #views. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:34 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:35 def data_sources; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1432 + # Prevents an index from being used by queries. + # + # disable_index(:users, :email) + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1584 + def disable_index(table_name, index_name); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1462 def distinct_relation_for_primary_key(relation); end # Drops the join table specified by the given arguments. @@ -15317,7 +16016,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # to provide one in a migration's +change+ method so it can be reverted. # In that case, the block will be used by #create_join_table. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:430 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:446 def drop_join_table(table_1, table_2, **options); end # Drops a table or tables from the database. @@ -15333,13 +16032,20 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # it can be helpful to provide these in a migration's +change+ method so it can be reverted. # In that case, +options+ and the block will be used by #create_table except if you provide more than one table which is not supported. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:543 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:559 def drop_table(*table_names, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1358 - def dump_schema_information; end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1388 + def dump_schema_versions; end + + # Enables an index to be used by queries. + # + # enable_index(:users, :email) + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1577 + def enable_index(table_name, index_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1244 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1274 def foreign_key_column_for(table_name, column_name); end # Checks to see if a foreign key exists on a table for a given foreign key definition. @@ -15353,19 +16059,19 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # Checks to see if a foreign key with a custom name exists. # foreign_key_exists?(:accounts, name: "special_fk_name") # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1240 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1270 def foreign_key_exists?(from_table, to_table = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1249 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1279 def foreign_key_options(from_table, to_table, options); end # Returns an array of foreign keys for the given table. # The foreign keys are represented as ForeignKeyDefinition objects. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1106 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1135 def foreign_keys(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1507 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1537 def index_algorithm(algorithm); end # Checks to see if an index exists on a table for a given index definition. @@ -15385,49 +16091,49 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # Check a valid index exists (PostgreSQL only) # index_exists?(:suppliers, :company_id, valid: true) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:102 - def index_exists?(table_name, column_name, **options); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:103 + def index_exists?(table_name, column_name = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:995 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1024 def index_name(table_name, options); end # Verifies the existence of an index with a given name. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1014 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1043 def index_name_exists?(table_name, index_name); end # Returns an array of indexes for the given table. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:81 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:82 def indexes(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1363 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1393 def internal_string_options_for_primary_key; end # Returns the maximum length of an index name in bytes. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1596 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1640 def max_index_name_size; end # Returns a hash of mappings from the abstract data types to the native # database types. See TableDefinition#column for details on the recognized # abstract data types. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:14 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:15 def native_database_types; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1520 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1550 def options_include_default?(options); end # Returns just a table's primary key # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:145 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:146 def primary_key(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1513 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1543 def quoted_columns_for_index(column_names, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1102 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1131 def remove_belongs_to(table_name, ref_name, foreign_key: T.unsafe(nil), polymorphic: T.unsafe(nil), **options); end # Removes the given check constraint from the table. Removing a check constraint @@ -15444,7 +16150,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # to provide this in a migration's +change+ method so it can be reverted. # In that case, +expression+ will be used by #add_check_constraint. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1327 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1357 def remove_check_constraint(table_name, expression = T.unsafe(nil), if_exists: T.unsafe(nil), **options); end # Removes the column from the table definition. @@ -15463,7 +16169,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # remove_column(:suppliers, :qualification, if_exists: true) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:702 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:718 def remove_column(table_name, column_name, type = T.unsafe(nil), **options); end # Removes the given columns from the table definition. @@ -15474,10 +16180,10 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # remove_columns(:suppliers, :qualification, :experience, type: :string, null: false) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:678 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:694 def remove_columns(table_name, *column_names, type: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1351 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1381 def remove_constraint(table_name, constraint_name); end # Removes the given foreign key from the table. Any option parameters provided @@ -15511,7 +16217,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # [:to_table] # The name of the table that contains the referenced primary key. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1217 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1247 def remove_foreign_key(from_table, to_table = T.unsafe(nil), **options); end # Removes the given index from the table. @@ -15551,7 +16257,7 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # For more information see the {"Transactional Migrations" section}[rdoc-ref:Migration]. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:969 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:998 def remove_index(table_name, column_name = T.unsafe(nil), **options); end # Removes the reference(s). Also removes a +type+ column if one exists. @@ -15568,21 +16274,21 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # remove_reference(:products, :user, foreign_key: true) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1085 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1114 def remove_reference(table_name, ref_name, foreign_key: T.unsafe(nil), polymorphic: T.unsafe(nil), **options); end # Removes the timestamp columns (+created_at+ and +updated_at+) from the table definition. # # remove_timestamps(:suppliers) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1471 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1501 def remove_timestamps(table_name, **options); end # Renames a column. # # rename_column(:suppliers, :description, :name) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:769 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:785 def rename_column(table_name, column_name, new_column_name); end # Renames an index. @@ -15591,205 +16297,211 @@ module ActiveRecord::ConnectionAdapters::SchemaStatements # # rename_index :people, 'index_people_on_last_name', 'index_users_on_last_name' # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:983 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1012 def rename_index(table_name, old_name, new_name); end # Renames a table. # # rename_table('octopuses', 'octopi') # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:527 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:543 def rename_table(table_name, new_name, **); end # Returns an instance of SchemaCreation, which can be used to visit a schema definition # object and return DDL. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1554 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1598 def schema_creation; end # Truncates a table alias according to the limits of the current adapter. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:28 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:29 def table_alias_for(table_name); end # Returns the table comment that's stored in database metadata. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:23 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:24 def table_comment(table_name); end # Checks to see if the table +table_name+ exists on the database. # # table_exists?(:developers) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:59 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:60 def table_exists?(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:18 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:19 def table_options(table_name); end # Returns an array of table names defined in the database. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:51 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:52 def tables; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1388 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1418 def type_to_sql(type, limit: T.unsafe(nil), precision: T.unsafe(nil), scale: T.unsafe(nil), **); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1475 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1505 def update_table_definition(table_name, base); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1548 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1592 def use_foreign_keys?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1587 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1631 def valid_column_definition_options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1591 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1635 def valid_primary_key_options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1583 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1627 def valid_table_definition_options; end # Checks to see if the view +view_name+ exists on the database. # # view_exists?(:ebooks) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:74 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:75 def view_exists?(view_name); end # Returns an array of view names defined in the database. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:66 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:67 def views; end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1840 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1911 def add_column_for_alter(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1625 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1669 def add_index_sort_order(quoted_columns, **options); end # Overridden by the MySQL adapter for supporting index lengths and by # the PostgreSQL adapter for supporting operator classes. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1642 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1690 def add_options_for_index_columns(quoted_columns, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1863 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1934 def add_timestamps_for_alter(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1832 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1903 def can_remove_index_by_name?(column_name, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1846 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1917 def change_column_default_for_alter(table_name, column_name, default_or_changes); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1800 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1865 def check_constraint_for(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1806 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1871 def check_constraint_for!(table_name, expression: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1790 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1855 def check_constraint_name(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1621 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1665 def column_options_keys; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1708 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1760 def create_alter_table(name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1704 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1756 + def create_index_definition(table_name, name, unique, columns, **options); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1752 def create_table_definition(name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1893 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1956 def data_source_sql(name = T.unsafe(nil), type: T.unsafe(nil)); end # Try to identify whether the given column name is an expression # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1748 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1800 def expression_column_name?(column_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1778 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1843 def extract_foreign_key_action(specifier); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1830 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1901 def extract_new_comment_value(default_or_changes); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1823 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1894 def extract_new_default_value(default_or_changes); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1720 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1772 def fetch_type_metadata(sql_type); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1768 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1820 def foreign_key_for(from_table, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1773 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1838 def foreign_key_for!(from_table, to_table: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1758 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1810 def foreign_key_name(table_name, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1786 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1851 def foreign_keys_enabled?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1601 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1645 def generate_index_name(table_name, column); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1731 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1783 def index_column_names(column_names); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1650 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1698 def index_name_for_remove(table_name, column_name, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1739 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1791 def index_name_options(column_names); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1880 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1951 def insert_versions_sql(versions); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1632 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1680 def options_for_index_columns(options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1897 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1960 def quoted_scope(name = T.unsafe(nil), type: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1836 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1907 def reference_name_for_table(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1855 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1926 def remove_column_for_alter(table_name, column_name, type = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1859 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1930 def remove_columns_for_alter(table_name, *column_names, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1876 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1947 def remove_timestamps_for_alter(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1691 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1739 def rename_column_indexes(table_name, column_name, new_column_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1851 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1922 def rename_column_sql(table_name, column_name, new_column_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1682 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1730 def rename_table_indexes(table_name, new_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1752 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1804 def strip_table_name_prefix_and_suffix(table_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1615 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1676 + def valid_index_options; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1659 def validate_change_column_null_argument!(value); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1712 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1764 def validate_create_table_options!(options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1811 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1876 def validate_index_length!(table_name, new_name, internal = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1817 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_statements.rb:1885 def validate_table_length!(table_name); end end @@ -15877,29 +16589,17 @@ end # t.remove_timestamps # end # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:715 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:707 class ActiveRecord::ConnectionAdapters::Table include ::ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:720 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:712 def initialize(table_name, base); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:877 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:869 def belongs_to(*args, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def bigint(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def binary(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:327 - def blob(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def boolean(*names, **options); end - # Changes the column's definition according to the new options. # # t.change(:name, :string, limit: 80) @@ -15907,7 +16607,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See TableDefinition#column for details of the options you can use. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:797 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:789 def change(column_name, type, **options); end # Sets a new default value for a column. @@ -15918,7 +16618,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.change_column_default}[rdoc-ref:SchemaStatements#change_column_default] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:809 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:801 def change_default(column_name, default_or_changes); end # Sets or removes a NOT NULL constraint on a column. @@ -15928,7 +16628,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.change_column_null}[rdoc-ref:SchemaStatements#change_column_null] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:819 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:811 def change_null(column_name, null, default = T.unsafe(nil)); end # Adds a check constraint. @@ -15937,7 +16637,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.add_check_constraint}[rdoc-ref:SchemaStatements#add_check_constraint] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:929 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:921 def check_constraint(*args, **options); end # Checks if a check_constraint exists on a table. @@ -15948,7 +16648,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.check_constraint_exists?}[rdoc-ref:SchemaStatements#check_constraint_exists?] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:949 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:941 def check_constraint_exists?(*args, **options); end # Adds a new column to the named table. @@ -15957,7 +16657,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See TableDefinition#column for details of the options you can use. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:730 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:722 def column(column_name, type, index: T.unsafe(nil), **options); end # Checks to see if a column exists. @@ -15966,21 +16666,9 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.column_exists?}[rdoc-ref:SchemaStatements#column_exists?] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:744 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:736 def column_exists?(column_name, type = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def date(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def datetime(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def decimal(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def float(*names, **options); end - # Adds a foreign key to the table using a supplied table name. # # t.foreign_key(:authors) @@ -15988,7 +16676,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.add_foreign_key}[rdoc-ref:SchemaStatements#add_foreign_key] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:899 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:891 def foreign_key(*args, **options); end # Checks to see if a foreign key exists. @@ -15997,7 +16685,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.foreign_key_exists?}[rdoc-ref:SchemaStatements#foreign_key_exists?] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:920 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:912 def foreign_key_exists?(*args, **options); end # Adds a new index to the table. +column_name+ can be a single Symbol, or @@ -16009,7 +16697,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.add_index}[rdoc-ref:SchemaStatements#add_index] for details of the options you can use. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:756 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:748 def index(column_name, **options); end # Checks to see if an index exists. @@ -16020,21 +16708,12 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.index_exists?}[rdoc-ref:SchemaStatements#index_exists?] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:768 - def index_exists?(column_name, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def integer(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def json(*names, **options); end + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:760 + def index_exists?(column_name = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:718 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:710 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:328 - def numeric(*names, **options); end - # Adds a reference. # # t.references(:user) @@ -16042,7 +16721,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.add_reference}[rdoc-ref:SchemaStatements#add_reference] for details of the options you can use. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:871 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:863 def references(*args, **options); end # Removes the column(s) from the table definition. @@ -16052,10 +16731,10 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_columns}[rdoc-ref:SchemaStatements#remove_columns] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:829 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:821 def remove(*column_names, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:891 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:883 def remove_belongs_to(*args, **options); end # Removes the given check constraint from the table. @@ -16064,7 +16743,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_check_constraint}[rdoc-ref:SchemaStatements#remove_check_constraint] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:938 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:930 def remove_check_constraint(*args, **options); end # Removes the given foreign key from the table. @@ -16074,7 +16753,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_foreign_key}[rdoc-ref:SchemaStatements#remove_foreign_key] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:910 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:902 def remove_foreign_key(*args, **options); end # Removes the given index from the table. @@ -16086,7 +16765,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_index}[rdoc-ref:SchemaStatements#remove_index] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:842 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:834 def remove_index(column_name = T.unsafe(nil), **options); end # Removes a reference. Optionally removes a +type+ column. @@ -16096,7 +16775,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_reference}[rdoc-ref:SchemaStatements#remove_reference] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:885 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:877 def remove_references(*args, **options); end # Removes the timestamp columns (+created_at+ and +updated_at+) from the table. @@ -16105,7 +16784,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.remove_timestamps}[rdoc-ref:SchemaStatements#remove_timestamps] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:852 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:844 def remove_timestamps(**options); end # Renames a column. @@ -16114,7 +16793,7 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.rename_column}[rdoc-ref:SchemaStatements#rename_column] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:861 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:853 def rename(column_name, new_column_name); end # Renames the given index on the table. @@ -16123,36 +16802,21 @@ class ActiveRecord::ConnectionAdapters::Table # # See {connection.rename_index}[rdoc-ref:SchemaStatements#rename_index] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:777 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:769 def rename_index(index_name, new_index_name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def string(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def text(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def time(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def timestamp(*names, **options); end - # Adds timestamps (+created_at+ and +updated_at+) columns to the table. # # t.timestamps(null: false) # # See {connection.add_timestamps}[rdoc-ref:SchemaStatements#add_timestamps] # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:786 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:778 def timestamps(**options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def virtual(*names, **options); end - private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:954 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:946 def raise_on_if_exist_options(options); end end @@ -16164,7 +16828,7 @@ end # Inside migration files, the +t+ object in {create_table}[rdoc-ref:SchemaStatements#create_table] # is actually of this type: # -# class SomeMigration < ActiveRecord::Migration[8.0] +# class SomeMigration < ActiveRecord::Migration[8.1] # def up # create_table :foo do |t| # puts t.class # => "ActiveRecord::ConnectionAdapters::TableDefinition" @@ -16176,41 +16840,29 @@ end # end # end # -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:366 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:358 class ActiveRecord::ConnectionAdapters::TableDefinition include ::ActiveRecord::ConnectionAdapters::ColumnMethods extend ::ActiveRecord::ConnectionAdapters::ColumnMethods::ClassMethods - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:371 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:363 def initialize(conn, name, temporary: T.unsafe(nil), if_not_exists: T.unsafe(nil), options: T.unsafe(nil), as: T.unsafe(nil), comment: T.unsafe(nil), **); end # Returns a ColumnDefinition for the column with name +name+. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:421 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:413 def [](name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def as; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:556 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:548 def belongs_to(*args, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def bigint(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def binary(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:327 - def blob(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def boolean(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:525 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:517 def check_constraint(expression, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def check_constraints; end # Instantiates a new column for the table. @@ -16281,36 +16933,24 @@ class ActiveRecord::ConnectionAdapters::TableDefinition # t.references :taggable, polymorphic: { default: 'Photo' }, index: false # end # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:492 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:484 def column(name, type, index: T.unsafe(nil), **options); end # Returns an array of ColumnDefinition objects for the columns of the table. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:418 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:410 def columns; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def comment; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def date(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def datetime(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def decimal(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def float(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:521 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:513 def foreign_key(to_table, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def foreign_keys; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def if_not_exists; end # Adds index options to the indexes hash, keyed by column name @@ -16318,37 +16958,28 @@ class ActiveRecord::ConnectionAdapters::TableDefinition # # index(:account_id, name: 'index_projects_on_account_id') # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:517 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:509 def index(column_name, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def indexes; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def integer(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def json(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:583 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:575 def new_check_constraint_definition(expression, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:558 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:550 def new_column_definition(name, type, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:575 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:567 def new_foreign_key_definition(to_table, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:328 - def numeric(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def options; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:412 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:404 def primary_keys(name = T.unsafe(nil)); end # Adds a reference. @@ -16359,186 +16990,179 @@ class ActiveRecord::ConnectionAdapters::TableDefinition # # See {connection.add_reference}[rdoc-ref:SchemaStatements#add_reference] for details of the options you can use. # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:551 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:543 def references(*args, **options); end # remove the column +name+ from the table. # remove_column(:account_id) # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:509 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:501 def remove_column(name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:395 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:387 def set_primary_key(table_name, id, primary_key, **options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def string(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:369 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:361 def temporary; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def text(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def time(*names, **options); end - - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def timestamp(*names, **options); end - # Appends :datetime columns :created_at and # :updated_at to the table. See {connection.add_timestamps}[rdoc-ref:SchemaStatements#add_timestamps] # # t.timestamps null: false # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:533 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:525 def timestamps(**options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:334 - def virtual(*names, **options); end - private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:601 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:593 def aliased_types(name, fallback); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:593 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:585 def create_column_definition(name, type, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:605 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:597 def integer_like_primary_key?(type, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:609 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:601 def integer_like_primary_key_type(type, options); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:613 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:605 def raise_on_duplicate_column(name); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:589 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/schema_definitions.rb:581 def valid_column_definition_options; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:128 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:130 class ActiveRecord::ConnectionAdapters::Transaction - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:153 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:164 def initialize(connection, isolation: T.unsafe(nil), joinable: T.unsafe(nil), run_commit_callbacks: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:185 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:196 def add_record(record, ensure_finalize = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:203 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:214 def after_commit(&block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:211 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:222 def after_rollback(&block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:195 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:206 def before_commit(&block); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:274 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:285 def before_commit_records; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:181 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:192 def closed?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:298 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:309 def commit_records; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:150 def connection; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:169 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:180 def dirty!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:173 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:184 def dirty?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:327 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:338 def full_rollback?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:233 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:244 def incomplete!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:151 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:153 def invalidate!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:151 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:153 def invalidated?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:148 + # Returns the isolation level if it was explicitly set, nil otherwise + # + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:156 + def isolation; end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:160 + def isolation=(isolation); end + + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:150 def isolation_level; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:328 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:339 def joinable?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:237 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:248 def materialize!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:242 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:253 def materialized?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:177 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:188 def open?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:219 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:230 def records; end # Can this transaction's current state be recreated by # rollback+begin ? # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:229 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:240 def restartable?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:246 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:257 def restore!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:254 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:265 def rollback_records; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:150 def savepoint_name; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:150 def state; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:148 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:150 def user_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:151 def written; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:149 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:151 def written=(_arg0); end protected - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:331 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:342 def append_callbacks(callbacks); end private - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:348 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:359 def prepare_instances_to_run_callbacks_on(records); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:340 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:351 def run_action_on_records(records, instances_to_run_callbacks_on); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:336 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:347 def unique_records; end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:129 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:131 class ActiveRecord::ConnectionAdapters::Transaction::Callback - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:130 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:132 def initialize(event, callback); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:139 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:141 def after_commit; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:143 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:145 def after_rollback; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:135 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:137 def before_commit; end end @@ -16560,59 +17184,59 @@ class ActiveRecord::ConnectionAdapters::TransactionInstrumenter::Instrumentation # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:87 class ActiveRecord::ConnectionAdapters::TransactionInstrumenter::InstrumentationNotStartedError < ::ActiveRecord::ActiveRecordError; end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:497 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:518 class ActiveRecord::ConnectionAdapters::TransactionManager - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:498 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:519 def initialize(connection); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:506 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:527 def begin_transaction(isolation: T.unsafe(nil), joinable: T.unsafe(nil), _lazy: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:593 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:614 def commit_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:661 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:683 def current_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:561 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:582 def dirty_current_transaction; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:548 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:569 def disable_lazy_transactions!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:553 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:574 def enable_lazy_transactions!; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:557 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:578 def lazy_transactions_enabled?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:577 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:598 def materialize_transactions; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:657 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:679 def open_transactions; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:573 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:594 def restorable?; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:565 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:586 def restore_transactions; end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:610 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:631 def rollback_transaction(transaction = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:622 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:643 def within_new_transaction(isolation: T.unsafe(nil), joinable: T.unsafe(nil)); end private # Deallocate invalidated prepared statements outside of the transaction # - # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:669 + # pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:691 def after_failure_actions(transaction, error); end end -# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:666 +# pkg:gem/activerecord#lib/active_record/connection_adapters/abstract/transaction.rb:688 ActiveRecord::ConnectionAdapters::TransactionManager::NULL_TRANSACTION = T.let(T.unsafe(nil), ActiveRecord::ConnectionAdapters::NullTransaction) # = Active Record Connection Adapters Transaction State @@ -16671,27 +17295,27 @@ end # ConnectionFailed will be raised when the network connection to the # database fails while sending a query or waiting for its result. # -# pkg:gem/activerecord#lib/active_record/errors.rb:582 +# pkg:gem/activerecord#lib/active_record/errors.rb:595 class ActiveRecord::ConnectionFailed < ::ActiveRecord::QueryAborted; end # = Active Record Connection Handling # # pkg:gem/activerecord#lib/active_record/connection_handling.rb:5 module ActiveRecord::ConnectionHandling - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:340 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:341 def adapter_class; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:374 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:375 def clear_cache!; end # Clears the query cache for all connections associated with the current thread. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:260 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:261 def clear_query_caches_for_current_thread; end # Returns +true+ if Active Record is connected. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:353 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:354 def connected?; end # Connects to a role (e.g. writing, reading, or a custom role) and/or @@ -16721,7 +17345,7 @@ module ActiveRecord::ConnectionHandling # Dog.first # finds first Dog record stored on the shard one replica # end # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:136 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:137 def connected_to(role: T.unsafe(nil), shard: T.unsafe(nil), prevent_writes: T.unsafe(nil), &blk); end # Returns true if role is the current connected role and/or @@ -16739,7 +17363,7 @@ module ActiveRecord::ConnectionHandling # ActiveRecord::Base.connected_to?(role: :writing, shard: :shard_one) #=> true # end # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:255 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:256 def connected_to?(role:, shard: T.unsafe(nil)); end # Passes the block to +connected_to+ for every +shard+ the @@ -16749,7 +17373,7 @@ module ActiveRecord::ConnectionHandling # Optionally, +role+ and/or +prevent_writes+ can be passed which # will be forwarded to each +connected_to+ call. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:188 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:189 def connected_to_all_shards(role: T.unsafe(nil), prevent_writes: T.unsafe(nil), &blk); end # Connects a role and/or shard to the provided connection names. Optionally +prevent_writes+ @@ -16766,7 +17390,7 @@ module ActiveRecord::ConnectionHandling # Person.first # Read from primary writer # end # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:165 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:166 def connected_to_many(*classes, role:, shard: T.unsafe(nil), prevent_writes: T.unsafe(nil)); end # Use a specified connection. @@ -16777,12 +17401,12 @@ module ActiveRecord::ConnectionHandling # It is not recommended to use this method in a request since it # does not yield to a block like +connected_to+. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:201 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:202 def connecting_to(role: T.unsafe(nil), shard: T.unsafe(nil), prevent_writes: T.unsafe(nil)); end # Soft deprecated. Use +#with_connection+ or +#lease_connection+ instead. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:276 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:277 def connection; end # Returns the db_config object from the associated connection: @@ -16793,20 +17417,20 @@ module ActiveRecord::ConnectionHandling # # Use only for reading. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:336 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:337 def connection_db_config; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:344 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:345 def connection_pool; end # Returns the connection specification name from the current class or its parent. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:318 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:319 def connection_specification_name; end # Returns the connection specification name from the current class or its parent. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:315 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:316 def connection_specification_name=(_arg0); end # Connects a model to the databases specified. The +database+ keyword @@ -16889,10 +17513,10 @@ module ActiveRecord::ConnectionHandling # The connection will remain leased for the entire duration of the request # or job, or until +#release_connection+ is called. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:271 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:272 def lease_connection; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:325 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:326 def primary_class?; end # Prohibit swapping shards while inside of the passed block. @@ -16902,32 +17526,32 @@ module ActiveRecord::ConnectionHandling # is useful in cases you're using sharding to provide per-request # database isolation. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:213 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:214 def prohibit_shard_swapping(enabled = T.unsafe(nil)); end # Return the currently leased connection into the pool # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:300 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:301 def release_connection; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:357 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:358 def remove_connection; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:348 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:349 def retrieve_connection; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:370 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:371 def schema_cache; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:378 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:379 def shard_keys; end # Determine whether or not shard swapping is currently prohibited # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:222 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:223 def shard_swapping_prohibited?; end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:382 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:383 def sharded?; end # Prevent writing to the database regardless of role. @@ -16942,7 +17566,7 @@ module ActiveRecord::ConnectionHandling # See +READ_QUERY+ for the queries that are blocked by this # method. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:237 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:238 def while_preventing_writes(enabled = T.unsafe(nil), &block); end # Checkouts a connection from the pool, yield it and then check it back in. @@ -16953,18 +17577,18 @@ module ActiveRecord::ConnectionHandling # If #connection is called inside the block, the connection won't be checked back in # unless the +prevent_permanent_checkout+ argument is set to +true+. # - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:311 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:312 def with_connection(prevent_permanent_checkout: T.unsafe(nil), &block); end private - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:409 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:410 def append_to_connected_to_stack(entry); end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:387 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:388 def resolve_config_for_connection(config_or_env); end - # pkg:gem/activerecord#lib/active_record/connection_handling.rb:396 + # pkg:gem/activerecord#lib/active_record/connection_handling.rb:397 def with_role_and_shard(role, shard, prevent_writes); end end @@ -16977,18 +17601,18 @@ ActiveRecord::ConnectionHandling::RAILS_ENV = T.let(T.unsafe(nil), Proc) # Raised when a database connection pool is requested but # has not been defined. # -# pkg:gem/activerecord#lib/active_record/errors.rb:89 +# pkg:gem/activerecord#lib/active_record/errors.rb:88 class ActiveRecord::ConnectionNotDefined < ::ActiveRecord::ConnectionNotEstablished - # pkg:gem/activerecord#lib/active_record/errors.rb:90 + # pkg:gem/activerecord#lib/active_record/errors.rb:89 def initialize(message = T.unsafe(nil), connection_name: T.unsafe(nil), role: T.unsafe(nil), shard: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:97 + # pkg:gem/activerecord#lib/active_record/errors.rb:96 def connection_name; end - # pkg:gem/activerecord#lib/active_record/errors.rb:97 + # pkg:gem/activerecord#lib/active_record/errors.rb:96 def role; end - # pkg:gem/activerecord#lib/active_record/errors.rb:97 + # pkg:gem/activerecord#lib/active_record/errors.rb:96 def shard; end end @@ -16996,12 +17620,12 @@ end # {ActiveRecord::Base.lease_connection=}[rdoc-ref:ConnectionHandling#lease_connection] # is given a +nil+ object). # -# pkg:gem/activerecord#lib/active_record/errors.rb:67 +# pkg:gem/activerecord#lib/active_record/errors.rb:66 class ActiveRecord::ConnectionNotEstablished < ::ActiveRecord::AdapterError - # pkg:gem/activerecord#lib/active_record/errors.rb:68 + # pkg:gem/activerecord#lib/active_record/errors.rb:67 def initialize(message = T.unsafe(nil), connection_pool: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:72 + # pkg:gem/activerecord#lib/active_record/errors.rb:71 def set_pool(connection_pool); end end @@ -17009,12 +17633,12 @@ end # acquisition timeout period: because max connections in pool # are in use. # -# pkg:gem/activerecord#lib/active_record/errors.rb:84 +# pkg:gem/activerecord#lib/active_record/errors.rb:83 class ActiveRecord::ConnectionTimeoutError < ::ActiveRecord::ConnectionNotEstablished; end # = Active Record \Core # -# pkg:gem/activerecord#lib/active_record/core.rb:10 +# pkg:gem/activerecord#lib/active_record/core.rb:9 module ActiveRecord::Core include ::ActiveModel::Access extend ::ActiveSupport::Concern @@ -17032,12 +17656,12 @@ module ActiveRecord::Core # # Instantiates a single new object # User.new(first_name: 'Jamie') # - # pkg:gem/activerecord#lib/active_record/core.rb:471 + # pkg:gem/activerecord#lib/active_record/core.rb:472 def initialize(attributes = T.unsafe(nil)); end # Allows sort on objects # - # pkg:gem/activerecord#lib/active_record/core.rb:665 + # pkg:gem/activerecord#lib/active_record/core.rb:666 def <=>(other_object); end # Returns true if +comparison_object+ is the same exact object, or +comparison_object+ @@ -17050,13 +17674,13 @@ module ActiveRecord::Core # Note also that destroying a record preserves its ID in the model instance, so deleted # models are still comparable. # - # pkg:gem/activerecord#lib/active_record/core.rb:631 + # pkg:gem/activerecord#lib/active_record/core.rb:632 def ==(comparison_object); end - # pkg:gem/activerecord#lib/active_record/core.rb:677 + # pkg:gem/activerecord#lib/active_record/core.rb:678 def blank?; end - # pkg:gem/activerecord#lib/active_record/core.rb:770 + # pkg:gem/activerecord#lib/active_record/core.rb:771 def connection_handler; end # Populate +coder+ with attributes about this record that should be @@ -17072,22 +17696,22 @@ module ActiveRecord::Core # Post.new.encode_with(coder) # coder # => {"attributes" => {"id" => nil, ... }} # - # pkg:gem/activerecord#lib/active_record/core.rb:587 + # pkg:gem/activerecord#lib/active_record/core.rb:588 def encode_with(coder); end - # pkg:gem/activerecord#lib/active_record/core.rb:637 + # pkg:gem/activerecord#lib/active_record/core.rb:638 def eql?(comparison_object); end # Clone and freeze the attributes hash such that associations are still # accessible, even on destroyed records, but cloned models will not be # frozen. # - # pkg:gem/activerecord#lib/active_record/core.rb:654 + # pkg:gem/activerecord#lib/active_record/core.rb:655 def freeze; end # Returns +true+ if the attributes hash has been frozen. # - # pkg:gem/activerecord#lib/active_record/core.rb:660 + # pkg:gem/activerecord#lib/active_record/core.rb:661 def frozen?; end # Returns all attributes of the record as a nicely formatted string, @@ -17096,16 +17720,16 @@ module ActiveRecord::Core # Post.first.full_inspect # #=> "#" # - # pkg:gem/activerecord#lib/active_record/core.rb:794 + # pkg:gem/activerecord#lib/active_record/core.rb:795 def full_inspect; end # Delegates to id in order to allow two records of the same type and id to work with something like: # [ Person.find(1), Person.find(2), Person.find(3) ] & [ Person.find(1), Person.find(4) ] # => [ Person.find(1) ] # - # pkg:gem/activerecord#lib/active_record/core.rb:641 + # pkg:gem/activerecord#lib/active_record/core.rb:642 def hash; end - # pkg:gem/activerecord#lib/active_record/core.rb:563 + # pkg:gem/activerecord#lib/active_record/core.rb:564 def init_attributes(_); end # Initialize an empty model object from +coder+. +coder+ should be @@ -17123,14 +17747,14 @@ module ActiveRecord::Core # post.init_with(coder) # post.title # => 'hello world' # - # pkg:gem/activerecord#lib/active_record/core.rb:498 + # pkg:gem/activerecord#lib/active_record/core.rb:499 def init_with(coder, &block); end # Initialize an empty model object from +attributes+. # +attributes+ should be an attributes object, and unlike the # `initialize` method, no assignment calls are made per attribute. # - # pkg:gem/activerecord#lib/active_record/core.rb:508 + # pkg:gem/activerecord#lib/active_record/core.rb:509 def init_with_attributes(attributes, new_record = T.unsafe(nil)); end # Returns the attributes of the record as a nicely formatted string. @@ -17144,16 +17768,16 @@ module ActiveRecord::Core # Post.first.inspect # #=> "#" # - # pkg:gem/activerecord#lib/active_record/core.rb:784 + # pkg:gem/activerecord#lib/active_record/core.rb:785 def inspect; end - # pkg:gem/activerecord#lib/active_record/core.rb:673 + # pkg:gem/activerecord#lib/active_record/core.rb:674 def present?; end # Takes a PP and prettily prints this record to it, allowing you to get a nice result from pp record # when pp is required. # - # pkg:gem/activerecord#lib/active_record/core.rb:800 + # pkg:gem/activerecord#lib/active_record/core.rb:801 def pretty_print(pp); end # Prevents records from being written to the database: @@ -17180,12 +17804,12 @@ module ActiveRecord::Core # # but you won't be able to persist the changes. # - # pkg:gem/activerecord#lib/active_record/core.rb:766 + # pkg:gem/activerecord#lib/active_record/core.rb:767 def readonly!; end # Returns +true+ if the record is read only. # - # pkg:gem/activerecord#lib/active_record/core.rb:682 + # pkg:gem/activerecord#lib/active_record/core.rb:683 def readonly?; end # Sets the record to strict_loading mode. This will raise an error @@ -17220,51 +17844,51 @@ module ActiveRecord::Core # user.comments.first.ratings.to_a # # => ActiveRecord::StrictLoadingViolationError # - # pkg:gem/activerecord#lib/active_record/core.rb:722 + # pkg:gem/activerecord#lib/active_record/core.rb:723 def strict_loading!(value = T.unsafe(nil), mode: T.unsafe(nil)); end # Returns +true+ if the record is in strict_loading mode. # - # pkg:gem/activerecord#lib/active_record/core.rb:687 + # pkg:gem/activerecord#lib/active_record/core.rb:688 def strict_loading?; end # Returns +true+ if the record uses strict_loading with +:all+ mode enabled. # - # pkg:gem/activerecord#lib/active_record/core.rb:739 + # pkg:gem/activerecord#lib/active_record/core.rb:740 def strict_loading_all?; end - # pkg:gem/activerecord#lib/active_record/core.rb:731 + # pkg:gem/activerecord#lib/active_record/core.rb:732 def strict_loading_mode; end # Returns +true+ if the record uses strict_loading with +:n_plus_one_only+ mode enabled. # - # pkg:gem/activerecord#lib/active_record/core.rb:734 + # pkg:gem/activerecord#lib/active_record/core.rb:735 def strict_loading_n_plus_one_only?; end private - # pkg:gem/activerecord#lib/active_record/core.rb:890 + # pkg:gem/activerecord#lib/active_record/core.rb:891 def all_attributes_for_inspect; end - # pkg:gem/activerecord#lib/active_record/core.rb:886 + # pkg:gem/activerecord#lib/active_record/core.rb:887 def attributes_for_inspect; end - # pkg:gem/activerecord#lib/active_record/core.rb:856 + # pkg:gem/activerecord#lib/active_record/core.rb:857 def custom_inspect_method_defined?; end - # pkg:gem/activerecord#lib/active_record/core.rb:836 + # pkg:gem/activerecord#lib/active_record/core.rb:837 def init_internals; end - # pkg:gem/activerecord#lib/active_record/core.rb:550 + # pkg:gem/activerecord#lib/active_record/core.rb:551 def initialize_dup(other); end - # pkg:gem/activerecord#lib/active_record/core.rb:853 + # pkg:gem/activerecord#lib/active_record/core.rb:854 def initialize_internals_callback; end - # pkg:gem/activerecord#lib/active_record/core.rb:871 + # pkg:gem/activerecord#lib/active_record/core.rb:872 def inspect_with_attributes(attributes_to_list); end - # pkg:gem/activerecord#lib/active_record/core.rb:867 + # pkg:gem/activerecord#lib/active_record/core.rb:868 def inspection_filter; end # +Array#flatten+ will call +#to_ary+ (recursively) on each of the elements of @@ -17276,7 +17900,7 @@ module ActiveRecord::Core # # See also https://tenderlovemaking.com/2011/06/28/til-its-ok-to-return-nil-from-to_ary.html # - # pkg:gem/activerecord#lib/active_record/core.rb:832 + # pkg:gem/activerecord#lib/active_record/core.rb:833 def to_ary; end module GeneratedClassMethods @@ -17336,73 +17960,73 @@ module ActiveRecord::Core end end -# pkg:gem/activerecord#lib/active_record/core.rb:265 +# pkg:gem/activerecord#lib/active_record/core.rb:264 module ActiveRecord::Core::ClassMethods # Returns an instance of +Arel::Table+ loaded with the current table name. # - # pkg:gem/activerecord#lib/active_record/core.rb:391 + # pkg:gem/activerecord#lib/active_record/core.rb:392 def arel_table; end - # pkg:gem/activerecord#lib/active_record/core.rb:403 + # pkg:gem/activerecord#lib/active_record/core.rb:404 def cached_find_by_statement(connection, key, &block); end # Returns columns which shouldn't be exposed while calling +#inspect+. # - # pkg:gem/activerecord#lib/active_record/core.rb:349 + # pkg:gem/activerecord#lib/active_record/core.rb:348 def filter_attributes; end # Specifies columns which shouldn't be exposed while calling +#inspect+. # - # pkg:gem/activerecord#lib/active_record/core.rb:358 + # pkg:gem/activerecord#lib/active_record/core.rb:357 def filter_attributes=(filter_attributes); end - # pkg:gem/activerecord#lib/active_record/core.rb:270 + # pkg:gem/activerecord#lib/active_record/core.rb:269 def find(*ids); end - # pkg:gem/activerecord#lib/active_record/core.rb:283 + # pkg:gem/activerecord#lib/active_record/core.rb:282 def find_by(*args); end - # pkg:gem/activerecord#lib/active_record/core.rb:330 + # pkg:gem/activerecord#lib/active_record/core.rb:329 def find_by!(*args); end - # pkg:gem/activerecord#lib/active_record/core.rb:338 + # pkg:gem/activerecord#lib/active_record/core.rb:337 def generated_association_methods; end - # pkg:gem/activerecord#lib/active_record/core.rb:266 + # pkg:gem/activerecord#lib/active_record/core.rb:265 def initialize_find_by_cache; end - # pkg:gem/activerecord#lib/active_record/core.rb:334 + # pkg:gem/activerecord#lib/active_record/core.rb:333 def initialize_generated_modules; end # Returns a string like 'Post(id:integer, title:string, body:text)' # - # pkg:gem/activerecord#lib/active_record/core.rb:375 + # pkg:gem/activerecord#lib/active_record/core.rb:376 def inspect; end - # pkg:gem/activerecord#lib/active_record/core.rb:363 + # pkg:gem/activerecord#lib/active_record/core.rb:364 def inspection_filter; end - # pkg:gem/activerecord#lib/active_record/core.rb:395 + # pkg:gem/activerecord#lib/active_record/core.rb:396 def predicate_builder; end - # pkg:gem/activerecord#lib/active_record/core.rb:399 + # pkg:gem/activerecord#lib/active_record/core.rb:400 def type_caster; end private - # pkg:gem/activerecord#lib/active_record/core.rb:441 + # pkg:gem/activerecord#lib/active_record/core.rb:442 def cached_find_by(keys, values); end - # pkg:gem/activerecord#lib/active_record/core.rb:409 + # pkg:gem/activerecord#lib/active_record/core.rb:410 def inherited(subclass); end - # pkg:gem/activerecord#lib/active_record/core.rb:431 + # pkg:gem/activerecord#lib/active_record/core.rb:432 def relation; end end -# pkg:gem/activerecord#lib/active_record/core.rb:860 +# pkg:gem/activerecord#lib/active_record/core.rb:861 class ActiveRecord::Core::InspectionMask - # pkg:gem/activerecord#lib/active_record/core.rb:861 + # pkg:gem/activerecord#lib/active_record/core.rb:862 def pretty_print(pp); end end @@ -17418,13 +18042,13 @@ module ActiveRecord::CounterCache private - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:200 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:227 def _create_record(attribute_names = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:226 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:253 def _foreign_keys_equal?(fkey1, fkey2); end - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:210 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:237 def destroy_row; end module GeneratedClassMethods @@ -17444,7 +18068,7 @@ end # pkg:gem/activerecord#lib/active_record/counter_cache.rb:13 module ActiveRecord::CounterCache::ClassMethods - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:182 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:209 def counter_cache_column?(name); end # Decrement a numeric field by one, via a direct SQL update. @@ -17474,7 +18098,7 @@ module ActiveRecord::CounterCache::ClassMethods # # and update the updated_at value. # DiscussionBoard.decrement_counter(:posts_count, 5, touch: true) # - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:178 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:205 def decrement_counter(counter_name, id, by: T.unsafe(nil), touch: T.unsafe(nil)); end # Increment a numeric field by one, via a direct SQL update. @@ -17506,10 +18130,10 @@ module ActiveRecord::CounterCache::ClassMethods # # and update the updated_at value. # DiscussionBoard.increment_counter(:posts_count, 5, touch: true) # - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:148 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:175 def increment_counter(counter_name, id, by: T.unsafe(nil), touch: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:186 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:213 def load_schema!; end # Resets one or more counter caches to their correct value using an SQL @@ -17518,7 +18142,7 @@ module ActiveRecord::CounterCache::ClassMethods # # ==== Parameters # - # * +id+ - The id of the object you wish to reset a counter on. + # * +id+ - The id of the object you wish to reset a counter on or an array of ids. # * +counters+ - One or more association counters to reset. Association name or counter name can be given. # * :touch - Touch timestamp columns when updating. # Pass +true+ to touch +updated_at+ and/or +updated_on+. Pass a symbol to @@ -17529,11 +18153,14 @@ module ActiveRecord::CounterCache::ClassMethods # # For the Post with id #1, reset the comments_count # Post.reset_counters(1, :comments) # + # # For posts with ids #1 and #2, reset the comments_count + # Post.reset_counters([1, 2], :comments) + # # # Like above, but also touch the updated_at and/or updated_on # # attributes. # Post.reset_counters(1, :comments, touch: true) # - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:34 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:37 def reset_counters(id, *counters, touch: T.unsafe(nil)); end # A generic "counter updater" implementation, intended primarily to be @@ -17578,19 +18205,19 @@ module ActiveRecord::CounterCache::ClassMethods # # `updated_at` = '2016-10-13T09:59:23-05:00' # # WHERE id IN (10, 15) # - # pkg:gem/activerecord#lib/active_record/counter_cache.rb:115 + # pkg:gem/activerecord#lib/active_record/counter_cache.rb:142 def update_counters(id, counters); end end # Raised when attribute has a name reserved by Active Record (when attribute # has name of one of Active Record instance methods). # -# pkg:gem/activerecord#lib/active_record/errors.rb:440 +# pkg:gem/activerecord#lib/active_record/errors.rb:447 class ActiveRecord::DangerousAttributeError < ::ActiveRecord::ActiveRecordError; end # Raised when creating a database if it exists. # -# pkg:gem/activerecord#lib/active_record/errors.rb:357 +# pkg:gem/activerecord#lib/active_record/errors.rb:364 class ActiveRecord::DatabaseAlreadyExists < ::ActiveRecord::StatementInvalid; end # = Active Record Database Configurations @@ -17609,13 +18236,13 @@ class ActiveRecord::DatabaseAlreadyExists < ::ActiveRecord::StatementInvalid; en # # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:4 class ActiveRecord::DatabaseConfigurations - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:73 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:75 def initialize(configurations = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/database_configurations.rb:27 def any?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:153 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:155 def blank?; end # Collects the configs for the environment and optionally the specification @@ -17640,7 +18267,7 @@ class ActiveRecord::DatabaseConfigurations # iterating over the primary connections (i.e. migrations don't need to run for the # write and read connection). Defaults to +false+. # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:98 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:100 def configs_for(env_name: T.unsafe(nil), name: T.unsafe(nil), config_key: T.unsafe(nil), include_hidden: T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/database_configurations.rb:26 @@ -17648,7 +18275,7 @@ class ActiveRecord::DatabaseConfigurations # Checks if the application's configurations are empty. # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:150 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:152 def empty?; end # Returns a single +DatabaseConfig+ object based on the requested environment. @@ -17656,7 +18283,7 @@ class ActiveRecord::DatabaseConfigurations # If the application has multiple databases +find_db_config+ will return # the first +DatabaseConfig+ for the environment. # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:127 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:129 def find_db_config(env); end # A primary configuration is one that is named primary or if there is @@ -17666,7 +18293,7 @@ class ActiveRecord::DatabaseConfigurations # example, when Rails dumps the schema, the primary configuration's schema # file will be named `schema.rb` instead of `primary_schema.rb`. # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:142 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:144 def primary?(name); end # Returns fully resolved connection, accepts hash, string or symbol. @@ -17689,45 +18316,45 @@ class ActiveRecord::DatabaseConfigurations # DatabaseConfigurations.new({}).resolve("postgresql://localhost/foo") # # => DatabaseConfigurations::UrlConfig.new(config: {"adapter" => "postgresql", "host" => "localhost", "database" => "foo"}) # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:174 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:176 def resolve(config); end private - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:200 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:202 def build_configs(configs); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:239 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:241 def build_configuration_sentence; end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:273 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:275 def build_db_config_from_hash(env_name, name, config); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:252 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:254 def build_db_config_from_raw_config(env_name, name, config); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:263 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:265 def build_db_config_from_string(env_name, name, config); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:188 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:190 def default_env; end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:192 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:194 def env_with_configs(env = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:295 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:297 def environment_url_config(env, name, config); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:302 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:304 def environment_value_for(name); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:286 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:288 def merge_db_environment_variables(current_env, configs); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:225 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:227 def resolve_symbol_connection(name); end - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:219 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:221 def walk_configs(env_name, config); end class << self @@ -17744,9 +18371,11 @@ class ActiveRecord::DatabaseConfigurations # to respond to `sharded?`. To implement this define the following in an # initializer: # - # ActiveRecord::DatabaseConfigurations.register_db_config_handler do |env_name, name, url, config| - # next unless config.key?(:vitess) - # VitessConfig.new(env_name, name, config) + # ActiveSupport.on_load(:active_record_database_configurations) do + # ActiveRecord::DatabaseConfigurations.register_db_config_handler do |env_name, name, url, config| + # next unless config.key?(:vitess) + # VitessConfig.new(env_name, name, config) + # end # end # # Note: applications must handle the condition in which custom config should be @@ -17767,7 +18396,7 @@ class ActiveRecord::DatabaseConfigurations # For configs that have a +:vitess+ key, a +VitessConfig+ object will be # created instead of a +UrlConfig+. # - # pkg:gem/activerecord#lib/active_record/database_configurations.rb:61 + # pkg:gem/activerecord#lib/active_record/database_configurations.rb:63 def register_db_config_handler(&block); end end end @@ -17850,7 +18479,7 @@ class ActiveRecord::DatabaseConfigurations::DatabaseConfig # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:17 def adapter_class; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:71 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:75 def checkout_timeout; end # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:39 @@ -17859,28 +18488,34 @@ class ActiveRecord::DatabaseConfigurations::DatabaseConfig # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:9 def env_name; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:91 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:95 def for_current_env?; end # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:35 def host; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:79 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:83 def idle_timeout; end # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:21 def inspect; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:63 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:55 + def max_connections; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:67 def max_queue; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:59 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:63 def max_threads; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:87 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:91 def migrations_paths; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:55 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:51 + def min_connections; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:59 def min_threads; end # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:9 @@ -17889,25 +18524,22 @@ class ActiveRecord::DatabaseConfigurations::DatabaseConfig # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:25 def new_connection; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:51 - def pool; end - - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:67 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:71 def query_cache; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:75 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:79 def reaping_frequency; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:83 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:87 def replica?; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:95 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:99 def schema_cache_path; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:103 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:107 def seeds?; end - # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:99 + # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:103 def use_metadata_table?; end # pkg:gem/activerecord#lib/active_record/database_configurations/database_config.rb:29 @@ -17948,77 +18580,86 @@ class ActiveRecord::DatabaseConfigurations::HashConfig < ::ActiveRecord::Databas # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:38 def initialize(env_name, name, configuration_hash); end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:68 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:69 def _database=(database); end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:107 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:137 def adapter; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:92 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:112 def checkout_timeout; end # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:23 def configuration_hash; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:64 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:65 def database; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:167 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:197 def database_tasks?; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:117 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:147 def default_schema_cache_path(db_dir = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:56 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:57 def host; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:102 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:120 def idle_timeout; end # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:125 + def keepalive; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:155 def lazy_schema_cache_path; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:88 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:95 + def max_age; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:73 + def max_connections; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:108 def max_queue; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:80 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:91 def max_threads; end # The migrations paths for a database configuration. If the `migrations_paths` # key is present in the config, `migrations_paths` will return its value. # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:52 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:53 def migrations_paths; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:76 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:80 + def min_connections; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:87 def min_threads; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:72 - def pool; end + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:84 + def pool(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:129 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:159 def primary?; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:84 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:104 def query_cache; end - # `reaping_frequency` is configurable mostly for historical reasons, but it - # could also be useful if someone wants a very low `idle_timeout`. - # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:98 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:116 def reaping_frequency; end # Determines whether a database configuration is for a replica / readonly # connection. If the `replica` key is present in the config, `replica?` will # return `true`. # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:46 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:47 def replica?; end # The path to the schema cache dump file for a database. If omitted, the # filename will be read from ENV or a default will be derived. # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:113 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:143 def schema_cache_path; end # Determines whether to dump the schema/structure files and the filename that @@ -18030,10 +18671,10 @@ class ActiveRecord::DatabaseConfigurations::HashConfig < ::ActiveRecord::Databas # If the config option is set that will be used. Otherwise Rails will generate # the filename from the database config name. # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:149 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:179 def schema_dump(format = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:161 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:191 def schema_format; end # Determines whether the db:prepare task should seed the database from db/seeds.rb. @@ -18041,19 +18682,25 @@ class ActiveRecord::DatabaseConfigurations::HashConfig < ::ActiveRecord::Databas # If the `seeds` key is present in the config, `seeds?` will return its value. Otherwise, it # will return `true` for the primary database and `false` for all other configs. # - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:137 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:167 def seeds?; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:60 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:61 def socket; end - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:171 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:201 def use_metadata_table?; end private - # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:176 + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:215 + def default_reaping_frequency; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:206 def schema_file_type(format); end + + # pkg:gem/activerecord#lib/active_record/database_configurations/hash_config.rb:221 + def validate_configuration!; end end # pkg:gem/activerecord#lib/active_record/database_configurations.rb:24 @@ -18105,26 +18752,29 @@ class ActiveRecord::DatabaseConfigurations::UrlConfig < ::ActiveRecord::Database # Return a Hash that can be merged into the main config that represents # the passed in url # - # pkg:gem/activerecord#lib/active_record/database_configurations/url_config.rb:69 + # pkg:gem/activerecord#lib/active_record/database_configurations/url_config.rb:81 def build_url_hash; end - # pkg:gem/activerecord#lib/active_record/database_configurations/url_config.rb:61 + # pkg:gem/activerecord#lib/active_record/database_configurations/url_config.rb:62 + def parse_query_cache; end + + # pkg:gem/activerecord#lib/active_record/database_configurations/url_config.rb:73 def to_boolean!(configuration_hash, key); end end # Raised when connection to the database could not been established because it was not # able to connect to the host or when the authorization failed. # -# pkg:gem/activerecord#lib/active_record/errors.rb:102 +# pkg:gem/activerecord#lib/active_record/errors.rb:101 class ActiveRecord::DatabaseConnectionError < ::ActiveRecord::ConnectionNotEstablished - # pkg:gem/activerecord#lib/active_record/errors.rb:103 + # pkg:gem/activerecord#lib/active_record/errors.rb:102 def initialize(message = T.unsafe(nil)); end class << self - # pkg:gem/activerecord#lib/active_record/errors.rb:108 + # pkg:gem/activerecord#lib/active_record/errors.rb:107 def hostname_error(hostname); end - # pkg:gem/activerecord#lib/active_record/errors.rb:115 + # pkg:gem/activerecord#lib/active_record/errors.rb:114 def username_error(username); end end end @@ -18132,7 +18782,7 @@ end # DatabaseVersionError will be raised when the database version is not supported, or when # the database version cannot be determined. # -# pkg:gem/activerecord#lib/active_record/errors.rb:610 +# pkg:gem/activerecord#lib/active_record/errors.rb:623 class ActiveRecord::DatabaseVersionError < ::ActiveRecord::ActiveRecordError; end # Deadlocked will be raised when a transaction is rolled @@ -18141,7 +18791,7 @@ class ActiveRecord::DatabaseVersionError < ::ActiveRecord::ActiveRecordError; en # This is a subclass of TransactionRollbackError, please make sure to check # its documentation to be aware of its caveats. # -# pkg:gem/activerecord#lib/active_record/errors.rb:552 +# pkg:gem/activerecord#lib/active_record/errors.rb:560 class ActiveRecord::Deadlocked < ::ActiveRecord::TransactionRollbackError; end # = Delegated types @@ -18381,140 +19031,140 @@ module ActiveRecord::DelegatedType def define_delegated_type_methods(role, types:, options:); end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:6 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:5 module ActiveRecord::Delegation extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveRecord::Delegation::ClassMethods - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def &(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def +(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def -(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def [](*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def as_json(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def compact(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def connection(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def each(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def encode_with(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def in_groups(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def in_groups_of(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def index(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def intersect?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def join(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def length(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def primary_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def reverse(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def rindex(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def rotate(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def sample(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def sanitize_sql_like(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def shuffle(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def slice(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def split(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def table_name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def to_formatted_s(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def to_fs(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def to_sentence(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def to_xml(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def unscoped(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:106 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:105 def with_connection(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:101 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:100 def |(*, **, &); end private - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:150 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:149 def respond_to_missing?(method, _); end class << self - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:8 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:7 def delegated_classes; end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:17 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:16 def uncacheable_methods; end end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:138 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:137 module ActiveRecord::Delegation::ClassMethods - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:139 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:138 def create(model, *, **, &); end private - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:144 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:143 def relation_class_for(model); end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:108 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:107 module ActiveRecord::Delegation::ClassSpecificRelation extend ::ActiveSupport::Concern @@ -18522,56 +19172,56 @@ module ActiveRecord::Delegation::ClassSpecificRelation private - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:118 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:117 def method_missing(method, *, **, &); end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:111 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:110 module ActiveRecord::Delegation::ClassSpecificRelation::ClassMethods - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:112 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:111 def name; end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:24 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:23 module ActiveRecord::Delegation::DelegateCache - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:52 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:51 def generate_relation_method(method); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:47 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:46 def inherited(child_class); end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:32 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:31 def initialize_relation_delegate_cache; end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:28 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:27 def relation_delegate_class(klass); end protected - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:57 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:56 def include_relation_methods(delegate); end private - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:63 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:62 def generated_relation_methods; end class << self - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:26 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:25 def delegate_base_methods; end - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:26 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:25 def delegate_base_methods=(_arg0); end end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:71 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:70 class ActiveRecord::Delegation::GeneratedRelationMethods < ::Module - # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:74 + # pkg:gem/activerecord#lib/active_record/relation/delegation.rb:73 def generate_method(method); end end -# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:72 +# pkg:gem/activerecord#lib/active_record/relation/delegation.rb:71 ActiveRecord::Delegation::GeneratedRelationMethods::MUTEX = T.let(T.unsafe(nil), Thread::Mutex) # This error is raised when trying to destroy a parent instance in N:1 or 1:1 associations @@ -18584,6 +19234,9 @@ class ActiveRecord::DeleteRestrictionError < ::ActiveRecord::ActiveRecordError def initialize(name = T.unsafe(nil)); end end +# pkg:gem/activerecord#lib/active_record/errors.rb:626 +class ActiveRecord::DeprecatedAssociationError < ::ActiveRecord::ActiveRecordError; end + # pkg:gem/activerecord#lib/active_record/destroy_association_async_job.rb:4 class ActiveRecord::DestroyAssociationAsyncError < ::StandardError; end @@ -18655,93 +19308,75 @@ end module ActiveRecord::DynamicMatchers private - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:15 + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:17 def method_missing(name, *, **, &); end # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:6 def respond_to_missing?(name, _); end end -# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:93 +# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:74 class ActiveRecord::DynamicMatchers::FindBy < ::ActiveRecord::DynamicMatchers::Method - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:100 - def finder; end - class << self - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:96 - def prefix; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:84 + def finder; end + + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:80 + def match?(name); end + + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:78 + def pattern; end end end -# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:105 +# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:90 class ActiveRecord::DynamicMatchers::FindByBang < ::ActiveRecord::DynamicMatchers::Method - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:116 - def finder; end - class << self - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:108 - def prefix; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:100 + def finder; end + + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:96 + def match?(name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:112 - def suffix; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:94 + def pattern; end end end -# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:26 +# pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:28 class ActiveRecord::DynamicMatchers::Method - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:52 - def initialize(model, method_name); end - - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:50 - def attribute_names; end - - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:63 - def define; end - - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:50 - def model; end - - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:50 - def name; end - - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:59 - def valid?; end - - private - - # Given that the parameters starts with `_`, the finder needs to use the - # same parameter name. - # - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:84 - def attributes_hash; end + class << self + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:38 + def define(model, name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:72 - def body; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:30 + def match(name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:88 - def finder; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:34 + def valid?(model, name); end - # The parameters in the signature may have reserved Ruby words, in order - # to prevent errors, we start each param name with `_`. - # - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:78 - def signature; end + private - class << self - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:32 - def match(model, name); end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:51 + def attribute_names(model, name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:30 - def matchers; end + # Given that the parameters starts with `_`, the finder needs to use the + # same parameter name. + # + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:68 + def attributes_hash(model, method_name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:37 - def pattern; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:56 + def body(model, method_name); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:41 - def prefix; end + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:47 + def make_pattern(prefix, suffix); end - # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:45 - def suffix; end + # The parameters in the signature may have reserved Ruby words, in order + # to prevent errors, we start each param name with `_`. + # + # pkg:gem/activerecord#lib/active_record/dynamic_matchers.rb:62 + def signature(model, method_name); end end end @@ -19460,10 +20095,13 @@ module ActiveRecord::Encryption::EncryptedFixtures private + # pkg:gem/activerecord#lib/active_record/encryption/encrypted_fixtures.rb:32 + def encrypt(model_class, attribute_name, clean_value); end + # pkg:gem/activerecord#lib/active_record/encryption/encrypted_fixtures.rb:14 def encrypt_fixture_data(fixture, model_class); end - # pkg:gem/activerecord#lib/active_record/encryption/encrypted_fixtures.rb:26 + # pkg:gem/activerecord#lib/active_record/encryption/encrypted_fixtures.rb:23 def process_preserved_original_columns(fixture, model_class); end end @@ -19553,45 +20191,45 @@ class ActiveRecord::Encryption::Encryptor private - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:113 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:125 def build_encrypted_message(clear_text, key_provider:, cipher_options:); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:109 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:121 def cipher; end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:146 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:158 def compress(data); end # Under certain threshold, ZIP compression is actually worse that not compressing # - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:138 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:150 def compress_if_worth_it(string); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:99 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:111 def default_key_provider; end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:127 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:139 def deserialize_message(message); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:166 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:178 def force_encoding_if_needed(value); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:174 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:186 def forced_encoding_for_deterministic_encryption; end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:123 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:135 def serialize_message(message); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:133 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:145 def serializer; end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:160 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:172 def uncompress(data); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:152 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:164 def uncompress_if_needed(data, compressed); end - # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:103 + # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:115 def validate_payload_type(clear_text); end end @@ -19601,7 +20239,19 @@ ActiveRecord::Encryption::Encryptor::DECRYPT_ERRORS = T.let(T.unsafe(nil), Array # pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:96 ActiveRecord::Encryption::Encryptor::ENCODING_ERRORS = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:97 +# This threshold cannot be changed. +# +# Users can search for attributes encrypted with `deterministic: true`. +# That is possible because we are able to generate the message for the +# given clear text deterministically, and with that perform a regular +# string lookup in SQL. +# +# Problem is, messages may have a "c" header that is present or not +# depending on whether compression was applied on encryption. If this +# threshold was modified, the message generated for lookup could vary +# for the same clear text, and searches on exisiting data could fail. +# +# pkg:gem/activerecord#lib/active_record/encryption/encryptor.rb:109 ActiveRecord::Encryption::Encryptor::THRESHOLD_TO_JUSTIFY_COMPRESSION = T.let(T.unsafe(nil), Integer) # Implements a simple envelope encryption approach where: @@ -20349,20 +20999,20 @@ module ActiveRecord::Enum # pkg:gem/activerecord#lib/active_record/enum.rb:335 def assert_valid_enum_definition_values(values); end - # pkg:gem/activerecord#lib/active_record/enum.rb:362 + # pkg:gem/activerecord#lib/active_record/enum.rb:378 def assert_valid_enum_options(options); end - # pkg:gem/activerecord#lib/active_record/enum.rb:375 + # pkg:gem/activerecord#lib/active_record/enum.rb:391 def detect_enum_conflict!(enum_name, method_name, klass_method = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/enum.rb:399 + # pkg:gem/activerecord#lib/active_record/enum.rb:415 def detect_negative_enum_conditions!(method_names); end # pkg:gem/activerecord#lib/active_record/enum.rb:290 def inherited(base); end - # pkg:gem/activerecord#lib/active_record/enum.rb:389 - def raise_conflict_error(enum_name, method_name, type: T.unsafe(nil), source: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/enum.rb:405 + def raise_conflict_error(enum_name, method_name, type, source: T.unsafe(nil)); end class << self # pkg:gem/activerecord#lib/active_record/enum.rb:167 @@ -20370,7 +21020,7 @@ module ActiveRecord::Enum end end -# pkg:gem/activerecord#lib/active_record/enum.rb:369 +# pkg:gem/activerecord#lib/active_record/enum.rb:385 ActiveRecord::Enum::ENUM_CONFLICT_MESSAGE = T.let(T.unsafe(nil), String) # pkg:gem/activerecord#lib/active_record/enum.rb:295 @@ -20434,12 +21084,17 @@ class ActiveRecord::EnvironmentStorageError < ::ActiveRecord::ActiveRecordError def initialize; end end +# Raised when a record cannot be inserted or updated because it would violate an exclusion constraint. +# +# pkg:gem/activerecord#lib/active_record/errors.rb:300 +class ActiveRecord::ExclusionViolation < ::ActiveRecord::StatementInvalid; end + # Raised when a pool was unable to get ahold of all its connections # to perform a "group" action such as # {ActiveRecord::Base.connection_pool.disconnect!}[rdoc-ref:ConnectionAdapters::ConnectionPool#disconnect!] # or {ActiveRecord::Base.connection_handler.clear_reloadable_connections!}[rdoc-ref:ConnectionAdapters::ConnectionHandler#clear_reloadable_connections!]. # -# pkg:gem/activerecord#lib/active_record/errors.rb:128 +# pkg:gem/activerecord#lib/active_record/errors.rb:127 class ActiveRecord::ExclusiveConnectionTimeoutError < ::ActiveRecord::ConnectionTimeoutError; end # pkg:gem/activerecord#lib/active_record/explain.rb:6 @@ -20471,63 +21126,77 @@ end # # returns the collected queries local to the current thread. # -# pkg:gem/activerecord#lib/active_record/explain_registry.rb:11 +# pkg:gem/activerecord#lib/active_record/explain_registry.rb:10 class ActiveRecord::ExplainRegistry - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:24 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:68 def initialize; end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:21 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:65 def collect; end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:21 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:65 def collect=(_arg0); end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:28 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:77 def collect?; end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:22 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:66 def queries; end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:32 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:81 def reset; end + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:72 + def start; end + class << self - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:13 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 def collect(*, **, &); end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:13 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 def collect=(arg); end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:13 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 def collect?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:13 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 def queries(*, **, &); end - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:13 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 def reset(*, **, &); end + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:57 + def start(*, **, &); end + private - # pkg:gem/activerecord#lib/active_record/explain_registry.rb:16 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:60 def instance; end end end -# pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:7 -class ActiveRecord::ExplainSubscriber - # pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:12 +# pkg:gem/activerecord#lib/active_record/explain_registry.rb:11 +class ActiveRecord::ExplainRegistry::Subscriber + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:31 def finish(name, id, payload); end - # pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:25 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:48 def ignore_payload?(payload); end - # pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:8 + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:37 + def silenced?(_name); end + + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:27 def start(name, id, payload); end + + class << self + # pkg:gem/activerecord#lib/active_record/explain_registry.rb:16 + def ensure_subscribed; end + end end -# pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:24 -ActiveRecord::ExplainSubscriber::EXPLAINED_SQLS = T.let(T.unsafe(nil), Regexp) +# pkg:gem/activerecord#lib/active_record/explain_registry.rb:47 +ActiveRecord::ExplainRegistry::Subscriber::EXPLAINED_SQLS = T.let(T.unsafe(nil), Regexp) # SCHEMA queries cannot be EXPLAINed, also we do not want to run EXPLAIN on # our own EXPLAINs no matter how loopingly beautiful that would be. @@ -20535,8 +21204,51 @@ ActiveRecord::ExplainSubscriber::EXPLAINED_SQLS = T.let(T.unsafe(nil), Regexp) # On the other hand, we want to monitor the performance of our real database # queries, not the performance of the access to the query cache. # -# pkg:gem/activerecord#lib/active_record/explain_subscriber.rb:23 -ActiveRecord::ExplainSubscriber::IGNORED_PAYLOADS = T.let(T.unsafe(nil), Array) +# pkg:gem/activerecord#lib/active_record/explain_registry.rb:46 +ActiveRecord::ExplainRegistry::Subscriber::IGNORED_PAYLOADS = T.let(T.unsafe(nil), Array) + +# pkg:gem/activerecord#lib/active_record/explain_registry.rb:12 +ActiveRecord::ExplainRegistry::Subscriber::MUTEX = T.let(T.unsafe(nil), Thread::Mutex) + +# pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:4 +class ActiveRecord::FilterAttributeHandler + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:18 + def initialize(app); end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:24 + def enable; end + + private + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:32 + def app; end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:48 + def apply_collected_attributes; end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:63 + def apply_filter(klass, list); end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:40 + def attribute_was_declared(klass, list); end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:58 + def collect_for_later(klass, list); end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:54 + def collecting?; end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:34 + def install_collecting_hook; end + + class << self + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:6 + def on_sensitive_attribute_declared(&block); end + + # pkg:gem/activerecord#lib/active_record/filter_attribute_handler.rb:11 + def sensitive_attribute_was_declared(klass, list); end + end +end # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:6 module ActiveRecord::FinderMethods @@ -20899,46 +21611,49 @@ module ActiveRecord::FinderMethods private - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:649 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:682 def _order_columns; end # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:458 def apply_join_dependency(eager_loading: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:589 + def cast_primary_key(id); end + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:439 def construct_relation_for_exists(conditions); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:637 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:651 def find_last(limit); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:599 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:613 def find_nth(index); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:623 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:637 def find_nth_from_last(index); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:604 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:618 def find_nth_with_limit(index, limit); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:521 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:522 def find_one(id); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:542 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:543 def find_some(ids); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:568 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:573 def find_some_ordered(ids); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:583 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:597 def find_take; end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:591 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:605 def find_take_with_limit(limit); end # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:492 def find_with_ids(*ids); end - # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:641 + # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:655 def ordered_relation; end # pkg:gem/activerecord#lib/active_record/relation/finder_methods.rb:488 @@ -21193,9 +21908,9 @@ end # be triggered. In that case, it'll work just like normal subclasses with no special magic # for differentiating between them or reloading the right type with find. # -# Note, all the attributes for all the cases are kept in the same table. -# Read more: -# * https://www.martinfowler.com/eaaCatalog/singleTableInheritance.html +# All subclasses share the same database table. See the +# {Single Table Inheritance pattern}[https://www.martinfowler.com/eaaCatalog/singleTableInheritance.html] +# for more background. # # pkg:gem/activerecord#lib/active_record/inheritance.rb:39 module ActiveRecord::Inheritance @@ -21212,13 +21927,13 @@ module ActiveRecord::Inheritance # do Reply.new without having to set Reply[Reply.inheritance_column] = "Reply" yourself. # No such attribute would be set for objects of the Message class in that example. # - # pkg:gem/activerecord#lib/active_record/inheritance.rb:359 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:364 def ensure_proper_type; end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:343 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:348 def initialize_dup(other); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:349 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:354 def initialize_internals_callback; end module GeneratedClassMethods @@ -21338,7 +22053,7 @@ module ActiveRecord::Inheritance::ClassMethods # Returns the first class in the inheritance hierarchy that descends from either an # abstract class or from ActiveRecord::Base. # - # Consider the following behaviour: + # Consider the following behavior: # # class ApplicationRecord < ActiveRecord::Base # self.abstract_class = true @@ -21421,10 +22136,13 @@ module ActiveRecord::Inheritance::ClassMethods # Returns the class type of the record using the current module as a prefix. So descendants of # MyApp::Business::Account would appear as MyApp::Business::AccountSubclass. # - # pkg:gem/activerecord#lib/active_record/inheritance.rb:242 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:247 def compute_type(type_name); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:270 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:240 + def reload_schema_from_cache(*); end + + # pkg:gem/activerecord#lib/active_record/inheritance.rb:275 def set_base_class; end private @@ -21433,13 +22151,13 @@ module ActiveRecord::Inheritance::ClassMethods # record instance. For single-table inheritance, we check the record # for a +type+ column and return the corresponding class. # - # pkg:gem/activerecord#lib/active_record/inheritance.rb:299 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:304 def discriminate_class_for_record(record); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:311 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:316 def find_sti_class(type_name); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:287 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:292 def inherited(subclass); end # pkg:gem/activerecord#lib/active_record/inheritance.rb:234 @@ -21448,13 +22166,13 @@ module ActiveRecord::Inheritance::ClassMethods # Detect the subclass from the inheritance column of attrs. If the inheritance column value # is not self or a valid subclass, raises ActiveRecord::SubclassNotFound # - # pkg:gem/activerecord#lib/active_record/inheritance.rb:331 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:336 def subclass_from_attributes(attrs); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:322 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:327 def type_condition(table = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/inheritance.rb:307 + # pkg:gem/activerecord#lib/active_record/inheritance.rb:312 def using_single_table_inheritance?(record); end end @@ -21574,7 +22292,7 @@ class ActiveRecord::InsertAll::Builder # pkg:gem/activerecord#lib/active_record/insert_all.rb:230 def initialize(insert_all); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:265 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:270 def conflict_target; end # pkg:gem/activerecord#lib/active_record/insert_all.rb:234 @@ -21589,25 +22307,28 @@ class ActiveRecord::InsertAll::Builder # pkg:gem/activerecord#lib/active_record/insert_all.rb:226 def model; end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:289 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:228 + def primary_keys(*, **, &); end + + # pkg:gem/activerecord#lib/active_record/insert_all.rb:294 def raw_update_sql; end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:293 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:298 def raw_update_sql?; end # pkg:gem/activerecord#lib/active_record/insert_all.rb:228 def record_timestamps?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:249 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:254 def returning; end # pkg:gem/activerecord#lib/active_record/insert_all.rb:228 def skip_duplicates?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:279 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:284 def touch_model_timestamps_unless(&block); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:275 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:280 def updatable_columns; end # pkg:gem/activerecord#lib/active_record/insert_all.rb:228 @@ -21618,28 +22339,28 @@ class ActiveRecord::InsertAll::Builder private - # pkg:gem/activerecord#lib/active_record/insert_all.rb:302 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:307 def columns_list; end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:296 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:301 def connection; end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:306 - def extract_types_from_columns_on(table_name, keys:); end + # pkg:gem/activerecord#lib/active_record/insert_all.rb:311 + def extract_types_for(keys); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:315 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:320 def format_columns(columns); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:296 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:301 def insert_all; end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:323 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:328 def quote_column(column); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:319 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:324 def quote_columns(columns); end - # pkg:gem/activerecord#lib/active_record/insert_all.rb:298 + # pkg:gem/activerecord#lib/active_record/insert_all.rb:303 def touch_timestamp_attribute?(column_name); end end @@ -21869,7 +22590,7 @@ class ActiveRecord::InternalMetadata::NullInternalMetadata; end # Raised when a record cannot be inserted or updated because it references a non-existent record, # or when a record cannot be deleted because a parent record references it. # -# pkg:gem/activerecord#lib/active_record/errors.rb:234 +# pkg:gem/activerecord#lib/active_record/errors.rb:233 class ActiveRecord::InvalidForeignKey < ::ActiveRecord::WrappedDatabaseException; end # pkg:gem/activerecord#lib/active_record/migration.rb:131 @@ -21908,7 +22629,7 @@ end # For example the following migration is not reversible. # Rolling back this migration will raise an ActiveRecord::IrreversibleMigration error. # -# class IrreversibleMigrationExample < ActiveRecord::Migration[8.0] +# class IrreversibleMigrationExample < ActiveRecord::Migration[8.1] # def change # create_table :distributors do |t| # t.string :zipcode @@ -21926,7 +22647,7 @@ end # # 1. Define #up and #down methods instead of #change: # -# class ReversibleMigrationExample < ActiveRecord::Migration[8.0] +# class ReversibleMigrationExample < ActiveRecord::Migration[8.1] # def up # create_table :distributors do |t| # t.string :zipcode @@ -21951,7 +22672,7 @@ end # # 2. Use the #reversible method in #change method: # -# class ReversibleMigrationExample < ActiveRecord::Migration[8.0] +# class ReversibleMigrationExample < ActiveRecord::Migration[8.1] # def change # create_table :distributors do |t| # t.string :zipcode @@ -21982,7 +22703,7 @@ class ActiveRecord::IrreversibleMigration < ::ActiveRecord::MigrationError; end # IrreversibleOrderError is raised when a relation's order is too complex for # +reverse_order+ to automatically reverse. # -# pkg:gem/activerecord#lib/active_record/errors.rb:557 +# pkg:gem/activerecord#lib/active_record/errors.rb:570 class ActiveRecord::IrreversibleOrderError < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/legacy_yaml_adapter.rb:4 @@ -21995,10 +22716,10 @@ end # LockWaitTimeout will be raised when lock wait timeout exceeded. # -# pkg:gem/activerecord#lib/active_record/errors.rb:565 +# pkg:gem/activerecord#lib/active_record/errors.rb:578 class ActiveRecord::LockWaitTimeout < ::ActiveRecord::StatementInvalid; end -# pkg:gem/activerecord#lib/active_record.rb:148 +# pkg:gem/activerecord#lib/active_record.rb:149 module ActiveRecord::Locking extend ::ActiveSupport::Autoload end @@ -22007,22 +22728,22 @@ end # `nil` values to `lock_version`, and not result in `ActiveRecord::StaleObjectError` # during update record. # -# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:206 +# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:213 class ActiveRecord::Locking::LockingType - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:211 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:218 def deserialize(value); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:223 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:230 def encode_with(coder); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:219 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:226 def init_with(coder); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:215 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:222 def serialize(value); end class << self - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:207 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:214 def new(subtype); end end end @@ -22090,16 +22811,16 @@ module ActiveRecord::Locking::Optimistic private - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:142 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:149 def _clear_locking_column; end # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:78 def _create_record(attribute_names = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:134 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:141 def _lock_value_for_database(locking_column); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:147 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:154 def _query_constraints_hash; end # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:87 @@ -22108,7 +22829,7 @@ module ActiveRecord::Locking::Optimistic # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:92 def _update_row(attribute_names, attempted_action = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:124 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:131 def destroy_row; end # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:72 @@ -22126,46 +22847,46 @@ module ActiveRecord::Locking::Optimistic end end -# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:154 +# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:161 module ActiveRecord::Locking::Optimistic::ClassMethods # The version column used for optimistic locking. Defaults to +lock_version+. # - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:171 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:178 def locking_column; end # Set the column to use for optimistic locking. Defaults to +lock_version+. # - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:165 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:172 def locking_column=(value); end # Returns true if the +lock_optimistically+ flag is set to true # (which it is, by default) and the table includes the # +locking_column+ column (defaults to +lock_version+). # - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:160 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:167 def locking_enabled?; end # Reset the column used for optimistic locking back to the +lock_version+ default. # - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:174 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:181 def reset_locking_column; end # Make sure the lock version column gets updated when counters are # updated. # - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:180 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:187 def update_counters(id, counters); end private - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:186 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:193 def hook_attribute_type(name, cast_type); end - # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:194 + # pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:201 def inherited(base); end end -# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:155 +# pkg:gem/activerecord#lib/active_record/locking/optimistic.rb:162 ActiveRecord::Locking::Optimistic::ClassMethods::DEFAULT_LOCKING_COLUMN = T.let(T.unsafe(nil), String) # = \Pessimistic \Locking @@ -22246,7 +22967,7 @@ module ActiveRecord::Locking::Pessimistic # and joinable: to the wrapping transaction (see # ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction). # - # pkg:gem/activerecord#lib/active_record/locking/pessimistic.rb:92 + # pkg:gem/activerecord#lib/active_record/locking/pessimistic.rb:97 def with_lock(*args); end end @@ -22272,19 +22993,19 @@ class ActiveRecord::LogSubscriber < ::ActiveSupport::LogSubscriber # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:80 def colorize_payload_name(name, payload_name); end - # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:113 + # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:125 def debug(progname = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:137 + # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:145 def filter(name, value); end - # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:121 + # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:133 def log_query_source; end - # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:109 + # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:121 def logger; end - # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:129 + # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:141 def query_source_location; end # pkg:gem/activerecord#lib/active_record/log_subscriber.rb:65 @@ -22345,7 +23066,7 @@ module ActiveRecord::Marshalling::Methods def marshal_load(state); end end -# pkg:gem/activerecord#lib/active_record.rb:166 +# pkg:gem/activerecord#lib/active_record.rb:167 module ActiveRecord::Middleware extend ::ActiveSupport::Autoload end @@ -22534,46 +23255,60 @@ end # shard to switch to and allows for applications to write custom strategies # for swapping if needed. # -# The ShardSelector takes a set of options (currently only +lock+ is supported) -# that can be used by the middleware to alter behavior. +lock+ is -# true by default and will prohibit the request from switching shards once -# inside the block. If +lock+ is false, then shard swapping will be allowed. -# For tenant based sharding, +lock+ should always be true to prevent application -# code from mistakenly switching between tenants. +# == Setup +# +# Applications must provide a resolver that will provide application-specific logic for +# selecting the appropriate shard. Setting +config.active_record.shard_resolver+ will cause +# Rails to add ShardSelector to the default middleware stack. # -# Options can be set in the config: +# The resolver, along with any configuration options, can be set in the application +# configuration using an initializer like so: # -# config.active_record.shard_selector = { lock: true } +# Rails.application.configure do +# config.active_record.shard_selector = { lock: false, class_name: "AnimalsRecord" } +# config.active_record.shard_resolver = ->(request) { +# subdomain = request.subdomain +# tenant = Tenant.find_by_subdomain!(subdomain) +# tenant.shard +# } +# end # -# Applications must also provide the code for the resolver as it depends on application -# specific models. An example resolver would look like this: +# == Configuration # -# config.active_record.shard_resolver = ->(request) { -# subdomain = request.subdomain -# tenant = Tenant.find_by_subdomain!(subdomain) -# tenant.shard -# } +# The behavior of ShardSelector can be altered through some configuration options. # -# pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:31 +# [+lock:+] +# +lock+ is true by default and will prohibit the request from switching shards once inside +# the block. If +lock+ is false, then shard switching will be allowed. For tenant based +# sharding, +lock+ should always be true to prevent application code from mistakenly switching +# between tenants. +# +# [+class_name:+] +# +class_name+ is the name of the abstract connection class to switch. By +# default, the ShardSelector will use ActiveRecord::Base, but if the +# application has multiple databases, then this option should be set to +# the name of the sharded database's abstract connection class. +# +# pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:46 class ActiveRecord::Middleware::ShardSelector - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:32 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:47 def initialize(app, resolver, options = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:40 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:55 def call(env); end - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:38 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:53 def options; end - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:38 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:53 def resolver; end private - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:51 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:66 def selected_shard(request); end - # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:55 + # pkg:gem/activerecord#lib/active_record/middleware/shard_selector.rb:70 def set_shard(shard, &block); end end @@ -22589,7 +23324,7 @@ end # # Example of a simple migration: # -# class AddSsl < ActiveRecord::Migration[8.0] +# class AddSsl < ActiveRecord::Migration[8.1] # def up # add_column :accounts, :ssl_enabled, :boolean, default: true # end @@ -22609,7 +23344,7 @@ end # # Example of a more complex migration that also needs to initialize data: # -# class AddSystemSettings < ActiveRecord::Migration[8.0] +# class AddSystemSettings < ActiveRecord::Migration[8.1] # def up # create_table :system_settings do |t| # t.string :name @@ -22738,7 +23473,7 @@ end # $ bin/rails generate migration add_fieldname_to_tablename fieldname:string # # This will generate the file timestamp_add_fieldname_to_tablename.rb, which will look like this: -# class AddFieldnameToTablename < ActiveRecord::Migration[8.0] +# class AddFieldnameToTablename < ActiveRecord::Migration[8.1] # def change # add_column :tablenames, :fieldname, :string # end @@ -22764,7 +23499,7 @@ end # # Not all migrations change the schema. Some just fix the data: # -# class RemoveEmptyTags < ActiveRecord::Migration[8.0] +# class RemoveEmptyTags < ActiveRecord::Migration[8.1] # def up # Tag.all.each { |tag| tag.destroy if tag.pages.empty? } # end @@ -22777,7 +23512,7 @@ end # # Others remove columns when they migrate up instead of down: # -# class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[8.0] +# class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[8.1] # def up # remove_column :items, :incomplete_items_count # remove_column :items, :completed_items_count @@ -22791,7 +23526,7 @@ end # # And sometimes you need to do something in SQL not abstracted directly by migrations: # -# class MakeJoinUnique < ActiveRecord::Migration[8.0] +# class MakeJoinUnique < ActiveRecord::Migration[8.1] # def up # execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)" # end @@ -22808,7 +23543,7 @@ end # Base#reset_column_information in order to ensure that the model has the # latest column data from after the new column was added. Example: # -# class AddPeopleSalary < ActiveRecord::Migration[8.0] +# class AddPeopleSalary < ActiveRecord::Migration[8.1] # def up # add_column :people, :salary, :integer # Person.reset_column_information @@ -22870,7 +23605,7 @@ end # To define a reversible migration, define the +change+ method in your # migration like this: # -# class TenderloveMigration < ActiveRecord::Migration[8.0] +# class TenderloveMigration < ActiveRecord::Migration[8.1] # def change # create_table(:horses) do |t| # t.column :content, :text @@ -22900,7 +23635,7 @@ end # can't execute inside a transaction though, and for these situations # you can turn the automatic transactions off. # -# class ChangeEnum < ActiveRecord::Migration[8.0] +# class ChangeEnum < ActiveRecord::Migration[8.1] # disable_ddl_transaction! # # def up @@ -22913,57 +23648,57 @@ end # # pkg:gem/activerecord#lib/active_record/migration.rb:570 class ActiveRecord::Migration - # pkg:gem/activerecord#lib/active_record/migration.rb:799 + # pkg:gem/activerecord#lib/active_record/migration.rb:805 def initialize(name = T.unsafe(nil), version = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1004 + # pkg:gem/activerecord#lib/active_record/migration.rb:1010 def announce(message); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1035 + # pkg:gem/activerecord#lib/active_record/migration.rb:1041 def connection; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1039 + # pkg:gem/activerecord#lib/active_record/migration.rb:1045 def connection_pool; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1060 + # pkg:gem/activerecord#lib/active_record/migration.rb:1066 def copy(destination, sources, options = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:786 + # pkg:gem/activerecord#lib/active_record/migration.rb:792 def disable_ddl_transaction; end - # pkg:gem/activerecord#lib/active_record/migration.rb:956 + # pkg:gem/activerecord#lib/active_record/migration.rb:962 def down; end - # pkg:gem/activerecord#lib/active_record/migration.rb:984 + # pkg:gem/activerecord#lib/active_record/migration.rb:990 def exec_migration(conn, direction); end - # pkg:gem/activerecord#lib/active_record/migration.rb:806 + # pkg:gem/activerecord#lib/active_record/migration.rb:812 def execution_strategy; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1043 + # pkg:gem/activerecord#lib/active_record/migration.rb:1049 def method_missing(method, *arguments, **, &block); end # Execute this migration in the named direction # - # pkg:gem/activerecord#lib/active_record/migration.rb:963 + # pkg:gem/activerecord#lib/active_record/migration.rb:969 def migrate(direction); end - # pkg:gem/activerecord#lib/active_record/migration.rb:797 + # pkg:gem/activerecord#lib/active_record/migration.rb:803 def name; end - # pkg:gem/activerecord#lib/active_record/migration.rb:797 + # pkg:gem/activerecord#lib/active_record/migration.rb:803 def name=(_arg0); end # Determines the version number of the next migration. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1127 + # pkg:gem/activerecord#lib/active_record/migration.rb:1133 def next_migration_number(number); end # Finds the correct table name given an Active Record object. # Uses the Active Record object's own table_name, or pre/suffix from the # options passed in. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1118 + # pkg:gem/activerecord#lib/active_record/migration.rb:1124 def proper_table_name(name, options = T.unsafe(nil)); end # Used to specify an operation that can be run in one direction or another. @@ -22975,7 +23710,7 @@ class ActiveRecord::Migration # when the three columns 'first_name', 'last_name' and 'full_name' exist, # even when migrating down: # - # class SplitNameMigration < ActiveRecord::Migration[8.0] + # class SplitNameMigration < ActiveRecord::Migration[8.1] # def change # add_column :users, :first_name, :string # add_column :users, :last_name, :string @@ -22993,7 +23728,7 @@ class ActiveRecord::Migration # end # end # - # pkg:gem/activerecord#lib/active_record/migration.rb:908 + # pkg:gem/activerecord#lib/active_record/migration.rb:914 def reversible; end # Reverses the migration commands for the given block and @@ -23003,7 +23738,7 @@ class ActiveRecord::Migration # and create the table 'apples' on the way up, and the reverse # on the way down. # - # class FixTLMigration < ActiveRecord::Migration[8.0] + # class FixTLMigration < ActiveRecord::Migration[8.1] # def change # revert do # create_table(:horses) do |t| @@ -23022,7 +23757,7 @@ class ActiveRecord::Migration # # require_relative "20121212123456_tenderlove_migration" # - # class FixupTLMigration < ActiveRecord::Migration[8.0] + # class FixupTLMigration < ActiveRecord::Migration[8.1] # def change # revert TenderloveMigration # @@ -23034,10 +23769,10 @@ class ActiveRecord::Migration # # This command can be nested. # - # pkg:gem/activerecord#lib/active_record/migration.rb:851 + # pkg:gem/activerecord#lib/active_record/migration.rb:857 def revert(*migration_classes, &block); end - # pkg:gem/activerecord#lib/active_record/migration.rb:868 + # pkg:gem/activerecord#lib/active_record/migration.rb:874 def reverting?; end # Runs the given migration classes. @@ -23046,33 +23781,33 @@ class ActiveRecord::Migration # - +:direction+ - Default is +:up+. # - +:revert+ - Default is +false+. # - # pkg:gem/activerecord#lib/active_record/migration.rb:936 + # pkg:gem/activerecord#lib/active_record/migration.rb:942 def run(*migration_classes); end # Takes a message argument and outputs it as is. # A second boolean argument can be passed to specify whether to indent or not. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1012 + # pkg:gem/activerecord#lib/active_record/migration.rb:1018 def say(message, subitem = T.unsafe(nil)); end # Outputs text along with how long it took to run its block. # If the block returns an integer it assumes it is the number of rows affected. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1018 + # pkg:gem/activerecord#lib/active_record/migration.rb:1024 def say_with_time(message); end # Takes a block as an argument and suppresses any output generated by the block. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1028 + # pkg:gem/activerecord#lib/active_record/migration.rb:1034 def suppress_messages; end # Builds a hash for use in ActiveRecord::Migration#proper_table_name using # the Active Record object's table_name prefix and suffix # - # pkg:gem/activerecord#lib/active_record/migration.rb:1137 + # pkg:gem/activerecord#lib/active_record/migration.rb:1143 def table_name_options(config = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:950 + # pkg:gem/activerecord#lib/active_record/migration.rb:956 def up; end # Used to specify an operation that is only run when migrating up @@ -23081,7 +23816,7 @@ class ActiveRecord::Migration # In the following example, the new column +published+ will be given # the value +true+ for all existing records. # - # class AddPublishedToPosts < ActiveRecord::Migration[8.0] + # class AddPublishedToPosts < ActiveRecord::Migration[8.1] # def change # add_column :posts, :published, :boolean, default: false # up_only do @@ -23090,61 +23825,64 @@ class ActiveRecord::Migration # end # end # - # pkg:gem/activerecord#lib/active_record/migration.rb:927 + # pkg:gem/activerecord#lib/active_record/migration.rb:933 def up_only(&block); end - # pkg:gem/activerecord#lib/active_record/migration.rb:796 + # pkg:gem/activerecord#lib/active_record/migration.rb:802 def verbose; end - # pkg:gem/activerecord#lib/active_record/migration.rb:796 + # pkg:gem/activerecord#lib/active_record/migration.rb:802 def verbose=(val); end - # pkg:gem/activerecord#lib/active_record/migration.rb:797 + # pkg:gem/activerecord#lib/active_record/migration.rb:803 def version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:797 + # pkg:gem/activerecord#lib/active_record/migration.rb:803 def version=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1000 + # pkg:gem/activerecord#lib/active_record/migration.rb:1006 def write(text = T.unsafe(nil)); end private - # pkg:gem/activerecord#lib/active_record/migration.rb:1169 + # pkg:gem/activerecord#lib/active_record/migration.rb:1175 def command_recorder; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1145 + # pkg:gem/activerecord#lib/active_record/migration.rb:1151 def execute_block; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1153 + # pkg:gem/activerecord#lib/active_record/migration.rb:1159 def format_arguments(arguments); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1165 + # pkg:gem/activerecord#lib/active_record/migration.rb:1171 def internal_option?(option_name); end + # pkg:gem/activerecord#lib/active_record/migration.rb:1179 + def respond_to_missing?(method, include_private = T.unsafe(nil)); end + class << self - # pkg:gem/activerecord#lib/active_record/migration.rb:628 + # pkg:gem/activerecord#lib/active_record/migration.rb:629 def [](version); end # Raises ActiveRecord::PendingMigrationError error if any migrations are pending # for all database configurations in an environment. # - # pkg:gem/activerecord#lib/active_record/migration.rb:692 + # pkg:gem/activerecord#lib/active_record/migration.rb:693 def check_all_pending!; end - # pkg:gem/activerecord#lib/active_record/migration.rb:738 + # pkg:gem/activerecord#lib/active_record/migration.rb:739 def check_pending_migrations; end - # pkg:gem/activerecord#lib/active_record/migration.rb:632 + # pkg:gem/activerecord#lib/active_record/migration.rb:633 def current_version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:683 + # pkg:gem/activerecord#lib/active_record/migration.rb:684 def delegate; end - # pkg:gem/activerecord#lib/active_record/migration.rb:683 + # pkg:gem/activerecord#lib/active_record/migration.rb:684 def delegate=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration.rb:684 + # pkg:gem/activerecord#lib/active_record/migration.rb:685 def disable_ddl_transaction; end # Disable the transaction wrapping this migration. @@ -23152,72 +23890,75 @@ class ActiveRecord::Migration # # For more details read the {"Transactional Migrations" section above}[rdoc-ref:Migration]. # - # pkg:gem/activerecord#lib/active_record/migration.rb:734 + # pkg:gem/activerecord#lib/active_record/migration.rb:735 def disable_ddl_transaction!; end - # pkg:gem/activerecord#lib/active_record/migration.rb:684 + # pkg:gem/activerecord#lib/active_record/migration.rb:685 def disable_ddl_transaction=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration.rb:616 + # pkg:gem/activerecord#lib/active_record/migration.rb:617 def inherited(subclass); end - # pkg:gem/activerecord#lib/active_record/migration.rb:708 + # pkg:gem/activerecord#lib/active_record/migration.rb:709 def load_schema_if_pending!; end - # pkg:gem/activerecord#lib/active_record/migration.rb:716 + # pkg:gem/activerecord#lib/active_record/migration.rb:717 def maintain_test_schema!; end - # pkg:gem/activerecord#lib/active_record/migration.rb:722 + # pkg:gem/activerecord#lib/active_record/migration.rb:723 def method_missing(name, *, **, &); end - # pkg:gem/activerecord#lib/active_record/migration.rb:726 + # pkg:gem/activerecord#lib/active_record/migration.rb:727 def migrate(direction); end - # pkg:gem/activerecord#lib/active_record/migration.rb:686 + # pkg:gem/activerecord#lib/active_record/migration.rb:687 def nearest_delegate; end - # pkg:gem/activerecord#lib/active_record/migration.rb:638 + # pkg:gem/activerecord#lib/active_record/migration.rb:639 def valid_version_format?(version_string); end - # pkg:gem/activerecord#lib/active_record/migration.rb:796 + # pkg:gem/activerecord#lib/active_record/migration.rb:802 def verbose; end - # pkg:gem/activerecord#lib/active_record/migration.rb:796 + # pkg:gem/activerecord#lib/active_record/migration.rb:802 def verbose=(val); end private - # pkg:gem/activerecord#lib/active_record/migration.rb:747 + # pkg:gem/activerecord#lib/active_record/migration.rb:748 def any_schema_needs_update?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:753 + # pkg:gem/activerecord#lib/active_record/migration.rb:754 def db_configs_in_current_env; end - # pkg:gem/activerecord#lib/active_record/migration.rb:771 + # pkg:gem/activerecord#lib/active_record/migration.rb:772 def env; end - # pkg:gem/activerecord#lib/active_record/migration.rb:775 + # pkg:gem/activerecord#lib/active_record/migration.rb:776 def load_schema!; end - # pkg:gem/activerecord#lib/active_record/migration.rb:757 + # pkg:gem/activerecord#lib/active_record/migration.rb:758 def pending_migrations; end + + # pkg:gem/activerecord#lib/active_record/migration.rb:786 + def respond_to_missing?(method, include_private = T.unsafe(nil)); end end end # This class is used to verify that all migrations have been run before # loading a web page if config.active_record.migration_error is set to +:page_load+. # -# pkg:gem/activerecord#lib/active_record/migration.rb:647 +# pkg:gem/activerecord#lib/active_record/migration.rb:648 class ActiveRecord::Migration::CheckPending - # pkg:gem/activerecord#lib/active_record/migration.rb:648 + # pkg:gem/activerecord#lib/active_record/migration.rb:649 def initialize(app, file_watcher: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:655 + # pkg:gem/activerecord#lib/active_record/migration.rb:656 def call(env); end private - # pkg:gem/activerecord#lib/active_record/migration.rb:674 + # pkg:gem/activerecord#lib/active_record/migration.rb:675 def build_watcher(&block); end end @@ -23263,115 +24004,123 @@ end # * rename_enum_value (must supply a +:from+ and +:to+ option) # * rename_index # * rename_table +# * enable_index +# * disable_index # -# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:47 +# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:49 class ActiveRecord::Migration::CommandRecorder include ::ActiveRecord::Migration::JoinTable include ::ActiveRecord::Migration::CommandRecorder::StraightReversions - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:67 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:70 def initialize(delegate = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:133 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:136 def add_belongs_to(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_check_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_column(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_enum_value(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_exclusion_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_foreign_key(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_index(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_reference(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_timestamps(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def add_unique_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def change_column(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def change_column_comment(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def change_column_default(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def change_column_null(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:136 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:139 def change_table(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def change_table_comment(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def commands; end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def commands=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def create_enum(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def create_join_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def create_schema(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def create_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def create_virtual_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def delegate; end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def delegate=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def disable_extension(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 + def disable_index(*args, **, &block); end + + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def drop_enum(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def drop_join_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def drop_schema(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def drop_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def drop_virtual_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def enable_extension(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 + def enable_index(*args, **, &block); end + + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def execute(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def execute_block(*args, **, &block); end # Returns the inverse of the given command. For example: @@ -23387,13 +24136,13 @@ class ActiveRecord::Migration::CommandRecorder # This method will raise an +IrreversibleMigration+ exception if it cannot # invert the +command+. # - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:114 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:117 def inverse_of(command, args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:269 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:284 def invert_add_belongs_to(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:270 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:285 def invert_remove_belongs_to(args, &block); end # Record +command+. +command+ should be a method name and arguments. @@ -23401,55 +24150,55 @@ class ActiveRecord::Migration::CommandRecorder # # recorder.record(:method_name, [:arg1, :arg2]) # - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:94 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:97 def record(*command, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:134 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:137 def remove_belongs_to(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_check_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_column(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_columns(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_exclusion_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_foreign_key(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_index(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_reference(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_timestamps(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def remove_unique_constraint(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def rename_column(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def rename_enum(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def rename_enum_value(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def rename_index(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def rename_table(*args, **, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:148 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:151 def replay(migration); end # While executing the given block, the recorded will be in reverting mode. @@ -23460,191 +24209,200 @@ class ActiveRecord::Migration::CommandRecorder # recorder.revert{ recorder.record(:rename_table, [:old, :new]) } # # same effect as recorder.record(:rename_table, [:new, :old]) # - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:80 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:83 def revert; end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def reverting; end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:68 def reverting=(_arg0); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:126 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:129 def transaction(*args, **, &block); end private - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:326 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:349 def invert_add_check_constraint(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:287 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:302 + def invert_add_column(args); end + + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:309 def invert_add_foreign_key(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:348 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:371 def invert_add_unique_constraint(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:306 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:329 def invert_change_column_comment(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:272 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:287 def invert_change_column_default(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:282 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:297 def invert_change_column_null(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:316 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:339 def invert_change_table_comment(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:197 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:210 def invert_create_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:362 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:194 + def invert_disable_index(args); end + + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:385 def invert_drop_enum(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:204 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:217 def invert_drop_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:389 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:412 def invert_drop_virtual_table(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:334 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:189 + def invert_enable_index(args); end + + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:357 def invert_remove_check_constraint(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:228 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:241 def invert_remove_column(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:233 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:248 def invert_remove_columns(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:343 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:366 def invert_remove_exclusion_constraint(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:292 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:314 def invert_remove_foreign_key(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:251 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:266 def invert_remove_index(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:355 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:378 def invert_remove_unique_constraint(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:246 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:261 def invert_rename_column(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:368 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:391 def invert_rename_enum(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:378 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:401 def invert_rename_enum_value(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:241 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:256 def invert_rename_index(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:221 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:234 def invert_rename_table(args); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:186 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:199 def invert_transaction(args, &block); end # Forwards any missing method call to the \target. # - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:400 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:423 def method_missing(method, *, **, &); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:395 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:418 def respond_to_missing?(method, _); end end -# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:48 +# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:50 ActiveRecord::Migration::CommandRecorder::ReversibleAndIrreversibleMethods = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:155 +# pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:158 module ActiveRecord::Migration::CommandRecorder::StraightReversions - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_check_constraint(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_column(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_exclusion_constraint(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_foreign_key(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_index(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_reference(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_timestamps(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_add_unique_constraint(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_create_enum(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_create_join_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_create_schema(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_create_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_create_virtual_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_disable_extension(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_drop_enum(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_drop_join_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_drop_schema(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_drop_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_drop_virtual_table(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_enable_extension(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_execute_block(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_check_constraint(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_column(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_exclusion_constraint(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_foreign_key(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_index(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_reference(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_timestamps(args, &block); end - # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:175 + # pkg:gem/activerecord#lib/active_record/migration/command_recorder.rb:178 def invert_remove_unique_constraint(args, &block); end end @@ -23656,298 +24414,320 @@ module ActiveRecord::Migration::Compatibility end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:416 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:428 class ActiveRecord::Migration::Compatibility::V4_2 < ::ActiveRecord::Migration::Compatibility::V5_0 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:438 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:450 def add_belongs_to(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:434 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:446 def add_reference(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:440 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:452 def add_timestamps(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:445 - def index_exists?(table_name, column_name, **options); end + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:457 + def index_exists?(table_name, column_name = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:456 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:468 def remove_index(table_name, column_name = T.unsafe(nil), **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:462 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:474 def compatible_table_definition(t); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:469 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:479 def index_name_for_remove(table_name, column_name, options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:417 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:429 module ActiveRecord::Migration::Compatibility::V4_2::TableDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:422 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:434 def belongs_to(*, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:418 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:430 def references(*, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:424 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:436 def timestamps(**options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:430 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:442 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:347 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:361 class ActiveRecord::Migration::Compatibility::V5_0 < ::ActiveRecord::Migration::Compatibility::V5_1 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:405 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:419 def add_belongs_to(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:392 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:406 def add_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:402 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:416 def add_reference(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:387 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:401 def create_join_table(table_1, table_2, column_options: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:364 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:378 def create_table(table_name, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:408 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:422 def compatible_table_definition(t); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:348 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:362 module ActiveRecord::Migration::Compatibility::V5_0::TableDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:357 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:371 def belongs_to(*args, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:349 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:363 def primary_key(name, type = T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:354 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:368 def references(*args, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:360 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:374 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:326 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:340 class ActiveRecord::Migration::Compatibility::V5_1 < ::ActiveRecord::Migration::Compatibility::V5_2 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:327 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:341 def change_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:338 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:352 def create_table(table_name, **options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:270 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:288 class ActiveRecord::Migration::Compatibility::V5_2 < ::ActiveRecord::Migration::Compatibility::V6_0 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:304 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:322 def add_timestamps(table_name, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:317 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:333 def command_recorder; end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:310 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:328 def compatible_table_definition(t); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:290 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:308 module ActiveRecord::Migration::Compatibility::V5_2::CommandRecorder - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:295 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:313 def invert_change_column_comment(args); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:299 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:317 def invert_change_table_comment(args); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:291 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:309 def invert_transaction(args, &block); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:271 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:289 module ActiveRecord::Migration::Compatibility::V5_2::TableDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:277 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:295 def column(name, type, index: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:272 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:290 def timestamps(**options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:286 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:304 def raise_on_duplicate_column(name); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:283 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:301 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:227 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:247 class ActiveRecord::Migration::Compatibility::V6_0 < ::ActiveRecord::Migration::Compatibility::V6_1 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:259 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:279 def add_belongs_to(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:251 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:271 def add_reference(table_name, ref_name, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:262 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:282 def compatible_table_definition(t); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:228 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:248 class ActiveRecord::Migration::Compatibility::V6_0::ReferenceDefinition < ::ActiveRecord::ConnectionAdapters::ReferenceDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:229 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:249 def index_options(table_name); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:234 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:254 module ActiveRecord::Migration::Compatibility::V6_0::TableDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:239 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:259 def belongs_to(*args, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:241 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:261 def column(name, type, index: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:235 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:255 def references(*args, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:247 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:267 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:164 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:186 class ActiveRecord::Migration::Compatibility::V6_1 < ::ActiveRecord::Migration::Compatibility::V7_0 - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:179 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:201 def add_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:188 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:210 def change_column(table_name, column_name, type, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:219 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:241 def compatible_table_definition(t); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:165 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:187 class ActiveRecord::Migration::Compatibility::V6_1::PostgreSQLCompat class << self - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:166 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:188 def compatible_timestamp_type(type, connection); end end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:197 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:219 module ActiveRecord::Migration::Compatibility::V6_1::TableDefinition - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:203 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:225 def change(name, type, index: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:208 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:230 def column(name, type, index: T.unsafe(nil), **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:198 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:220 def new_column_definition(name, type, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:214 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:236 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:40 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:64 class ActiveRecord::Migration::Compatibility::V7_0 < ::ActiveRecord::Migration::Compatibility::V7_1 include ::ActiveRecord::Migration::Compatibility::V7_0::LegacyIndexName - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:114 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:138 def add_belongs_to(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:100 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:124 def add_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:148 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:172 def add_foreign_key(from_table, to_table, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:105 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:129 def add_index(table_name, column_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:110 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:134 def add_reference(table_name, ref_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:129 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:153 def change_column(table_name, column_name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:137 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:161 def change_column_null(table_name, column_name, null, default = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:116 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:140 def create_table(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:141 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:165 def disable_extension(name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:123 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:147 def rename_table(table_name, new_name, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:156 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:180 def compatible_table_definition(t); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:41 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:65 module ActiveRecord::Migration::Compatibility::V7_0::LegacyIndexName private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:65 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:89 def expression_column_name?(column_name); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:57 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:81 def index_name_options(column_names); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:43 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:67 def legacy_index_name(table_name, options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:70 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:94 module ActiveRecord::Migration::Compatibility::V7_0::TableDefinition include ::ActiveRecord::Migration::Compatibility::V7_0::LegacyIndexName - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:78 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:102 def change(name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:73 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:97 def column(name, type, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:83 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:107 def index(column_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:88 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:112 def references(*args, **options); end private - # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:94 + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:118 def raise_on_if_exist_options(options); end end -# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:37 +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:61 class ActiveRecord::Migration::Compatibility::V7_1 < ::ActiveRecord::Migration::Compatibility::V7_2; end +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:58 +class ActiveRecord::Migration::Compatibility::V7_2 < ::ActiveRecord::Migration::Compatibility::V8_0; end + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:34 -class ActiveRecord::Migration::Compatibility::V7_2 < ::ActiveRecord::Migration::Current; end +class ActiveRecord::Migration::Compatibility::V8_0 < ::ActiveRecord::Migration::Current + include ::ActiveRecord::Migration::Compatibility::V8_0::RemoveForeignKeyColumnMatch + + private + + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:52 + def compatible_table_definition(t); end +end + +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:35 +module ActiveRecord::Migration::Compatibility::V8_0::RemoveForeignKeyColumnMatch + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:36 + def remove_foreign_key(*args, **options); end +end + +# pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:42 +module ActiveRecord::Migration::Compatibility::V8_0::TableDefinition + # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:43 + def remove_foreign_key(to_table = T.unsafe(nil), **options); end +end # This file exists to ensure that old migrations run the same way they did before a Rails upgrade. # e.g. if you write a migration on Rails 6.1, then upgrade to Rails 7, the migration should do the same thing to your @@ -23957,7 +24737,7 @@ class ActiveRecord::Migration::Compatibility::V7_2 < ::ActiveRecord::Migration:: # New migration functionality that will never be backward compatible should be added directly to `ActiveRecord::Migration`. # # There are classes for each prior Rails version. Each class descends from the *next* Rails version, so: -# 5.2 < 6.0 < 6.1 < 7.0 < 7.1 < 7.2 < 8.0 +# 5.2 < 6.0 < 6.1 < 7.0 < 7.1 < 7.2 < 8.0 < 8.1 # # If you are introducing new migration functionality that should only apply from Rails 7 onward, then you should # find the class that immediately precedes it (6.1), and override the relevant migration methods to undo your changes. @@ -23967,28 +24747,46 @@ class ActiveRecord::Migration::Compatibility::V7_2 < ::ActiveRecord::Migration:: # for migrations written for 5.2, but will for migrations written for 6.0. # # pkg:gem/activerecord#lib/active_record/migration/compatibility.rb:32 -ActiveRecord::Migration::Compatibility::V8_0 = ActiveRecord::Migration::Current +ActiveRecord::Migration::Compatibility::V8_1 = ActiveRecord::Migration::Current # This must be defined before the inherited hook, below # -# pkg:gem/activerecord#lib/active_record/migration.rb:578 +# pkg:gem/activerecord#lib/active_record/migration.rb:579 class ActiveRecord::Migration::Current < ::ActiveRecord::Migration - # pkg:gem/activerecord#lib/active_record/migration.rb:587 + # pkg:gem/activerecord#lib/active_record/migration.rb:588 def change_table(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration.rb:611 + # pkg:gem/activerecord#lib/active_record/migration.rb:612 def compatible_table_definition(t); end - # pkg:gem/activerecord#lib/active_record/migration.rb:595 + # pkg:gem/activerecord#lib/active_record/migration.rb:596 def create_join_table(table_1, table_2, **options); end - # pkg:gem/activerecord#lib/active_record/migration.rb:579 + # pkg:gem/activerecord#lib/active_record/migration.rb:580 def create_table(table_name, **options); end - # pkg:gem/activerecord#lib/active_record/migration.rb:603 + # pkg:gem/activerecord#lib/active_record/migration.rb:604 def drop_table(*table_names, **options); end end +# This class is used by the schema dumper to format versions information. +# +# The class receives the current +connection+ when initialized. +# +# pkg:gem/activerecord#lib/active_record/migration/default_schema_versions_formatter.rb:8 +class ActiveRecord::Migration::DefaultSchemaVersionsFormatter + # pkg:gem/activerecord#lib/active_record/migration/default_schema_versions_formatter.rb:9 + def initialize(connection); end + + # pkg:gem/activerecord#lib/active_record/migration/default_schema_versions_formatter.rb:13 + def format(versions); end + + private + + # pkg:gem/activerecord#lib/active_record/migration/default_schema_versions_formatter.rb:27 + def connection; end +end + # The default strategy for executing migrations. Delegates method calls # to the connection adapter. # @@ -24034,37 +24832,37 @@ module ActiveRecord::Migration::JoinTable def join_table_name(table_1, table_2); end end -# pkg:gem/activerecord#lib/active_record/migration.rb:636 +# pkg:gem/activerecord#lib/active_record/migration.rb:637 ActiveRecord::Migration::MigrationFilenameRegexp = T.let(T.unsafe(nil), Regexp) -# pkg:gem/activerecord#lib/active_record/migration.rb:872 +# pkg:gem/activerecord#lib/active_record/migration.rb:878 class ActiveRecord::Migration::ReversibleBlockHelper < ::Struct - # pkg:gem/activerecord#lib/active_record/migration.rb:877 + # pkg:gem/activerecord#lib/active_record/migration.rb:883 def down; end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def reverting; end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def reverting=(_); end - # pkg:gem/activerecord#lib/active_record/migration.rb:873 + # pkg:gem/activerecord#lib/active_record/migration.rb:879 def up; end class << self - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def inspect; end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def members; end - # pkg:gem/activerecord#lib/active_record/migration.rb:872 + # pkg:gem/activerecord#lib/active_record/migration.rb:878 def new(*_arg0); end end end @@ -24079,30 +24877,30 @@ end # a +SchemaMigration+ object per database. From the Rake tasks, \Rails will # handle this for you. # -# pkg:gem/activerecord#lib/active_record/migration.rb:1210 +# pkg:gem/activerecord#lib/active_record/migration.rb:1220 class ActiveRecord::MigrationContext - # pkg:gem/activerecord#lib/active_record/migration.rb:1213 + # pkg:gem/activerecord#lib/active_record/migration.rb:1223 def initialize(migrations_paths, schema_migration = T.unsafe(nil), internal_metadata = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1339 + # pkg:gem/activerecord#lib/active_record/migration.rb:1349 def current_environment; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1289 + # pkg:gem/activerecord#lib/active_record/migration.rb:1299 def current_version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1263 + # pkg:gem/activerecord#lib/active_record/migration.rb:1273 def down(target_version = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1249 + # pkg:gem/activerecord#lib/active_record/migration.rb:1259 def forward(steps = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1281 + # pkg:gem/activerecord#lib/active_record/migration.rb:1291 def get_all_versions; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1211 + # pkg:gem/activerecord#lib/active_record/migration.rb:1221 def internal_metadata; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1347 + # pkg:gem/activerecord#lib/active_record/migration.rb:1357 def last_stored_environment; end # Runs the migrations in the +migrations_path+. @@ -24119,63 +24917,63 @@ class ActiveRecord::MigrationContext # If none of the conditions are met, +up+ will be run with # the +target_version+. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1232 + # pkg:gem/activerecord#lib/active_record/migration.rb:1242 def migrate(target_version = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1302 + # pkg:gem/activerecord#lib/active_record/migration.rb:1312 def migrations; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1211 + # pkg:gem/activerecord#lib/active_record/migration.rb:1221 def migrations_paths; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1318 + # pkg:gem/activerecord#lib/active_record/migration.rb:1328 def migrations_status; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1294 + # pkg:gem/activerecord#lib/active_record/migration.rb:1304 def needs_migration?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1277 + # pkg:gem/activerecord#lib/active_record/migration.rb:1287 def open; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1298 + # pkg:gem/activerecord#lib/active_record/migration.rb:1308 def pending_migration_versions; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1343 + # pkg:gem/activerecord#lib/active_record/migration.rb:1353 def protected_environment?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1245 + # pkg:gem/activerecord#lib/active_record/migration.rb:1255 def rollback(steps = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1273 + # pkg:gem/activerecord#lib/active_record/migration.rb:1283 def run(direction, target_version); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1211 + # pkg:gem/activerecord#lib/active_record/migration.rb:1221 def schema_migration; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1253 + # pkg:gem/activerecord#lib/active_record/migration.rb:1263 def up(target_version = T.unsafe(nil), &block); end private - # pkg:gem/activerecord#lib/active_record/migration.rb:1359 + # pkg:gem/activerecord#lib/active_record/migration.rb:1369 def connection; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1363 + # pkg:gem/activerecord#lib/active_record/migration.rb:1373 def connection_pool; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1367 + # pkg:gem/activerecord#lib/active_record/migration.rb:1377 def migration_files; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1384 + # pkg:gem/activerecord#lib/active_record/migration.rb:1394 def move(direction, steps); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1372 + # pkg:gem/activerecord#lib/active_record/migration.rb:1382 def parse_migration_filename(filename); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1380 + # pkg:gem/activerecord#lib/active_record/migration.rb:1390 def valid_migration_timestamp?(version); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1376 + # pkg:gem/activerecord#lib/active_record/migration.rb:1386 def validate_timestamp?; end end @@ -24188,208 +24986,214 @@ end # MigrationProxy is used to defer loading of the actual migration classes # until they are needed # -# pkg:gem/activerecord#lib/active_record/migration.rb:1176 +# pkg:gem/activerecord#lib/active_record/migration.rb:1186 class ActiveRecord::MigrationProxy < ::Struct - # pkg:gem/activerecord#lib/active_record/migration.rb:1177 + # pkg:gem/activerecord#lib/active_record/migration.rb:1187 def initialize(name, version, filename, scope); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1186 + # pkg:gem/activerecord#lib/active_record/migration.rb:1196 def announce(*, **, &); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1182 + # pkg:gem/activerecord#lib/active_record/migration.rb:1192 def basename; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1186 + # pkg:gem/activerecord#lib/active_record/migration.rb:1196 def disable_ddl_transaction(*, **, &); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def filename; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def filename=(_); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1186 + # pkg:gem/activerecord#lib/active_record/migration.rb:1196 def migrate(*, **, &); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def name; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def name=(_); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def scope; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def scope=(_); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def version=(_); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1186 + # pkg:gem/activerecord#lib/active_record/migration.rb:1196 def write(*, **, &); end private - # pkg:gem/activerecord#lib/active_record/migration.rb:1193 + # pkg:gem/activerecord#lib/active_record/migration.rb:1203 def load_migration; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1189 + # pkg:gem/activerecord#lib/active_record/migration.rb:1199 def migration; end class << self - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def [](*_arg0); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def inspect; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def keyword_init?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def members; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1176 + # pkg:gem/activerecord#lib/active_record/migration.rb:1186 def new(*_arg0); end end end -# pkg:gem/activerecord#lib/active_record/migration.rb:1404 +# pkg:gem/activerecord#lib/active_record/migration.rb:1414 class ActiveRecord::Migrator - # pkg:gem/activerecord#lib/active_record/migration.rb:1420 + # pkg:gem/activerecord#lib/active_record/migration.rb:1430 def initialize(direction, migrations, schema_migration, internal_metadata, target_version = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1441 + # pkg:gem/activerecord#lib/active_record/migration.rb:1451 def current; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1438 + # pkg:gem/activerecord#lib/active_record/migration.rb:1448 def current_migration; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1434 + # pkg:gem/activerecord#lib/active_record/migration.rb:1444 def current_version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1483 + # pkg:gem/activerecord#lib/active_record/migration.rb:1493 def load_migrated; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1451 + # pkg:gem/activerecord#lib/active_record/migration.rb:1461 def migrate; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1479 + # pkg:gem/activerecord#lib/active_record/migration.rb:1489 def migrated; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1470 + # pkg:gem/activerecord#lib/active_record/migration.rb:1480 def migrations; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1474 + # pkg:gem/activerecord#lib/active_record/migration.rb:1484 def pending_migrations; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1443 + # pkg:gem/activerecord#lib/active_record/migration.rb:1453 def run; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1459 + # pkg:gem/activerecord#lib/active_record/migration.rb:1469 def runnable; end private - # pkg:gem/activerecord#lib/active_record/migration.rb:1488 + # pkg:gem/activerecord#lib/active_record/migration.rb:1498 def connection; end # Wrap the migration in a transaction only if supported by the adapter. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1584 + # pkg:gem/activerecord#lib/active_record/migration.rb:1594 def ddl_transaction(migration, &block); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1579 + # pkg:gem/activerecord#lib/active_record/migration.rb:1589 def down?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1527 + # pkg:gem/activerecord#lib/active_record/migration.rb:1537 def execute_migration_in_transaction(migration); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1549 + # pkg:gem/activerecord#lib/active_record/migration.rb:1559 def finish; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1616 + # pkg:gem/activerecord#lib/active_record/migration.rb:1626 def generate_migrator_advisory_lock_id; end # Return true if a valid version is not provided. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1523 + # pkg:gem/activerecord#lib/active_record/migration.rb:1533 def invalid_target?; end # Used for running multiple migrations up to or down to a certain value. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1502 + # pkg:gem/activerecord#lib/active_record/migration.rb:1512 def migrate_without_lock; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1518 + # pkg:gem/activerecord#lib/active_record/migration.rb:1528 def ran?(migration); end # Stores the current environment in the database. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1512 + # pkg:gem/activerecord#lib/active_record/migration.rb:1522 def record_environment; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1565 + # pkg:gem/activerecord#lib/active_record/migration.rb:1575 def record_version_state_after_migrating(version); end # Used for running a specific migration. # - # pkg:gem/activerecord#lib/active_record/migration.rb:1493 + # pkg:gem/activerecord#lib/active_record/migration.rb:1503 def run_without_lock; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1553 + # pkg:gem/activerecord#lib/active_record/migration.rb:1563 def start; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1545 + # pkg:gem/activerecord#lib/active_record/migration.rb:1555 def target; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1575 + # pkg:gem/activerecord#lib/active_record/migration.rb:1585 def up?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1596 + # pkg:gem/activerecord#lib/active_record/migration.rb:1606 def use_advisory_lock?; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1592 + # pkg:gem/activerecord#lib/active_record/migration.rb:1602 def use_transaction?(migration); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1557 + # pkg:gem/activerecord#lib/active_record/migration.rb:1567 def validate(migrations); end - # pkg:gem/activerecord#lib/active_record/migration.rb:1600 + # pkg:gem/activerecord#lib/active_record/migration.rb:1610 def with_advisory_lock; end class << self # For cases where a table doesn't exist like loading from schema cache # - # pkg:gem/activerecord#lib/active_record/migration.rb:1409 + # pkg:gem/activerecord#lib/active_record/migration.rb:1419 def current_version; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1406 + # pkg:gem/activerecord#lib/active_record/migration.rb:1416 def migrations_paths; end - # pkg:gem/activerecord#lib/active_record/migration.rb:1406 + # pkg:gem/activerecord#lib/active_record/migration.rb:1416 def migrations_paths=(_arg0); end end end -# pkg:gem/activerecord#lib/active_record/migration.rb:1615 +# pkg:gem/activerecord#lib/active_record/migration.rb:1625 ActiveRecord::Migrator::MIGRATOR_SALT = T.let(T.unsafe(nil), Integer) # Raised when a foreign key constraint cannot be added because the column type does not match the referenced column type. # -# pkg:gem/activerecord#lib/active_record/errors.rb:238 +# pkg:gem/activerecord#lib/active_record/errors.rb:237 class ActiveRecord::MismatchedForeignKey < ::ActiveRecord::StatementInvalid - # pkg:gem/activerecord#lib/active_record/errors.rb:239 + # pkg:gem/activerecord#lib/active_record/errors.rb:238 def initialize(message: T.unsafe(nil), sql: T.unsafe(nil), binds: T.unsafe(nil), table: T.unsafe(nil), foreign_key: T.unsafe(nil), target_table: T.unsafe(nil), primary_key: T.unsafe(nil), primary_key_column: T.unsafe(nil), query_parser: T.unsafe(nil), connection_pool: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:275 + # pkg:gem/activerecord#lib/active_record/errors.rb:274 def set_query(sql, binds); end end +# MissingRequiredOrderError is raised when a relation requires ordering but +# lacks any +order+ values in scope or any model order columns to use. +# +# pkg:gem/activerecord#lib/active_record/errors.rb:565 +class ActiveRecord::MissingRequiredOrderError < ::ActiveRecord::ActiveRecordError; end + # pkg:gem/activerecord#lib/active_record/model_schema.rb:6 module ActiveRecord::ModelSchema extend ::ActiveSupport::Concern @@ -24408,7 +25212,7 @@ module ActiveRecord::ModelSchema # music_artists, music_records => music_artists_records # music.artists, music.records => music.artists_records # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:196 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:199 def derive_join_table_name(first_table, second_table); end end @@ -24454,18 +25258,18 @@ module ActiveRecord::ModelSchema end end -# pkg:gem/activerecord#lib/active_record/model_schema.rb:200 +# pkg:gem/activerecord#lib/active_record/model_schema.rb:203 module ActiveRecord::ModelSchema::ClassMethods - # pkg:gem/activerecord#lib/active_record/model_schema.rb:436 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:452 def _returning_columns_for_insert(connection); end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:420 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:436 def attributes_builder; end # Returns a hash where the keys are column names and the values are # default values when instantiating the Active Record object for this table. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:472 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:488 def column_defaults; end # Returns the column object for the named attribute. @@ -24482,36 +25286,36 @@ module ActiveRecord::ModelSchema::ClassMethods # person.column_for_attribute(:nothing) # # => #, ...> # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:463 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:479 def column_for_attribute(name); end # Returns an array of column names as strings. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:478 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:494 def column_names; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:432 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:448 def columns; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:427 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:443 def columns_hash; end # Returns an array of column objects where the primary id, all columns ending in "_id" or "_count", # and columns used for single table inheritance have been removed. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:489 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:505 def content_columns; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:302 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:305 def full_table_name_prefix; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:306 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:309 def full_table_name_suffix; end # The list of columns names the model should ignore. Ignored columns won't have attribute # accessors defined, and won't be referenced in SQL queries. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:331 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:334 def ignored_columns; end # Sets the columns names the model should ignore. Ignored columns won't have attribute @@ -24546,44 +25350,53 @@ module ActiveRecord::ModelSchema::ClassMethods # user = Project.create!(name: "First Project") # user.category # => raises NoMethodError # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:366 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:375 def ignored_columns=(columns); end # Load the model's schema information either from the schema cache # or directly from the database. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:534 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:550 def load_schema; end # Returns the next value that will be used as the primary key on # an insert statement. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:411 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:427 def next_sequence_value; end + # The list of columns names the model should allow. Only columns are used to define + # attribute accessors, and are referenced in SQL queries. + # + # pkg:gem/activerecord#lib/active_record/model_schema.rb:340 + def only_columns; end + + # pkg:gem/activerecord#lib/active_record/model_schema.rb:381 + def only_columns=(columns); end + # Determines if the primary key values should be selected from their # corresponding sequence before the insert statement. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:405 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:421 def prefetch_primary_key?; end # The array of names of environments where destructive actions should be prohibited. By default, # the value is ["production"]. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:312 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:315 def protected_environments; end # Sets an array of names of environments where destructive actions should be prohibited. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:321 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:324 def protected_environments=(environments); end # Returns a quoted version of the table name. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:285 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:288 def quoted_table_name; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:325 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:328 def real_inheritance_column=(value); end # Resets all the cached information about columns, which will cause them @@ -24593,7 +25406,7 @@ module ActiveRecord::ModelSchema::ClassMethods # when just after creating a table you want to populate it with some default # values, e.g.: # - # class CreateJobLevels < ActiveRecord::Migration[8.0] + # class CreateJobLevels < ActiveRecord::Migration[8.1] # def up # create_table :job_levels do |t| # t.integer :id @@ -24613,18 +25426,18 @@ module ActiveRecord::ModelSchema::ClassMethods # end # end # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:523 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:539 def reset_column_information; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:379 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:395 def reset_sequence_name; end # Computes the table name, (re)sets it internally, and returns it. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:290 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:293 def reset_table_name; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:371 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:387 def sequence_name; end # Sets the name of the sequence to use when generating ids to the given @@ -24642,15 +25455,15 @@ module ActiveRecord::ModelSchema::ClassMethods # self.sequence_name = "projectseq" # default would have been "project_seq" # end # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:398 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:414 def sequence_name=(value); end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:482 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:498 def symbol_column_to_string(name_symbol); end # Indicates whether the table associated with this class exists # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:416 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:432 def table_exists?; end # Guesses the table name (in forced lower-case) based on the name of the class in the @@ -24713,7 +25526,7 @@ module ActiveRecord::ModelSchema::ClassMethods # self.table_name = "mice" # end # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:260 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:263 def table_name; end # Sets the table name explicitly. Example: @@ -24722,42 +25535,45 @@ module ActiveRecord::ModelSchema::ClassMethods # self.table_name = "project" # end # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:270 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:273 def table_name=(value); end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:446 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:462 def yaml_encoder; end protected - # pkg:gem/activerecord#lib/active_record/model_schema.rb:549 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:565 def initialize_load_schema_monitor; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:553 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:569 def reload_schema_from_cache(recursive = T.unsafe(nil)); end private + # pkg:gem/activerecord#lib/active_record/model_schema.rb:654 + def check_model_columns(columns_present); end + # Computes and returns a table name according to default conventions. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:606 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:627 def compute_table_name; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:574 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:590 def inherited(child_class); end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:587 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:604 def load_schema!; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:583 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:600 def schema_loaded?; end - # pkg:gem/activerecord#lib/active_record/model_schema.rb:622 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:643 def type_for_column(connection, column); end # Guesses the table name, but does not decorate it with prefix and suffix information. # - # pkg:gem/activerecord#lib/active_record/model_schema.rb:600 + # pkg:gem/activerecord#lib/active_record/model_schema.rb:621 def undecorated_table_name(model_name); end end @@ -24766,12 +25582,12 @@ end # method. The exception has an +errors+ property that contains an array of AttributeAssignmentError # objects, each corresponding to the error while assigning to an attribute. # -# pkg:gem/activerecord#lib/active_record/errors.rb:463 +# pkg:gem/activerecord#lib/active_record/errors.rb:470 class ActiveRecord::MultiparameterAssignmentErrors < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:466 + # pkg:gem/activerecord#lib/active_record/errors.rb:473 def initialize(errors = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:464 + # pkg:gem/activerecord#lib/active_record/errors.rb:471 def errors; end end @@ -24789,12 +25605,12 @@ module ActiveRecord::NestedAttributes # # See ActionView::Helpers::FormHelper#fields_for for more info. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:401 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:405 def _destroy; end private - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:614 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:618 def allow_destroy?(association_name); end # Assigns the given attributes to the collection association. @@ -24825,7 +25641,7 @@ module ActiveRecord::NestedAttributes # { id: '2', _destroy: true } # ]) # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:487 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:491 def assign_nested_attributes_for_collection_association(association_name, attributes_collection); end # Assigns the given attributes to the association. @@ -24842,13 +25658,13 @@ module ActiveRecord::NestedAttributes # update_only is true, and a :_destroy key set to a truthy value, # then the existing record will be marked for destruction. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:423 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:427 def assign_nested_attributes_for_one_to_one_association(association_name, attributes); end # Updates a record with the +attributes+ or marks it for destruction if # +allow_destroy+ is +true+ and has_destroy_flag? returns +true+. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:576 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:580 def assign_to_or_mark_for_destruction(record, attributes, allow_destroy); end # Determines if a record with the particular +attributes+ should be @@ -24857,7 +25673,7 @@ module ActiveRecord::NestedAttributes # # Returns false if there is a +destroy_flag+ on the attributes. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:598 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:602 def call_reject_if(association_name, attributes); end # Takes in a limit and checks if the attributes_collection has too many @@ -24867,30 +25683,30 @@ module ActiveRecord::NestedAttributes # Raises TooManyRecords error if the attributes_collection is # larger than the limit. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:556 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:560 def check_record_limit!(limit, attributes_collection); end - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:624 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:628 def find_record_by_id(klass, records, id); end # Determines if a hash contains a truthy _destroy key. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:582 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:586 def has_destroy_flag?(hash); end - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:618 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:622 def raise_nested_attributes_record_not_found!(association_name, record_id); end # Determines if a new record should be rejected by checking # has_destroy_flag? or if a :reject_if proc exists for this # association and evaluates to +true+. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:589 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:593 def reject_new_record?(association_name, attributes); end # Only take into account the destroy flag if :allow_destroy is true # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:610 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:614 def will_be_destroyed?(association_name, attributes); end module GeneratedClassMethods @@ -24993,7 +25809,7 @@ end # # class Member < ActiveRecord::Base # has_many :posts -# accepts_nested_attributes_for :posts +# accepts_nested_attributes_for :posts, allow_destroy: true # end # # You can now set or update attributes on the associated posts through @@ -25002,7 +25818,8 @@ end # # For each hash that does _not_ have an id key a new record will # be instantiated, unless the hash also contains a _destroy key -# that evaluates to +true+. +# that evaluates to +true+ and the :allow_destroy option is +# enabled. # # params = { member: { # name: 'joe', posts_attributes: [ @@ -25189,7 +26006,7 @@ end # } # } # -# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:301 +# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:302 module ActiveRecord::NestedAttributes::ClassMethods # Defines an attributes writer for the specified association(s). # @@ -25203,8 +26020,9 @@ module ActiveRecord::NestedAttributes::ClassMethods # that checks whether a record should be built for a certain attribute # hash. The hash is passed to the supplied Proc or the method # and it should return either +true+ or +false+. When no +:reject_if+ - # is specified, a record will be built for all attribute hashes that - # do not have a _destroy value that evaluates to true. + # is specified, a record will be built for all attribute hashes, unless + # the :allow_destroy option is enabled and the hash has a + # _destroy value that evaluates to true. # Passing :all_blank instead of a Proc will create a proc # that will reject a record where all the attributes are blank excluding # any value for +_destroy+. @@ -25239,7 +26057,7 @@ module ActiveRecord::NestedAttributes::ClassMethods # # creates avatar_attributes= and posts_attributes= # accepts_nested_attributes_for :avatar, :posts, allow_destroy: true # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:351 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:353 def accepts_nested_attributes_for(*attr_names); end private @@ -25256,11 +26074,11 @@ module ActiveRecord::NestedAttributes::ClassMethods # the helper methods defined below. Makes it seem like the nested # associations are just regular associations. # - # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:386 + # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:388 def generate_association_writer(association_name, type); end end -# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:302 +# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:303 ActiveRecord::NestedAttributes::ClassMethods::REJECT_ALL_BLANK_PROC = T.let(T.unsafe(nil), Proc) # pkg:gem/activerecord#lib/active_record/nested_attributes.rb:9 @@ -25269,47 +26087,47 @@ class ActiveRecord::NestedAttributes::TooManyRecords < ::ActiveRecord::ActiveRec # Attribute hash keys that should not be assigned as normal attributes. # These hash keys are nested attributes implementation details. # -# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:408 +# pkg:gem/activerecord#lib/active_record/nested_attributes.rb:412 ActiveRecord::NestedAttributes::UNASSIGNABLE_KEYS = T.let(T.unsafe(nil), Array) # Raised when a given database does not exist. # -# pkg:gem/activerecord#lib/active_record/errors.rb:328 +# pkg:gem/activerecord#lib/active_record/errors.rb:335 class ActiveRecord::NoDatabaseError < ::ActiveRecord::StatementInvalid include ::ActiveSupport::ActionableError extend ::ActiveSupport::ActionableError::ClassMethods - # pkg:gem/activerecord#lib/active_record/errors.rb:335 + # pkg:gem/activerecord#lib/active_record/errors.rb:342 def initialize(message = T.unsafe(nil), connection_pool: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions; end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions=(_arg0); end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions?; end class << self - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions; end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions=(value); end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def _actions?; end - # pkg:gem/activerecord#lib/active_record/errors.rb:340 + # pkg:gem/activerecord#lib/active_record/errors.rb:347 def db_error(db_name); end private - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def __class_attr__actions; end - # pkg:gem/activerecord#lib/active_record/errors.rb:329 + # pkg:gem/activerecord#lib/active_record/errors.rb:336 def __class_attr__actions=(new_value); end end end @@ -25378,176 +26196,9 @@ module ActiveRecord::NoTouching::ClassMethods def no_touching(&block); end end -# pkg:gem/activerecord#lib/active_record/normalization.rb:4 -module ActiveRecord::Normalization - extend ::ActiveSupport::Concern - include GeneratedInstanceMethods - - mixes_in_class_methods GeneratedClassMethods - mixes_in_class_methods ::ActiveRecord::Normalization::ClassMethods - - # Normalizes a specified attribute using its declared normalizations. - # - # ==== Examples - # - # class User < ActiveRecord::Base - # normalizes :email, with: -> email { email.strip.downcase } - # end - # - # legacy_user = User.find(1) - # legacy_user.email # => " CRUISE-CONTROL@EXAMPLE.COM\n" - # legacy_user.normalize_attribute(:email) - # legacy_user.email # => "cruise-control@example.com" - # legacy_user.save - # - # pkg:gem/activerecord#lib/active_record/normalization.rb:26 - def normalize_attribute(name); end - - private - - # pkg:gem/activerecord#lib/active_record/normalization.rb:112 - def normalize_changed_in_place_attributes; end - - module GeneratedClassMethods - def normalized_attributes; end - def normalized_attributes=(value); end - def normalized_attributes?; end - end - - module GeneratedInstanceMethods - def normalized_attributes; end - def normalized_attributes=(value); end - def normalized_attributes?; end - end -end - -# pkg:gem/activerecord#lib/active_record/normalization.rb:31 -module ActiveRecord::Normalization::ClassMethods - # Normalizes a given +value+ using normalizations declared for +name+. - # - # ==== Examples - # - # class User < ActiveRecord::Base - # normalizes :email, with: -> email { email.strip.downcase } - # end - # - # User.normalize_value_for(:email, " CRUISE-CONTROL@EXAMPLE.COM\n") - # # => "cruise-control@example.com" - # - # pkg:gem/activerecord#lib/active_record/normalization.rb:106 - def normalize_value_for(name, value); end - - # Declares a normalization for one or more attributes. The normalization - # is applied when the attribute is assigned or updated, and the normalized - # value will be persisted to the database. The normalization is also - # applied to the corresponding keyword argument of query methods. This - # allows a record to be created and later queried using unnormalized - # values. - # - # However, to prevent confusion, the normalization will not be applied - # when the attribute is fetched from the database. This means that if a - # record was persisted before the normalization was declared, the record's - # attribute will not be normalized until either it is assigned a new - # value, or it is explicitly migrated via Normalization#normalize_attribute. - # - # Because the normalization may be applied multiple times, it should be - # _idempotent_. In other words, applying the normalization more than once - # should have the same result as applying it only once. - # - # By default, the normalization will not be applied to +nil+ values. This - # behavior can be changed with the +:apply_to_nil+ option. - # - # Be aware that if your app was created before Rails 7.1, and your app - # marshals instances of the targeted model (for example, when caching), - # then you should set ActiveRecord.marshalling_format_version to +7.1+ or - # higher via either config.load_defaults 7.1 or - # config.active_record.marshalling_format_version = 7.1. - # Otherwise, +Marshal+ may attempt to serialize the normalization +Proc+ - # and raise +TypeError+. - # - # ==== Options - # - # * +:with+ - Any callable object that accepts the attribute's value as - # its sole argument, and returns it normalized. - # * +:apply_to_nil+ - Whether to apply the normalization to +nil+ values. - # Defaults to +false+. - # - # ==== Examples - # - # class User < ActiveRecord::Base - # normalizes :email, with: -> email { email.strip.downcase } - # normalizes :phone, with: -> phone { phone.delete("^0-9").delete_prefix("1") } - # end - # - # user = User.create(email: " CRUISE-CONTROL@EXAMPLE.COM\n") - # user.email # => "cruise-control@example.com" - # - # user = User.find_by(email: "\tCRUISE-CONTROL@EXAMPLE.COM ") - # user.email # => "cruise-control@example.com" - # user.email_before_type_cast # => "cruise-control@example.com" - # - # User.where(email: "\tCRUISE-CONTROL@EXAMPLE.COM ").count # => 1 - # User.where(["email = ?", "\tCRUISE-CONTROL@EXAMPLE.COM "]).count # => 0 - # - # User.exists?(email: "\tCRUISE-CONTROL@EXAMPLE.COM ") # => true - # User.exists?(["email = ?", "\tCRUISE-CONTROL@EXAMPLE.COM "]) # => false - # - # User.normalize_value_for(:phone, "+1 (555) 867-5309") # => "5558675309" - # - # pkg:gem/activerecord#lib/active_record/normalization.rb:88 - def normalizes(*names, with:, apply_to_nil: T.unsafe(nil)); end -end - -# pkg:gem/activerecord#lib/active_record/normalization.rb:118 -class ActiveRecord::Normalization::NormalizedValueType - include ::ActiveModel::Type::SerializeCastValue - extend ::ActiveModel::Type::SerializeCastValue::ClassMethods - - # pkg:gem/activerecord#lib/active_record/normalization.rb:124 - def initialize(cast_type:, normalizer:, normalize_nil:); end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:143 - def ==(other); end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:131 - def cast(value); end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:121 - def cast_type; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:149 - def eql?(other); end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:151 - def hash; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:155 - def inspect; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:121 - def normalize_nil; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:122 - def normalize_nil?; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:121 - def normalizer; end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:135 - def serialize(value); end - - # pkg:gem/activerecord#lib/active_record/normalization.rb:139 - def serialize_cast_value(value); end - - private - - # pkg:gem/activerecord#lib/active_record/normalization.rb:158 - def normalize(value); end -end - # Raised when a record cannot be inserted or updated because it would violate a not null constraint. # -# pkg:gem/activerecord#lib/active_record/errors.rb:293 +# pkg:gem/activerecord#lib/active_record/errors.rb:292 class ActiveRecord::NotNullViolation < ::ActiveRecord::StatementInvalid; end # pkg:gem/activerecord#lib/active_record/migration/pending_migration_connection.rb:4 @@ -25642,14 +26293,14 @@ module ActiveRecord::Persistence # Note: The old instance's STI column value will be changed too, as both objects # share the same set of attributes. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:508 + # pkg:gem/activerecord#lib/active_record/persistence.rb:510 def becomes!(klass); end # Initializes +attribute+ to zero if +nil+ and subtracts the value passed as +by+ (default is 1). # The decrement is performed directly on the underlying attribute, no setter is invoked. # Only makes sense for number-based attributes. Returns +self+. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:655 + # pkg:gem/activerecord#lib/active_record/persistence.rb:687 def decrement(attribute, by = T.unsafe(nil)); end # Wrapper around #decrement that writes the update to the database. @@ -25659,7 +26310,7 @@ module ActiveRecord::Persistence # +update_counters+, see that for more. # Returns +self+. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:665 + # pkg:gem/activerecord#lib/active_record/persistence.rb:697 def decrement!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end # Deletes the record in the database and freezes this instance to @@ -25709,7 +26360,7 @@ module ActiveRecord::Persistence # The increment is performed directly on the underlying attribute, no setter is invoked. # Only makes sense for number-based attributes. Returns +self+. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:632 + # pkg:gem/activerecord#lib/active_record/persistence.rb:657 def increment(attribute, by = T.unsafe(nil)); end # Wrapper around #increment that writes the update to the database. @@ -25717,9 +26368,13 @@ module ActiveRecord::Persistence # This means that any other modified attributes will still be dirty. # Validations and callbacks are skipped. Supports the +touch+ option from # +update_counters+, see that for more. + # + # This method raises an ActiveRecord::ActiveRecordError when called on new + # objects, or when at least one of the attributes is marked as readonly. + # # Returns +self+. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:644 + # pkg:gem/activerecord#lib/active_record/persistence.rb:673 def increment!(attribute, by = T.unsafe(nil), touch: T.unsafe(nil)); end # Returns true if this object hasn't been saved yet -- that is, a record @@ -25794,7 +26449,7 @@ module ActiveRecord::Persistence # end # end # - # pkg:gem/activerecord#lib/active_record/persistence.rb:742 + # pkg:gem/activerecord#lib/active_record/persistence.rb:774 def reload(options = T.unsafe(nil)); end # :call-seq: @@ -25867,7 +26522,7 @@ module ActiveRecord::Persistence # user.toggle(:banned) # user.banned? # => true # - # pkg:gem/activerecord#lib/active_record/persistence.rb:681 + # pkg:gem/activerecord#lib/active_record/persistence.rb:713 def toggle(attribute); end # Wrapper around #toggle that saves the record. This method differs from @@ -25875,7 +26530,7 @@ module ActiveRecord::Persistence # Saving is not subjected to validation checks. Returns +true+ if the # record could be saved. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:690 + # pkg:gem/activerecord#lib/active_record/persistence.rb:722 def toggle!(attribute); end # Saves the record with the updated_at/on attributes set to the current time @@ -25912,20 +26567,20 @@ module ActiveRecord::Persistence # ball = Ball.new # ball.touch(:updated_at) # => raises ActiveRecordError # - # pkg:gem/activerecord#lib/active_record/persistence.rb:793 + # pkg:gem/activerecord#lib/active_record/persistence.rb:825 def touch(*names, time: T.unsafe(nil)); end # Updates the attributes of the model from the passed-in hash and saves the # record, all wrapped in a transaction. If the object is invalid, the saving # will fail and false will be returned. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:563 + # pkg:gem/activerecord#lib/active_record/persistence.rb:565 def update(attributes); end # Updates its receiver just like #update but calls #save! instead # of +save+, so an exception is raised if the record is invalid and saving will fail. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:574 + # pkg:gem/activerecord#lib/active_record/persistence.rb:576 def update!(attributes); end # Updates a single attribute and saves the record. @@ -25941,7 +26596,7 @@ module ActiveRecord::Persistence # # Also see #update_column. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:530 + # pkg:gem/activerecord#lib/active_record/persistence.rb:532 def update_attribute(name, value); end # Updates a single attribute and saves the record. @@ -25959,13 +26614,13 @@ module ActiveRecord::Persistence # and #update_attribute! raises ActiveRecord::RecordNotSaved. See # ActiveRecord::Callbacks for further details. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:552 + # pkg:gem/activerecord#lib/active_record/persistence.rb:554 def update_attribute!(name, value); end # Equivalent to update_columns(name => value). # - # pkg:gem/activerecord#lib/active_record/persistence.rb:584 - def update_column(name, value); end + # pkg:gem/activerecord#lib/active_record/persistence.rb:586 + def update_column(name, value, touch: T.unsafe(nil)); end # Updates the attributes directly in the database issuing an UPDATE SQL # statement and sets them in the receiver: @@ -25978,13 +26633,26 @@ module ActiveRecord::Persistence # # * \Validations are skipped. # * \Callbacks are skipped. - # * +updated_at+/+updated_on+ are not updated. + # * +updated_at+/+updated_on+ are updated if the +touch+ option is set to +true+. # * However, attributes are serialized with the same rules as ActiveRecord::Relation#update_all # # This method raises an ActiveRecord::ActiveRecordError when called on new # objects, or when at least one of the attributes is marked as readonly. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:604 + # ==== Parameters + # + # * :touch option - Touch the timestamp columns when updating. + # * If attribute names are passed, they are updated along with +updated_at+/+updated_on+ attributes. + # + # ==== Examples + # + # # Update a single attribute. + # user.update_columns(last_request_at: Time.current) + # + # # Update with touch option. + # user.update_columns(last_request_at: Time.current, touch: true) + # + # pkg:gem/activerecord#lib/active_record/persistence.rb:620 def update_columns(attributes); end private @@ -25992,63 +26660,63 @@ module ActiveRecord::Persistence # Creates a record with values matching those of the instance attributes # and returns its id. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:920 + # pkg:gem/activerecord#lib/active_record/persistence.rb:952 def _create_record(attribute_names = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/persistence.rb:870 + # pkg:gem/activerecord#lib/active_record/persistence.rb:902 def _delete_row; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:826 + # pkg:gem/activerecord#lib/active_record/persistence.rb:858 def _find_record(options); end - # pkg:gem/activerecord#lib/active_record/persistence.rb:837 + # pkg:gem/activerecord#lib/active_record/persistence.rb:869 def _in_memory_query_constraints_hash; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:852 + # pkg:gem/activerecord#lib/active_record/persistence.rb:884 def _query_constraints_hash; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:957 + # pkg:gem/activerecord#lib/active_record/persistence.rb:989 def _raise_readonly_record_error; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:949 + # pkg:gem/activerecord#lib/active_record/persistence.rb:981 def _raise_record_not_destroyed; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:961 + # pkg:gem/activerecord#lib/active_record/persistence.rb:993 def _raise_record_not_touched_error; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:874 + # pkg:gem/activerecord#lib/active_record/persistence.rb:906 def _touch_row(attribute_names, time); end # Updates the associated record with values matching those of the instance attributes. # Returns the number of affected rows. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:900 + # pkg:gem/activerecord#lib/active_record/persistence.rb:932 def _update_record(attribute_names = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/persistence.rb:884 + # pkg:gem/activerecord#lib/active_record/persistence.rb:916 def _update_row(attribute_names, attempted_action = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/persistence.rb:847 + # pkg:gem/activerecord#lib/active_record/persistence.rb:879 def apply_scoping?(options); end - # pkg:gem/activerecord#lib/active_record/persistence.rb:891 + # pkg:gem/activerecord#lib/active_record/persistence.rb:923 def create_or_update(**, &block); end # A hook to be overridden by association modules. # - # pkg:gem/activerecord#lib/active_record/persistence.rb:863 + # pkg:gem/activerecord#lib/active_record/persistence.rb:895 def destroy_associations; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:866 + # pkg:gem/activerecord#lib/active_record/persistence.rb:898 def destroy_row; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:814 + # pkg:gem/activerecord#lib/active_record/persistence.rb:846 def init_internals; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:820 + # pkg:gem/activerecord#lib/active_record/persistence.rb:852 def strict_loaded_associations; end - # pkg:gem/activerecord#lib/active_record/persistence.rb:945 + # pkg:gem/activerecord#lib/active_record/persistence.rb:977 def verify_readonly_attribute(name); end end @@ -26271,7 +26939,7 @@ class ActiveRecord::PredicateBuilder # Define how a class is converted to Arel nodes when passed to +where+. # The handler can be any object that responds to +call+, and will be used - # for any value that +===+ the class given. For example: + # for any value that === the class given. For example: # # MyCustomDateRange = Struct.new(:start, :end) # handler = proc do |column, range| @@ -26300,16 +26968,16 @@ class ActiveRecord::PredicateBuilder private - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:163 + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:165 def convert_dot_notation_to_hash(attributes); end - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:153 + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:155 def grouping_queries(queries); end - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:185 + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:187 def handler_for(object); end - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:151 + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder.rb:153 def table; end class << self @@ -26343,16 +27011,13 @@ end # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:5 class ActiveRecord::PredicateBuilder::AssociationQueryValue # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:6 - def initialize(associated_table, value); end + def initialize(reflection, value); end # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:11 def queries; end private - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:23 - def associated_table; end - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:59 def convert_to_id(value); end @@ -26371,6 +27036,9 @@ class ActiveRecord::PredicateBuilder::AssociationQueryValue # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:43 def primary_type; end + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:23 + def reflection; end + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/association_query_value.rb:51 def select_clause?; end @@ -26395,16 +27063,13 @@ end # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:5 class ActiveRecord::PredicateBuilder::PolymorphicArrayValue # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:6 - def initialize(associated_table, values); end + def initialize(reflection, values); end # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:11 def queries; end private - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:23 - def associated_table; end - # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:44 def convert_to_id(value); end @@ -26414,6 +27079,9 @@ class ActiveRecord::PredicateBuilder::PolymorphicArrayValue # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:32 def primary_key(value); end + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:23 + def reflection; end + # pkg:gem/activerecord#lib/active_record/relation/predicate_builder/polymorphic_array_value.rb:25 def type_to_ids_mapping; end @@ -26479,7 +27147,7 @@ end # Raised when PostgreSQL returns 'cached plan must not change result type' and # we cannot retry gracefully (e.g. inside a transaction) # -# pkg:gem/activerecord#lib/active_record/errors.rb:362 +# pkg:gem/activerecord#lib/active_record/errors.rb:369 class ActiveRecord::PreparedStatementCacheExpired < ::ActiveRecord::StatementInvalid; end # Raised when the number of placeholders in an SQL fragment passed to @@ -26490,7 +27158,7 @@ class ActiveRecord::PreparedStatementCacheExpired < ::ActiveRecord::StatementInv # # Location.where("lat = ? AND lng = ?", 53.7362) # -# pkg:gem/activerecord#lib/active_record/errors.rb:324 +# pkg:gem/activerecord#lib/active_record/errors.rb:331 class ActiveRecord::PreparedStatementInvalid < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/promise.rb:4 @@ -26568,7 +27236,7 @@ end # Superclass for errors that have been aborted (either by client or server). # -# pkg:gem/activerecord#lib/active_record/errors.rb:561 +# pkg:gem/activerecord#lib/active_record/errors.rb:574 class ActiveRecord::QueryAborted < ::ActiveRecord::StatementInvalid; end # = Active Record Query Cache @@ -26576,38 +27244,49 @@ class ActiveRecord::QueryAborted < ::ActiveRecord::StatementInvalid; end # pkg:gem/activerecord#lib/active_record/query_cache.rb:5 class ActiveRecord::QueryCache class << self - # pkg:gem/activerecord#lib/active_record/query_cache.rb:44 - def complete(pools); end - - # pkg:gem/activerecord#lib/active_record/query_cache.rb:51 + # pkg:gem/activerecord#lib/active_record/query_cache.rb:58 def install_executor_hooks(executor = T.unsafe(nil)); end - - # pkg:gem/activerecord#lib/active_record/query_cache.rb:37 - def run; end end end -# pkg:gem/activerecord#lib/active_record/query_cache.rb:6 +# ActiveRecord::Base extends this module, so these methods are available in models. +# +# pkg:gem/activerecord#lib/active_record/query_cache.rb:7 module ActiveRecord::QueryCache::ClassMethods # Enable the query cache within the block if Active Record is configured. # If it's not, it will execute the given block. # - # pkg:gem/activerecord#lib/active_record/query_cache.rb:9 + # pkg:gem/activerecord#lib/active_record/query_cache.rb:10 def cache(&block); end - # Disable the query cache within the block if Active Record is configured. - # If it's not, it will execute the given block. + # Runs the block with the query cache disabled. # - # Set dirties: false to prevent query caches on all connections from being cleared by write operations. - # (By default, write operations dirty all connections' query caches in case they are replicas whose cache would now be outdated.) + # If the query cache was enabled before the block was executed, it is + # enabled again after it. # - # pkg:gem/activerecord#lib/active_record/query_cache.rb:28 + # Set dirties: false to prevent query caches on all connections + # from being cleared by write operations. (By default, write operations + # dirty all connections' query caches in case they are replicas whose + # cache would now be outdated.) + # + # pkg:gem/activerecord#lib/active_record/query_cache.rb:33 def uncached(dirties: T.unsafe(nil), &block); end end +# pkg:gem/activerecord#lib/active_record/query_cache.rb:42 +module ActiveRecord::QueryCache::ExecutorHooks + class << self + # pkg:gem/activerecord#lib/active_record/query_cache.rb:50 + def complete(pools); end + + # pkg:gem/activerecord#lib/active_record/query_cache.rb:43 + def run; end + end +end + # QueryCanceled will be raised when canceling statement due to user request. # -# pkg:gem/activerecord#lib/active_record/errors.rb:573 +# pkg:gem/activerecord#lib/active_record/errors.rb:586 class ActiveRecord::QueryCanceled < ::ActiveRecord::QueryAborted; end # = Active Record Query Logs @@ -26675,7 +27354,7 @@ class ActiveRecord::QueryCanceled < ::ActiveRecord::QueryAborted; end # # Tag comments can be prepended to the query: # -# ActiveRecord::QueryLogs.prepend_comment = true +# config.active_record.query_log_tags_prepend_comment = true # # For applications where the content will not change during the lifetime of # the request or job execution, the tags can be cached for reuse in every query: @@ -26732,25 +27411,25 @@ module ActiveRecord::QueryLogs private - # pkg:gem/activerecord#lib/active_record/query_logs.rb:184 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:180 def build_handler(name, handler = T.unsafe(nil)); end # Returns an SQL comment +String+ containing the query log tags. # Sets and returns a cached comment if cache_query_log_tags is +true+. # - # pkg:gem/activerecord#lib/active_record/query_logs.rb:201 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:197 def comment(connection); end - # pkg:gem/activerecord#lib/active_record/query_logs.rb:217 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:213 def escape_sql_comment(content); end - # pkg:gem/activerecord#lib/active_record/query_logs.rb:170 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:166 def rebuild_handlers; end - # pkg:gem/activerecord#lib/active_record/query_logs.rb:230 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:226 def tag_content(connection); end - # pkg:gem/activerecord#lib/active_record/query_logs.rb:209 + # pkg:gem/activerecord#lib/active_record/query_logs.rb:205 def uncached_comment(connection); end end end @@ -26826,10 +27505,10 @@ module ActiveRecord::QueryMethods # Post.where(id: [1, 2]).and(Post.where(id: [2, 3])) # # SELECT `posts`.* FROM `posts` WHERE `posts`.`id` IN (1, 2) AND `posts`.`id` IN (2, 3) # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1135 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1163 def and(other); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1143 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1171 def and!(other); end # Adds an SQL comment to queries generated from this relation. For example: @@ -26844,12 +27523,12 @@ module ActiveRecord::QueryMethods # # Some escaping is performed, however untrusted user input should not be used. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1529 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1558 def annotate(*args); end # Like #annotate, but modifies relation in place. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1535 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1564 def annotate!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -26860,10 +27539,10 @@ module ActiveRecord::QueryMethods # Returns the Arel object associated with the relation. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1594 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1623 def arel(aliases = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1598 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1627 def construct_join_dependency(associations, join_type); end # Sets attributes to be used when creating new records from a @@ -26880,10 +27559,10 @@ module ActiveRecord::QueryMethods # users = users.create_with(nil) # users.new.name # => 'Oscar' # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1346 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1375 def create_with(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1350 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1379 def create_with!(value); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -26903,12 +27582,12 @@ module ActiveRecord::QueryMethods # User.select(:name).distinct.distinct(false) # # You can also remove the uniqueness # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1410 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1439 def distinct(value = T.unsafe(nil)); end # Like #distinct, but modifies relation in place. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1415 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1444 def distinct!(value = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -26983,10 +27662,10 @@ module ActiveRecord::QueryMethods # is passed in) are not instances of the same model that the relation is # scoping. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1574 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1603 def excluding(*records); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1587 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1616 def excluding!(records); end # Used to extend a scope with additional methods, either through @@ -27026,10 +27705,10 @@ module ActiveRecord::QueryMethods # end # end # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1456 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1485 def extending(*modules, &block); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1464 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1493 def extending!(*modules, &block); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27085,10 +27764,10 @@ module ActiveRecord::QueryMethods # # FROM colors c, JSONB_ARRAY_ELEMENTS(colored_things) AS colorvalues(colorvalue) # # WHERE (colorvalue->>'color' = 'red') # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1391 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1420 def from(value, subquery_name = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1395 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1424 def from!(value, subquery_name = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27135,10 +27814,10 @@ module ActiveRecord::QueryMethods # # Order.having('SUM(price) > 30').group('user_id') # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1197 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1225 def having(opts, *rest); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1201 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1229 def having!(opts, *rest); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27281,16 +27960,16 @@ module ActiveRecord::QueryMethods # end # # User.where(accepted: true) - # # WHERE `accepted` = 1 + # # WHERE `accepted` = true # # User.where(accepted: true).invert_where - # # WHERE `accepted` != 1 + # # WHERE `accepted` != true # # User.active - # # WHERE `accepted` = 1 AND `locked` = 0 + # # WHERE `accepted` = true AND `locked` = false # # User.active.invert_where - # # WHERE NOT (`accepted` = 1 AND `locked` = 0) + # # WHERE NOT (`accepted` = true AND `locked` = false) # # Be careful because this inverts all conditions before +invert_where+ call. # @@ -27301,12 +27980,12 @@ module ActiveRecord::QueryMethods # # # It also inverts `where(role: 'admin')` unexpectedly. # User.where(role: 'admin').inactive - # # WHERE NOT (`role` = 'admin' AND `accepted` = 1 AND `locked` = 0) + # # WHERE NOT (`role` = 'admin' AND `accepted` = true AND `locked` = false) # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1101 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1129 def invert_where; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1105 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1133 def invert_where!; end # Performs JOINs on +args+. The given symbol(s) should match the name of @@ -27338,10 +28017,10 @@ module ActiveRecord::QueryMethods # User.joins("LEFT JOIN bookmarks ON bookmarks.bookmarkable_type = 'Post' AND bookmarks.user_id = users.id") # # SELECT "users".* FROM "users" LEFT JOIN bookmarks ON bookmarks.bookmarkable_type = 'Post' AND bookmarks.user_id = users.id # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:868 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:896 def joins(*args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:873 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:901 def joins!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27350,7 +28029,7 @@ module ActiveRecord::QueryMethods # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 def joins_values=(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:887 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:915 def left_joins(*args); end # Performs LEFT OUTER JOINs on +args+: @@ -27358,10 +28037,10 @@ module ActiveRecord::QueryMethods # User.left_outer_joins(:posts) # # SELECT "users".* FROM "users" LEFT OUTER JOIN "posts" ON "posts"."user_id" = "users"."id" # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:883 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:911 def left_outer_joins(*args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:889 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:917 def left_outer_joins!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27376,10 +28055,10 @@ module ActiveRecord::QueryMethods # # User.limit(10).limit(20) # generated SQL has 'LIMIT 20' # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1211 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1239 def limit(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1215 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1243 def limit!(value); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27391,10 +28070,10 @@ module ActiveRecord::QueryMethods # Specifies locking settings (default to +true+). For more information # on locking, please see ActiveRecord::Locking. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1238 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1267 def lock(locks = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1242 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1271 def lock!(locks = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27431,13 +28110,13 @@ module ActiveRecord::QueryMethods # end # end # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1281 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1310 def none; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1285 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1314 def none!; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1293 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1322 def null_relation?; end # Specifies the number of rows to skip before returning rows. @@ -27448,10 +28127,10 @@ module ActiveRecord::QueryMethods # # User.offset(10).order("name ASC") # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1227 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1256 def offset(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1231 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1260 def offset!(value); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27472,10 +28151,10 @@ module ActiveRecord::QueryMethods # Topic.optimizer_hints("SeqScan(topics)", "Parallel(topics 8)") # # SELECT /*+ SeqScan(topics) Parallel(topics 8) */ "topics".* FROM "topics" # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1485 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1514 def optimizer_hints(*args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1490 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1519 def optimizer_hints!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27494,10 +28173,10 @@ module ActiveRecord::QueryMethods # Post.where("id = 1").or(Post.where("author_id = 3")) # # SELECT `posts`.* FROM `posts` WHERE ((id = 1) OR (author_id = 3)) # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1167 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1195 def or(other); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1179 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1207 def or!(other); end # Applies an ORDER BY clause to a query. @@ -27615,10 +28294,10 @@ module ActiveRecord::QueryMethods # users.first.save # # => true # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1309 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1338 def readonly(value = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1313 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1342 def readonly!(value = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27679,12 +28358,12 @@ module ActiveRecord::QueryMethods # # generates a query with ORDER BY id ASC, name ASC. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:752 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:760 def reorder(*args); end # Same as #reorder but operates on relation in-place instead of copying. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:760 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:768 def reorder!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27716,10 +28395,10 @@ module ActiveRecord::QueryMethods # # User.order('name ASC').reverse_order # generated SQL has 'ORDER BY name DESC' # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1498 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1527 def reverse_order; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1502 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1531 def reverse_order!; end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27731,18 +28410,18 @@ module ActiveRecord::QueryMethods # Allows you to change a previously set where condition for a given attribute, instead of appending to that condition. # # Post.where(trashed: true).where(trashed: false) - # # WHERE `trashed` = 1 AND `trashed` = 0 + # # WHERE `trashed` = true AND `trashed` = false # # Post.where(trashed: true).rewhere(trashed: false) - # # WHERE `trashed` = 0 + # # WHERE `trashed` = false # # Post.where(active: true).where(trashed: true).rewhere(trashed: false) - # # WHERE `active` = 1 AND `trashed` = 0 + # # WHERE `active` = true AND `trashed` = false # # This is short-hand for unscope(where: conditions.keys).where(conditions). # Note that unlike reorder, we're only unscoping the named conditions -- not the entire where statement. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1061 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1089 def rewhere(conditions); end # Works in two unique ways. @@ -27803,10 +28482,10 @@ module ActiveRecord::QueryMethods # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 def select_values=(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1513 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1542 def skip_preloading!; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1508 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1537 def skip_query_cache!(value = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27822,10 +28501,10 @@ module ActiveRecord::QueryMethods # user.comments.to_a # # => ActiveRecord::StrictLoadingViolationError # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1324 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1353 def strict_loading(value = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1328 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1357 def strict_loading!(value = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -27845,12 +28524,15 @@ module ActiveRecord::QueryMethods # Post.joins(:comments).structurally_compatible?(Post.where("id = 1")) # # => false # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1121 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1149 def structurally_compatible?(other); end + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:848 + def table_name_qualified_unscope_values; end + # Deduplicate multiple values. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1541 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1570 def uniq!(name); end # Removes an unwanted relation that is already defined on a chain of relations. @@ -27886,10 +28568,10 @@ module ActiveRecord::QueryMethods # # has_many :comments, -> { unscope(where: :trashed) } # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:806 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:814 def unscope(*args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:811 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:819 def unscope!(*args); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -28038,10 +28720,10 @@ module ActiveRecord::QueryMethods # If the condition is any blank-ish object, then #where is a no-op and returns # the current relation. # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1033 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1061 def where(*args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1043 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1071 def where!(opts, *rest); end # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 @@ -28146,91 +28828,97 @@ module ActiveRecord::QueryMethods # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:173 def with_values=(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1585 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1614 def without(*records); end protected - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1662 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1690 def arel_columns(columns); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1656 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1685 def async!; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1654 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1683 def build_having_clause(opts, rest = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1605 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1634 def build_subquery(subquery_alias, select_value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1613 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1642 def build_where_clause(opts, rest = T.unsafe(nil)); end private - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1991 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2076 + def _reverse_order_columns; end + + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2014 def arel_column(field); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2235 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2295 def arel_column_aliases_from_hash(fields); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1979 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2002 def arel_column_with_table(table_name, column_name); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1963 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1986 def arel_columns_from_hash(fields); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1746 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1774 def assert_modifiable!; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1678 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1706 def async; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1750 - def build_arel(connection, aliases = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1778 + def build_arel(aliases); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1702 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1730 def build_bound_sql_literal(statement, values); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2164 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2202 def build_case_for_value_position(column, values, filter: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1779 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1802 def build_cast_value(name, value); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1783 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1806 def build_from; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1825 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1848 def build_join_buckets; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1735 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1763 def build_join_dependencies; end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1881 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1904 def build_joins(join_sources, aliases = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1682 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1710 def build_named_bound_sql_literal(statement, values); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2056 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2094 def build_order(arel); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1903 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1926 def build_select(arel); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1913 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1936 def build_with(arel); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1929 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1952 def build_with_expression_from_value(value, nested = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1955 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1978 def build_with_join_node(name, kind = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1923 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1946 def build_with_value_from_hash(hash); end + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2277 + def cast_values_for_in_order_of(values, type_caster); end + # Checks to make sure that the arguments are not blank. Note that if some # blank-like object were initially passed into the query method, then this # method will not raise an error. @@ -28248,61 +28936,64 @@ module ActiveRecord::QueryMethods # ... # end # - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2214 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2256 def check_if_method_has_arguments!(method_name, args, message = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2125 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2163 def column_references(order_args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2045 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2083 def does_not_support_reverse?(order); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1729 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1757 def each_join_dependencies(join_dependencies = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2150 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2188 def extract_table_name_from(string); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2078 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2116 def flattened_args(args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1722 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1750 def lookup_table_klass_from_join_dependencies(table_name); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2154 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2192 def order_column(field); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2082 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2120 def preprocess_order_args(order_args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2225 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2267 def process_select_args(fields); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2255 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2315 def process_with_args(args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2174 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2236 + def qualify_attribute_with_table_name(attr); end + + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2212 def resolve_arel_attributes(attrs); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2016 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2041 def reverse_sql_order(order_query); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2119 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2157 def sanitize_order_arguments(order_args); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1810 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1833 def select_association_list(associations, stashed_joins = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1798 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:1821 def select_named_joins(join_names, stashed_joins = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2267 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2327 def structurally_incompatible_values_for(other); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2010 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2035 def table_name_matches?(from); end - # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2064 + # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2102 def validate_order_args(args); end end @@ -28323,13 +29014,13 @@ ActiveRecord::QueryMethods::FROZEN_EMPTY_ARRAY = T.let(T.unsafe(nil), Array) # pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:160 ActiveRecord::QueryMethods::FROZEN_EMPTY_HASH = T.let(T.unsafe(nil), Hash) -# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2262 +# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2322 ActiveRecord::QueryMethods::STRUCTURAL_VALUE_METHODS = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2061 +# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:2099 ActiveRecord::QueryMethods::VALID_DIRECTIONS = T.let(T.unsafe(nil), Set) -# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:768 +# pkg:gem/activerecord#lib/active_record/relation/query_methods.rb:776 ActiveRecord::QueryMethods::VALID_UNSCOPING_VALUES = T.let(T.unsafe(nil), Set) # +WhereChain+ objects act as placeholder for queries in which +where+ does not have any parameter. @@ -28439,10 +29130,10 @@ end # pkg:gem/activerecord#lib/active_record/querying.rb:4 module ActiveRecord::Querying - # pkg:gem/activerecord#lib/active_record/querying.rb:71 + # pkg:gem/activerecord#lib/active_record/querying.rb:83 def _load_from_sql(result_set, &block); end - # pkg:gem/activerecord#lib/active_record/querying.rb:67 + # pkg:gem/activerecord#lib/active_record/querying.rb:79 def _query_by_sql(connection, sql, binds = T.unsafe(nil), preparable: T.unsafe(nil), async: T.unsafe(nil), allow_retry: T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/querying.rb:24 @@ -28462,12 +29153,12 @@ module ActiveRecord::Querying # Same as #count_by_sql but perform the query asynchronously and returns an ActiveRecord::Promise. # - # pkg:gem/activerecord#lib/active_record/querying.rb:116 + # pkg:gem/activerecord#lib/active_record/querying.rb:128 def async_count_by_sql(sql); end # Same as #find_by_sql but perform the query asynchronously and returns an ActiveRecord::Promise. # - # pkg:gem/activerecord#lib/active_record/querying.rb:59 + # pkg:gem/activerecord#lib/active_record/querying.rb:71 def async_find_by_sql(sql, binds = T.unsafe(nil), preparable: T.unsafe(nil), allow_retry: T.unsafe(nil), &block); end # pkg:gem/activerecord#lib/active_record/querying.rb:24 @@ -28510,7 +29201,7 @@ module ActiveRecord::Querying # # * +sql+ - An SQL statement which should return a count query from the database, see the example above. # - # pkg:gem/activerecord#lib/active_record/querying.rb:109 + # pkg:gem/activerecord#lib/active_record/querying.rb:121 def count_by_sql(sql); end # pkg:gem/activerecord#lib/active_record/querying.rb:24 @@ -28602,7 +29293,7 @@ module ActiveRecord::Querying # Note that building your own SQL query string from user input {may expose your application to # injection attacks}[https://guides.rubyonrails.org/security.html#sql-injection]. # - # pkg:gem/activerecord#lib/active_record/querying.rb:51 + # pkg:gem/activerecord#lib/active_record/querying.rb:63 def find_by_sql(sql, binds = T.unsafe(nil), preparable: T.unsafe(nil), allow_retry: T.unsafe(nil), &block); end # pkg:gem/activerecord#lib/active_record/querying.rb:24 @@ -28830,7 +29521,15 @@ module ActiveRecord::Querying # pkg:gem/activerecord#lib/active_record/querying.rb:24 def where(*, **, &); end - # pkg:gem/activerecord#lib/active_record/querying.rb:24 + # Add a Common Table Expression (CTE) that you can then reference within another SELECT statement. + # + # See ActiveRecord::QueryMethods#with for more information. + # + # When given a block, and the Object#with core extension is loaded, this + # delegates to it instead, temporarily setting the given attributes on the + # class for the duration of the block and restoring them afterwards. + # + # pkg:gem/activerecord#lib/active_record/querying.rb:33 def with(*, **, &); end # pkg:gem/activerecord#lib/active_record/querying.rb:24 @@ -28850,17 +29549,17 @@ class ActiveRecord::Railtie < ::Rails::Railtie; end # Raised when values that executed are out of range. # -# pkg:gem/activerecord#lib/active_record/errors.rb:301 +# pkg:gem/activerecord#lib/active_record/errors.rb:308 class ActiveRecord::RangeError < ::ActiveRecord::StatementInvalid; end # Raised when a write to the database is attempted on a read only connection. # -# pkg:gem/activerecord#lib/active_record/errors.rb:132 +# pkg:gem/activerecord#lib/active_record/errors.rb:131 class ActiveRecord::ReadOnlyError < ::ActiveRecord::ActiveRecordError; end # Raised on attempt to update record that is instantiated as read only. # -# pkg:gem/activerecord#lib/active_record/errors.rb:394 +# pkg:gem/activerecord#lib/active_record/errors.rb:401 class ActiveRecord::ReadOnlyRecord < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/readonly_attributes.rb:4 @@ -28956,29 +29655,29 @@ end # # User.first.destroy! # => raises an ActiveRecord::RecordNotDestroyed # -# pkg:gem/activerecord#lib/active_record/errors.rb:182 +# pkg:gem/activerecord#lib/active_record/errors.rb:181 class ActiveRecord::RecordNotDestroyed < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:185 + # pkg:gem/activerecord#lib/active_record/errors.rb:184 def initialize(message = T.unsafe(nil), record = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:183 + # pkg:gem/activerecord#lib/active_record/errors.rb:182 def record; end end # Raised when Active Record cannot find a record by given id or set of ids. # -# pkg:gem/activerecord#lib/active_record/errors.rb:136 +# pkg:gem/activerecord#lib/active_record/errors.rb:135 class ActiveRecord::RecordNotFound < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:139 + # pkg:gem/activerecord#lib/active_record/errors.rb:138 def initialize(message = T.unsafe(nil), model = T.unsafe(nil), primary_key = T.unsafe(nil), id = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:137 + # pkg:gem/activerecord#lib/active_record/errors.rb:136 def id; end - # pkg:gem/activerecord#lib/active_record/errors.rb:137 + # pkg:gem/activerecord#lib/active_record/errors.rb:136 def model; end - # pkg:gem/activerecord#lib/active_record/errors.rb:137 + # pkg:gem/activerecord#lib/active_record/errors.rb:136 def primary_key; end end @@ -28996,18 +29695,18 @@ end # # Product.create! # => raises an ActiveRecord::RecordNotSaved # -# pkg:gem/activerecord#lib/active_record/errors.rb:161 +# pkg:gem/activerecord#lib/active_record/errors.rb:160 class ActiveRecord::RecordNotSaved < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:164 + # pkg:gem/activerecord#lib/active_record/errors.rb:163 def initialize(message = T.unsafe(nil), record = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:162 + # pkg:gem/activerecord#lib/active_record/errors.rb:161 def record; end end # Raised when a record cannot be inserted or updated because it would violate a uniqueness constraint. # -# pkg:gem/activerecord#lib/active_record/errors.rb:229 +# pkg:gem/activerecord#lib/active_record/errors.rb:228 class ActiveRecord::RecordNotUnique < ::ActiveRecord::WrappedDatabaseException; end # = Active Record Reflection @@ -29215,106 +29914,109 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # pkg:gem/activerecord#lib/active_record/reflection.rb:517 def initialize(name, scope, options, active_record); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:587 + # pkg:gem/activerecord#lib/active_record/reflection.rb:591 def active_record_primary_key; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:733 + # pkg:gem/activerecord#lib/active_record/reflection.rb:741 def add_as_polymorphic_through(reflection, seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:729 + # pkg:gem/activerecord#lib/active_record/reflection.rb:737 def add_as_source(seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:737 + # pkg:gem/activerecord#lib/active_record/reflection.rb:745 def add_as_through(seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:719 + # pkg:gem/activerecord#lib/active_record/reflection.rb:727 def association_class; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:579 + # pkg:gem/activerecord#lib/active_record/reflection.rb:583 def association_foreign_key; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:583 + # pkg:gem/activerecord#lib/active_record/reflection.rb:587 def association_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:540 + # pkg:gem/activerecord#lib/active_record/reflection.rb:544 def association_scope_cache(klass, owner, &block); end # Returns +true+ if +self+ is a +belongs_to+ reflection. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:714 + # pkg:gem/activerecord#lib/active_record/reflection.rb:722 def belongs_to?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:630 + # pkg:gem/activerecord#lib/active_record/reflection.rb:638 def check_eager_loadable!; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:618 + # pkg:gem/activerecord#lib/active_record/reflection.rb:622 def check_validity!; end # This is for clearing cache on the reflection. Useful for tests that need to compare # SQL queries on associations. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:662 + # pkg:gem/activerecord#lib/active_record/reflection.rb:670 def clear_association_scope_cache; end # A chain of reflections from this one back to the owner. For more see the explanation in # ThroughReflection. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:656 + # pkg:gem/activerecord#lib/active_record/reflection.rb:664 def collect_join_chain; end # Returns whether or not this association reflection is for a collection # association. Returns +true+ if the +macro+ is either +has_many+ or # +has_and_belongs_to_many+, +false+ otherwise. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:696 + # pkg:gem/activerecord#lib/active_record/reflection.rb:704 def collection?; end # pkg:gem/activerecord#lib/active_record/reflection.rb:490 def compute_class(name); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:741 + # pkg:gem/activerecord#lib/active_record/reflection.rb:753 + def deprecated?; end + + # pkg:gem/activerecord#lib/active_record/reflection.rb:749 def extensions; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:554 + # pkg:gem/activerecord#lib/active_record/reflection.rb:558 def foreign_key(infer_from_inverse_of: T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/reflection.rb:514 def foreign_type; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:674 + # pkg:gem/activerecord#lib/active_record/reflection.rb:682 def has_inverse?; end # Returns +true+ if +self+ is a +has_one+ reflection. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:717 + # pkg:gem/activerecord#lib/active_record/reflection.rb:725 def has_one?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:670 + # pkg:gem/activerecord#lib/active_record/reflection.rb:678 def has_scope?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:614 + # pkg:gem/activerecord#lib/active_record/reflection.rb:618 def join_foreign_key; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:642 + # pkg:gem/activerecord#lib/active_record/reflection.rb:650 def join_id_for(owner); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:606 + # pkg:gem/activerecord#lib/active_record/reflection.rb:610 def join_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:610 + # pkg:gem/activerecord#lib/active_record/reflection.rb:614 def join_primary_type; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:550 + # pkg:gem/activerecord#lib/active_record/reflection.rb:554 def join_table; end # Returns the macro type. # # has_many :clients returns :has_many # - # pkg:gem/activerecord#lib/active_record/reflection.rb:691 + # pkg:gem/activerecord#lib/active_record/reflection.rb:699 def macro; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:666 + # pkg:gem/activerecord#lib/active_record/reflection.rb:674 def nested?; end # pkg:gem/activerecord#lib/active_record/reflection.rb:515 @@ -29323,19 +30025,19 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # pkg:gem/activerecord#lib/active_record/reflection.rb:515 def parent_reflection=(_arg0); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:721 + # pkg:gem/activerecord#lib/active_record/reflection.rb:729 def polymorphic?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:678 + # pkg:gem/activerecord#lib/active_record/reflection.rb:686 def polymorphic_inverse_of(associated_class); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:725 + # pkg:gem/activerecord#lib/active_record/reflection.rb:733 def polymorphic_name; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:650 + # pkg:gem/activerecord#lib/active_record/reflection.rb:658 def source_reflection; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:646 + # pkg:gem/activerecord#lib/active_record/reflection.rb:654 def through_reflection; end # pkg:gem/activerecord#lib/active_record/reflection.rb:514 @@ -29351,14 +30053,14 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # * you use autosave; autosave: true # * the association is a +has_many+ association # - # pkg:gem/activerecord#lib/active_record/reflection.rb:709 + # pkg:gem/activerecord#lib/active_record/reflection.rb:717 def validate?; end private # returns either +nil+ or the inverse association name that it finds. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:758 + # pkg:gem/activerecord#lib/active_record/reflection.rb:770 def automatic_inverse_of; end # Checks to see if the reflection doesn't have any options that prevent @@ -29368,26 +30070,26 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # Third, we must not have options such as :foreign_key # which prevent us from correctly guessing the inverse association. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:800 + # pkg:gem/activerecord#lib/active_record/reflection.rb:812 def can_find_inverse_of_automatically?(reflection, inverse_reflection = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:821 + # pkg:gem/activerecord#lib/active_record/reflection.rb:833 def derive_class_name; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:839 + # pkg:gem/activerecord#lib/active_record/reflection.rb:851 def derive_fk_query_constraints(foreign_key); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:827 + # pkg:gem/activerecord#lib/active_record/reflection.rb:839 def derive_foreign_key(infer_from_inverse_of: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:879 + # pkg:gem/activerecord#lib/active_record/reflection.rb:891 def derive_join_table; end # Attempts to find the inverse association name automatically. # If it cannot find a suitable inverse association name, it returns # +nil+. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:749 + # pkg:gem/activerecord#lib/active_record/reflection.rb:761 def inverse_name; end # Scopes on the potential inverse reflection prevent automatic @@ -29397,7 +30099,7 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # config.active_record.automatic_scope_inversing is set to # +true+ (the default for new applications). # - # pkg:gem/activerecord#lib/active_record/reflection.rb:813 + # pkg:gem/activerecord#lib/active_record/reflection.rb:825 def scope_allows_automatic_inverse_of?(reflection, inverse_reflection); end # Checks if the inverse reflection that is returned from the @@ -29405,38 +30107,38 @@ class ActiveRecord::Reflection::AssociationReflection < ::ActiveRecord::Reflecti # make sure that the reflection's active_record name matches up # with the current reflection's klass name. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:786 + # pkg:gem/activerecord#lib/active_record/reflection.rb:798 def valid_inverse_reflection?(reflection); end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:912 +# pkg:gem/activerecord#lib/active_record/reflection.rb:924 class ActiveRecord::Reflection::BelongsToReflection < ::ActiveRecord::Reflection::AssociationReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:917 + # pkg:gem/activerecord#lib/active_record/reflection.rb:929 def association_class; end # klass option is necessary to support loading polymorphic associations # - # pkg:gem/activerecord#lib/active_record/reflection.rb:926 + # pkg:gem/activerecord#lib/active_record/reflection.rb:938 def association_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:915 + # pkg:gem/activerecord#lib/active_record/reflection.rb:927 def belongs_to?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:948 + # pkg:gem/activerecord#lib/active_record/reflection.rb:960 def join_foreign_key; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:952 + # pkg:gem/activerecord#lib/active_record/reflection.rb:964 def join_foreign_type; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:944 + # pkg:gem/activerecord#lib/active_record/reflection.rb:956 def join_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:913 + # pkg:gem/activerecord#lib/active_record/reflection.rb:925 def macro; end private - # pkg:gem/activerecord#lib/active_record/reflection.rb:957 + # pkg:gem/activerecord#lib/active_record/reflection.rb:969 def can_find_inverse_of_automatically?(*); end end @@ -29513,36 +30215,36 @@ module ActiveRecord::Reflection::ClassMethods def inherited(subclass); end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:962 +# pkg:gem/activerecord#lib/active_record/reflection.rb:974 class ActiveRecord::Reflection::HasAndBelongsToManyReflection < ::ActiveRecord::Reflection::AssociationReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:965 + # pkg:gem/activerecord#lib/active_record/reflection.rb:977 def collection?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:963 + # pkg:gem/activerecord#lib/active_record/reflection.rb:975 def macro; end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:884 +# pkg:gem/activerecord#lib/active_record/reflection.rb:896 class ActiveRecord::Reflection::HasManyReflection < ::ActiveRecord::Reflection::AssociationReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:889 + # pkg:gem/activerecord#lib/active_record/reflection.rb:901 def association_class; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:887 + # pkg:gem/activerecord#lib/active_record/reflection.rb:899 def collection?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:885 + # pkg:gem/activerecord#lib/active_record/reflection.rb:897 def macro; end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:898 +# pkg:gem/activerecord#lib/active_record/reflection.rb:910 class ActiveRecord::Reflection::HasOneReflection < ::ActiveRecord::Reflection::AssociationReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:903 + # pkg:gem/activerecord#lib/active_record/reflection.rb:915 def association_class; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:901 + # pkg:gem/activerecord#lib/active_record/reflection.rb:913 def has_one?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:899 + # pkg:gem/activerecord#lib/active_record/reflection.rb:911 def macro; end end @@ -29625,135 +30327,135 @@ class ActiveRecord::Reflection::MacroReflection < ::ActiveRecord::Reflection::Ab def normalize_options(options); end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:1228 +# pkg:gem/activerecord#lib/active_record/reflection.rb:1263 class ActiveRecord::Reflection::PolymorphicReflection < ::ActiveRecord::Reflection::AbstractReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:1232 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1267 def initialize(reflection, previous_reflection); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1246 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1281 def constraints; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def join_foreign_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def join_primary_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1238 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1273 def join_scopes(table, predicate_builder = T.unsafe(nil), klass = T.unsafe(nil), record = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def klass(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def plural_name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def scope_for(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1229 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1264 def type(*, **, &); end private - # pkg:gem/activerecord#lib/active_record/reflection.rb:1251 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1286 def source_type_scope; end end -# pkg:gem/activerecord#lib/active_record/reflection.rb:1258 +# pkg:gem/activerecord#lib/active_record/reflection.rb:1293 class ActiveRecord::Reflection::RuntimeReflection < ::ActiveRecord::Reflection::AbstractReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:1261 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1296 def initialize(reflection, association); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1271 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1306 def aliased_table; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1279 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1314 def all_includes; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1259 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1294 def constraints(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1259 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1294 def join_foreign_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1275 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1310 def join_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1267 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1302 def klass; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1259 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1294 def scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1259 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1294 def type(*, **, &); end end # Holds all the metadata about a :through association as it was specified # in the Active Record class. # -# pkg:gem/activerecord#lib/active_record/reflection.rb:972 +# pkg:gem/activerecord#lib/active_record/reflection.rb:984 class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection::AbstractReflection - # pkg:gem/activerecord#lib/active_record/reflection.rb:976 + # pkg:gem/activerecord#lib/active_record/reflection.rb:988 def initialize(delegate_reflection); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def _klass(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def active_record(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def active_record_primary_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1190 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1208 def add_as_polymorphic_through(reflection, seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1186 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1204 def add_as_source(seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1194 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1212 def add_as_through(seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def association_class(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def association_foreign_key(*, **, &); end # We want to use the klass from this reflection, rather than just delegate straight to # the source_reflection, because the source_reflection may be polymorphic. We still # need to respect the source_reflection's :primary_key option, though. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1083 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1097 def association_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def association_scope_cache(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def autosave=(arg); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def belongs_to?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def check_eager_loadable!(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1140 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1154 def check_validity!; end # This is for clearing cache on the reflection. Useful for tests that need to compare # SQL queries on associations. # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1055 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1069 def clear_association_scope_cache; end # Returns an array of reflections which are involved in this association. Each item in the @@ -29773,99 +30475,105 @@ class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection:: # # => [, # ] # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1049 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1063 def collect_join_chain; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def collection?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def compute_class(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1180 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1198 def constraints; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 + def deprecated?(*, **, &); end + + # pkg:gem/activerecord#lib/active_record/reflection.rb:1216 + def deprecated_nested_reflections; end + + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def extensions(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def foreign_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def foreign_type(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def has_inverse?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def has_one?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1069 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1083 def has_scope?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def join_foreign_key(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def join_id_for(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1093 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1107 def join_primary_key(klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def join_primary_type(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1065 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1079 def join_scopes(table, predicate_builder = T.unsafe(nil), klass = T.unsafe(nil), record = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def join_table(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:989 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1003 def klass; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def macro(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def name(*, **, &); end # A through association is nested if there would be more than one join table # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1076 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1090 def nested?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def options(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def parent_reflection(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def parent_reflection=(arg); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def plural_name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def polymorphic?(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def polymorphic_inverse_of(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def polymorphic_name(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def scope_for(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1061 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1075 def scopes; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1132 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1146 def source_options; end # Returns the source of the through reflection. It checks both a singularized @@ -29885,10 +30593,10 @@ class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection:: # tags_reflection.source_reflection # # => # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1010 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1024 def source_reflection; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1112 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1126 def source_reflection_name; end # Gets an array of possible :through source reflection names in both singular and plural form. @@ -29902,10 +30610,10 @@ class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection:: # tags_reflection.source_reflection_names # # => [:tag, :tags] # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1108 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1122 def source_reflection_names; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1136 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1150 def through_options; end # Returns the AssociationReflection object specified in the :through option @@ -29920,35 +30628,38 @@ class ActiveRecord::Reflection::ThroughReflection < ::ActiveRecord::Reflection:: # tags_reflection.through_reflection # # => # - # pkg:gem/activerecord#lib/active_record/reflection.rb:1028 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1042 def through_reflection; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:985 + # pkg:gem/activerecord#lib/active_record/reflection.rb:999 def through_reflection?; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:973 + # pkg:gem/activerecord#lib/active_record/reflection.rb:985 def type(*, **, &); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1225 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1260 def validate?(*, **, &); end protected - # pkg:gem/activerecord#lib/active_record/reflection.rb:1199 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1221 def actual_source_reflection; end private - # pkg:gem/activerecord#lib/active_record/reflection.rb:1206 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1244 + def collect_deprecated_nested_reflections; end + + # pkg:gem/activerecord#lib/active_record/reflection.rb:1228 def collect_join_reflections(seed); end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1204 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1226 def delegate_reflection; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1217 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1239 def derive_class_name; end - # pkg:gem/activerecord#lib/active_record/reflection.rb:1215 + # pkg:gem/activerecord#lib/active_record/reflection.rb:1237 def inverse_name; end end @@ -29974,23 +30685,25 @@ class ActiveRecord::Relation # Compares two relations for equality. # - # pkg:gem/activerecord#lib/active_record/relation.rb:1263 + # pkg:gem/activerecord#lib/active_record/relation.rb:1281 def ==(other); end - # pkg:gem/activerecord#lib/active_record/relation.rb:562 + # pkg:gem/activerecord#lib/active_record/relation.rb:566 def _exec_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1317 + # pkg:gem/activerecord#lib/active_record/relation.rb:1335 def alias_tracker(joins = T.unsafe(nil), aliases = T.unsafe(nil)); end # Returns true if there are any records. # - # When a pattern argument is given, this method checks whether elements in - # the Enumerable match the pattern via the case-equality operator (===). # - # posts.any?(Post) # => true or false + # When an argument is given, returns true if at least one records matches + # the argument via the case-equality operator (===). + # + # posts.any?(Post) # => true if at least one record + # posts.any?(Comment) # => false # - # pkg:gem/activerecord#lib/active_record/relation.rb:401 + # pkg:gem/activerecord#lib/active_record/relation.rb:404 def any?(*args); end # pkg:gem/activerecord#lib/active_record/relation.rb:102 @@ -29998,7 +30711,7 @@ class ActiveRecord::Relation # Returns true if relation is blank. # - # pkg:gem/activerecord#lib/active_record/relation.rb:1284 + # pkg:gem/activerecord#lib/active_record/relation.rb:1302 def blank?; end # pkg:gem/activerecord#lib/active_record/relation.rb:133 @@ -30022,12 +30735,12 @@ class ActiveRecord::Relation # # Product.where("name like ?", "%Game%").cache_key(:last_reviewed_at) # - # pkg:gem/activerecord#lib/active_record/relation.rb:448 + # pkg:gem/activerecord#lib/active_record/relation.rb:452 def cache_key(timestamp_column = T.unsafe(nil)); end # Returns a cache key along with the version. # - # pkg:gem/activerecord#lib/active_record/relation.rb:529 + # pkg:gem/activerecord#lib/active_record/relation.rb:533 def cache_key_with_version; end # Returns a cache version that can be used together with the cache key to form @@ -30041,7 +30754,7 @@ class ActiveRecord::Relation # # SELECT COUNT(*), MAX("products"."updated_at") FROM "products" WHERE (name like '%Cosmic Encounter%') # - # pkg:gem/activerecord#lib/active_record/relation.rb:475 + # pkg:gem/activerecord#lib/active_record/relation.rb:479 def cache_version(timestamp_column = T.unsafe(nil)); end # Tries to create a new record with the same scoped attributes @@ -30138,7 +30851,7 @@ class ActiveRecord::Relation # # Delete multiple rows # Todo.delete([2,3,4]) # - # pkg:gem/activerecord#lib/active_record/relation.rb:1067 + # pkg:gem/activerecord#lib/active_record/relation.rb:1081 def delete(id_or_array); end # Deletes the records without instantiating the records @@ -30160,7 +30873,7 @@ class ActiveRecord::Relation # Post.distinct.delete_all # # => ActiveRecord::ActiveRecordError: delete_all doesn't support distinct # - # pkg:gem/activerecord#lib/active_record/relation.rb:1021 + # pkg:gem/activerecord#lib/active_record/relation.rb:1037 def delete_all; end # Finds and deletes all records matching the specified conditions. @@ -30173,7 +30886,7 @@ class ActiveRecord::Relation # Person.delete_by(name: 'Spartacus', rating: 4) # Person.delete_by("published_at < ?", 2.weeks.ago) # - # pkg:gem/activerecord#lib/active_record/relation.rb:1129 + # pkg:gem/activerecord#lib/active_record/relation.rb:1147 def delete_by(*args); end # Destroy an object (or multiple objects) that has the given id. The object is instantiated first, @@ -30196,7 +30909,7 @@ class ActiveRecord::Relation # todos = [1,2,3] # Todo.destroy(todos) # - # pkg:gem/activerecord#lib/active_record/relation.rb:1093 + # pkg:gem/activerecord#lib/active_record/relation.rb:1111 def destroy(id); end # Destroys the records by instantiating each @@ -30216,7 +30929,7 @@ class ActiveRecord::Relation # # Person.where(age: 0..18).destroy_all # - # pkg:gem/activerecord#lib/active_record/relation.rb:999 + # pkg:gem/activerecord#lib/active_record/relation.rb:1015 def destroy_all; end # Finds and destroys all records matching the specified conditions. @@ -30229,12 +30942,12 @@ class ActiveRecord::Relation # Person.destroy_by(name: 'Spartacus', rating: 4) # Person.destroy_by("published_at < ?", 2.weeks.ago) # - # pkg:gem/activerecord#lib/active_record/relation.rb:1116 + # pkg:gem/activerecord#lib/active_record/relation.rb:1134 def destroy_by(*args); end # Returns true if relation needs eager loading. # - # pkg:gem/activerecord#lib/active_record/relation.rb:1248 + # pkg:gem/activerecord#lib/active_record/relation.rb:1266 def eager_loading?; end # Returns true if there are no records. @@ -30242,7 +30955,7 @@ class ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/relation.rb:372 def empty?; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1309 + # pkg:gem/activerecord#lib/active_record/relation.rb:1327 def empty_scope?; end # Serializes the relation objects Array. @@ -30347,7 +31060,7 @@ class ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/relation.rb:186 def first_or_initialize(attributes = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1313 + # pkg:gem/activerecord#lib/active_record/relation.rb:1331 def has_limit_or_offset?; end # Inserts a single record into the database in a single SQL INSERT @@ -30357,7 +31070,7 @@ class ActiveRecord::Relation # # See #insert_all for documentation. # - # pkg:gem/activerecord#lib/active_record/relation.rb:654 + # pkg:gem/activerecord#lib/active_record/relation.rb:668 def insert(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil), record_timestamps: T.unsafe(nil)); end # Inserts a single record into the database in a single SQL INSERT @@ -30367,7 +31080,7 @@ class ActiveRecord::Relation # # See #insert_all! for more. # - # pkg:gem/activerecord#lib/active_record/relation.rb:743 + # pkg:gem/activerecord#lib/active_record/relation.rb:757 def insert!(attributes, returning: T.unsafe(nil), record_timestamps: T.unsafe(nil)); end # Inserts multiple records into the database in a single SQL INSERT @@ -30446,7 +31159,7 @@ class ActiveRecord::Relation # { id: 2, title: "Eloquent Ruby" } # ]) # - # pkg:gem/activerecord#lib/active_record/relation.rb:733 + # pkg:gem/activerecord#lib/active_record/relation.rb:747 def insert_all(attributes, returning: T.unsafe(nil), unique_by: T.unsafe(nil), record_timestamps: T.unsafe(nil)); end # Inserts multiple records into the database in a single SQL INSERT @@ -30503,10 +31216,10 @@ class ActiveRecord::Relation # { id: 1, title: "Eloquent Ruby", author: "Russ" } # ]) # - # pkg:gem/activerecord#lib/active_record/relation.rb:800 + # pkg:gem/activerecord#lib/active_record/relation.rb:814 def insert_all!(attributes, returning: T.unsafe(nil), record_timestamps: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1300 + # pkg:gem/activerecord#lib/active_record/relation.rb:1318 def inspect; end # Joins that are also marked for preloading. In which case we should just eager load them. @@ -30514,7 +31227,7 @@ class ActiveRecord::Relation # represent the same association, but that aren't matched by this. Also, we could have # nested hashes which partially match, e.g. { a: :b } & { a: [:b, :c] } # - # pkg:gem/activerecord#lib/active_record/relation.rb:1258 + # pkg:gem/activerecord#lib/active_record/relation.rb:1276 def joined_includes_values; end # pkg:gem/activerecord#lib/active_record/relation.rb:73 @@ -30527,7 +31240,7 @@ class ActiveRecord::Relation # # Post.where(published: true).load # => # # - # pkg:gem/activerecord#lib/active_record/relation.rb:1189 + # pkg:gem/activerecord#lib/active_record/relation.rb:1207 def load(&block); end # Schedule the query to be performed from a background thread pool. @@ -30546,7 +31259,7 @@ class ActiveRecord::Relation # # ASYNC Post Load (0.0ms) (db time 2ms) SELECT "posts".* FROM "posts" LIMIT 100 # - # pkg:gem/activerecord#lib/active_record/relation.rb:1148 + # pkg:gem/activerecord#lib/active_record/relation.rb:1166 def load_async; end # pkg:gem/activerecord#lib/active_record/relation.rb:71 @@ -30560,7 +31273,7 @@ class ActiveRecord::Relation # Returns true if there is more than one record. # - # pkg:gem/activerecord#lib/active_record/relation.rb:423 + # pkg:gem/activerecord#lib/active_record/relation.rb:427 def many?; end # pkg:gem/activerecord#lib/active_record/relation.rb:71 @@ -30584,34 +31297,36 @@ class ActiveRecord::Relation # Returns true if there are no records. # - # When a pattern argument is given, this method checks whether elements in - # the Enumerable match the pattern via the case-equality operator (===). + # When an argument is given, returns true if no records match the argument + # via the case-equality operator (===). # - # posts.none?(Comment) # => true or false + # posts.none?(Post) # => true if posts is empty + # posts.none?(Comment) # => true # - # pkg:gem/activerecord#lib/active_record/relation.rb:388 + # pkg:gem/activerecord#lib/active_record/relation.rb:389 def none?(*args); end # Returns true if there is exactly one record. # - # When a pattern argument is given, this method checks whether elements in - # the Enumerable match the pattern via the case-equality operator (===). + # When an argument is given, returns true if exactly one records matches the + # argument via the case-equality operator (===). # - # posts.one?(Post) # => true or false + # posts.one?(Post) # => true if exactly one record + # posts.any?(Comment) # => false # - # pkg:gem/activerecord#lib/active_record/relation.rb:414 + # pkg:gem/activerecord#lib/active_record/relation.rb:418 def one?(*args); end # pkg:gem/activerecord#lib/active_record/relation.rb:71 def predicate_builder; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1331 + # pkg:gem/activerecord#lib/active_record/relation.rb:1349 def preload_associations(records); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1274 + # pkg:gem/activerecord#lib/active_record/relation.rb:1292 def pretty_print(pp); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1288 + # pkg:gem/activerecord#lib/active_record/relation.rb:1306 def readonly?; end # pkg:gem/activerecord#lib/active_record/relation.rb:352 @@ -30619,19 +31334,19 @@ class ActiveRecord::Relation # Forces reloading of relation. # - # pkg:gem/activerecord#lib/active_record/relation.rb:1199 + # pkg:gem/activerecord#lib/active_record/relation.rb:1217 def reload; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1204 + # pkg:gem/activerecord#lib/active_record/relation.rb:1222 def reset; end # Returns true if the relation was scheduled on the background # thread pool. # - # pkg:gem/activerecord#lib/active_record/relation.rb:1179 + # pkg:gem/activerecord#lib/active_record/relation.rb:1197 def scheduled?; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1241 + # pkg:gem/activerecord#lib/active_record/relation.rb:1259 def scope_for_create; end # Scope all queries to the current scope. @@ -30649,7 +31364,7 @@ class ActiveRecord::Relation # Please check unscoped if you want to remove all previous scopes (including # the default_scope) during the execution of a block. # - # pkg:gem/activerecord#lib/active_record/relation.rb:551 + # pkg:gem/activerecord#lib/active_record/relation.rb:555 def scoping(all_queries: T.unsafe(nil), &block); end # Returns size of the records. @@ -30666,7 +31381,7 @@ class ActiveRecord::Relation # pkg:gem/activerecord#lib/active_record/relation.rb:71 def table; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1167 + # pkg:gem/activerecord#lib/active_record/relation.rb:1185 def then(&block); end # pkg:gem/activerecord#lib/active_record/relation.rb:350 @@ -30682,7 +31397,7 @@ class ActiveRecord::Relation # User.where(name: 'Oscar').to_sql # # SELECT "users".* FROM "users" WHERE "users"."name" = 'Oscar' # - # pkg:gem/activerecord#lib/active_record/relation.rb:1220 + # pkg:gem/activerecord#lib/active_record/relation.rb:1238 def to_sql; end # Touches all records in the current relation, setting the +updated_at+/+updated_on+ attributes to the current time or the time specified. @@ -30709,13 +31424,13 @@ class ActiveRecord::Relation # Person.where(name: 'David').touch_all # # => "UPDATE \"people\" SET \"updated_at\" = '2018-01-04 22:55:23.132670' WHERE \"people\".\"name\" = 'David'" # - # pkg:gem/activerecord#lib/active_record/relation.rb:979 + # pkg:gem/activerecord#lib/active_record/relation.rb:995 def touch_all(*names, time: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:631 + # pkg:gem/activerecord#lib/active_record/relation.rb:645 def update(id = T.unsafe(nil), attributes); end - # pkg:gem/activerecord#lib/active_record/relation.rb:639 + # pkg:gem/activerecord#lib/active_record/relation.rb:653 def update!(id = T.unsafe(nil), attributes); end # Updates all records in the current relation with details given. This method constructs a single SQL UPDATE @@ -30747,7 +31462,7 @@ class ActiveRecord::Relation # # Update all books with 'Rails' in their title # Book.where('title LIKE ?', '%Rails%').update_all(title: Arel.sql("title + ' - volume 1'")) # - # pkg:gem/activerecord#lib/active_record/relation.rb:598 + # pkg:gem/activerecord#lib/active_record/relation.rb:602 def update_all(updates); end # Updates the counters of the records in the current relation. @@ -30763,7 +31478,7 @@ class ActiveRecord::Relation # # For Posts by a given author increment the comment_count by 1. # Post.where(author_id: author.id).update_counters(comment_count: 1) # - # pkg:gem/activerecord#lib/active_record/relation.rb:936 + # pkg:gem/activerecord#lib/active_record/relation.rb:952 def update_counters(counters); end # Updates or inserts (upserts) a single record into the database in a @@ -30773,7 +31488,7 @@ class ActiveRecord::Relation # # See #upsert_all for documentation. # - # pkg:gem/activerecord#lib/active_record/relation.rb:810 + # pkg:gem/activerecord#lib/active_record/relation.rb:824 def upsert(attributes, **kwargs); end # Updates or inserts (upserts) multiple records into the database in a @@ -30824,7 +31539,9 @@ class ActiveRecord::Relation # Active Record's schema_cache. # # [:on_duplicate] - # Configure the SQL update sentence that will be used in case of conflict. + # Configure the behavior that will be used in case of conflict. Use `:skip` + # to ignore any conflicts or provide a safe SQL fragment wrapped with + # `Arel.sql`. # # NOTE: If you use this option you must provide all the columns you want to update # by yourself. @@ -30883,13 +31600,13 @@ class ActiveRecord::Relation # # Book.find_by(isbn: "1").title # => "Eloquent Ruby" # - # pkg:gem/activerecord#lib/active_record/relation.rb:920 + # pkg:gem/activerecord#lib/active_record/relation.rb:936 def upsert_all(attributes, on_duplicate: T.unsafe(nil), update_only: T.unsafe(nil), returning: T.unsafe(nil), unique_by: T.unsafe(nil), record_timestamps: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1292 + # pkg:gem/activerecord#lib/active_record/relation.rb:1310 def values; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1296 + # pkg:gem/activerecord#lib/active_record/relation.rb:1314 def values_for_queries; end # Returns a hash of where conditions. @@ -30897,71 +31614,71 @@ class ActiveRecord::Relation # User.where(name: 'Oscar').where_values_hash # # => {name: "Oscar"} # - # pkg:gem/activerecord#lib/active_record/relation.rb:1237 + # pkg:gem/activerecord#lib/active_record/relation.rb:1255 def where_values_hash(relation_table_name = T.unsafe(nil)); end protected - # pkg:gem/activerecord#lib/active_record/relation.rb:1341 + # pkg:gem/activerecord#lib/active_record/relation.rb:1359 def load_records(records); end private - # pkg:gem/activerecord#lib/active_record/relation.rb:1367 + # pkg:gem/activerecord#lib/active_record/relation.rb:1385 def _create(attributes, &block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1371 + # pkg:gem/activerecord#lib/active_record/relation.rb:1389 def _create!(attributes, &block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1406 + # pkg:gem/activerecord#lib/active_record/relation.rb:1424 def _increment_attribute(attribute, value = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1363 + # pkg:gem/activerecord#lib/active_record/relation.rb:1381 def _new(attributes, &block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1375 + # pkg:gem/activerecord#lib/active_record/relation.rb:1393 def _scoping(scope, registry, all_queries = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1391 + # pkg:gem/activerecord#lib/active_record/relation.rb:1409 def _substitute_values(values); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1347 + # pkg:gem/activerecord#lib/active_record/relation.rb:1365 def already_in_scope?(registry); end - # pkg:gem/activerecord#lib/active_record/relation.rb:453 + # pkg:gem/activerecord#lib/active_record/relation.rb:457 def compute_cache_key(timestamp_column = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:482 + # pkg:gem/activerecord#lib/active_record/relation.rb:486 def compute_cache_version(timestamp_column); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1355 + # pkg:gem/activerecord#lib/active_record/relation.rb:1373 def current_scope_restoring_block(&block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1433 + # pkg:gem/activerecord#lib/active_record/relation.rb:1455 def exec_main_query(async: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1413 + # pkg:gem/activerecord#lib/active_record/relation.rb:1431 def exec_queries(&block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1351 + # pkg:gem/activerecord#lib/active_record/relation.rb:1369 def global_scope?(registry); end # pkg:gem/activerecord#lib/active_record/relation.rb:97 def initialize_copy(other); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1465 + # pkg:gem/activerecord#lib/active_record/relation.rb:1487 def instantiate_records(rows, &block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1508 + # pkg:gem/activerecord#lib/active_record/relation.rb:1530 def limited_count; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1484 + # pkg:gem/activerecord#lib/active_record/relation.rb:1506 def references_eager_loaded_tables?; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1476 + # pkg:gem/activerecord#lib/active_record/relation.rb:1498 def skip_query_cache_if_necessary(&block); end - # pkg:gem/activerecord#lib/active_record/relation.rb:1501 + # pkg:gem/activerecord#lib/active_record/relation.rb:1523 def tables_in_string(string); end end @@ -31056,7 +31773,7 @@ class ActiveRecord::Relation::HashMerger end # pkg:gem/activerecord#lib/active_record/relation.rb:63 -ActiveRecord::Relation::INVALID_METHODS_FOR_DELETE_ALL = T.let(T.unsafe(nil), Array) +ActiveRecord::Relation::INVALID_METHODS_FOR_UPDATE_AND_DELETE_ALL = T.let(T.unsafe(nil), Array) # pkg:gem/activerecord#lib/active_record/relation.rb:54 ActiveRecord::Relation::MULTI_VALUE_METHODS = T.let(T.unsafe(nil), Array) @@ -31080,7 +31797,7 @@ class ActiveRecord::Relation::Merger private - # pkg:gem/activerecord#lib/active_record/relation/merger.rb:176 + # pkg:gem/activerecord#lib/active_record/relation/merger.rb:178 def merge_clauses; end # pkg:gem/activerecord#lib/active_record/relation/merger.rb:117 @@ -31098,10 +31815,10 @@ class ActiveRecord::Relation::Merger # pkg:gem/activerecord#lib/active_record/relation/merger.rb:84 def merge_select_values; end - # pkg:gem/activerecord#lib/active_record/relation/merger.rb:168 + # pkg:gem/activerecord#lib/active_record/relation/merger.rb:170 def merge_single_values; end - # pkg:gem/activerecord#lib/active_record/relation/merger.rb:186 + # pkg:gem/activerecord#lib/active_record/relation/merger.rb:188 def replace_from_clause?; end end @@ -31113,49 +31830,49 @@ class ActiveRecord::Relation::QueryAttribute < ::ActiveModel::Attribute # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:8 def initialize(*, **, &); end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:53 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:55 def ==(other); end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:56 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:58 def eql?(other); end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:58 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:60 def hash; end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:42 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:44 def infinite?; end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:35 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:37 def nil?; end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:22 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:24 def type_cast(value); end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:46 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:48 def unboundable?; end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:26 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:28 def value_for_database; end - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:31 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:33 def with_cast_value(value); end private - # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:63 + # pkg:gem/activerecord#lib/active_record/relation/query_attribute.rb:65 def infinity?(value); end end # pkg:gem/activerecord#lib/active_record/relation.rb:59 ActiveRecord::Relation::SINGLE_VALUE_METHODS = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/relation.rb:1321 +# pkg:gem/activerecord#lib/active_record/relation.rb:1339 class ActiveRecord::Relation::StrictLoadingScope class << self - # pkg:gem/activerecord#lib/active_record/relation.rb:1322 + # pkg:gem/activerecord#lib/active_record/relation.rb:1340 def empty_scope?; end - # pkg:gem/activerecord#lib/active_record/relation.rb:1326 + # pkg:gem/activerecord#lib/active_record/relation.rb:1344 def strict_loading_value; end end end @@ -31241,7 +31958,7 @@ class ActiveRecord::Relation::WhereClause # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:136 def extract_attribute(node); end - # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:215 + # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:208 def extract_node_value(node); end # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:167 @@ -31253,9 +31970,6 @@ class ActiveRecord::Relation::WhereClause # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:193 def predicates_with_wrapped_sql_literals; end - # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:208 - def wrap_sql_literal(node); end - class << self # pkg:gem/activerecord#lib/active_record/relation/where_clause.rb:95 def empty; end @@ -31292,34 +32006,46 @@ ActiveRecord::Relation::WhereClause::ARRAY_WITH_EMPTY_STRING = T.let(T.unsafe(ni # ... # ] # +# # Get the number of rows affected by the query: +# result = ActiveRecord::Base.lease_connection.exec_query('INSERT INTO posts (title, body) VALUES ("title_3", "body_3"), ("title_4", "body_4")') +# result.affected_rows +# # => 2 +# # # ActiveRecord::Result also includes Enumerable. # result.each do |row| # puts row['title'] + " " + row['body'] # end # -# pkg:gem/activerecord#lib/active_record/result.rb:36 +# pkg:gem/activerecord#lib/active_record/result.rb:41 class ActiveRecord::Result include ::Enumerable - # pkg:gem/activerecord#lib/active_record/result.rb:102 - def initialize(columns, rows, column_types = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/result.rb:107 + def initialize(columns, rows, column_types = T.unsafe(nil), affected_rows: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/result.rb:148 + # pkg:gem/activerecord#lib/active_record/result.rb:155 def [](idx); end - # pkg:gem/activerecord#lib/active_record/result.rb:161 + # pkg:gem/activerecord#lib/active_record/result.rb:97 + def affected_rows; end + + # pkg:gem/activerecord#lib/active_record/result.rb:186 def cancel; end - # pkg:gem/activerecord#lib/active_record/result.rb:165 + # pkg:gem/activerecord#lib/active_record/result.rb:190 def cast_values(type_overrides = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/result.rb:203 + # pkg:gem/activerecord#lib/active_record/result.rb:228 def column_indexes; end - # pkg:gem/activerecord#lib/active_record/result.rb:92 + # Returns the +ActiveRecord::Type+ type of all columns. + # Note that not all database adapters return the result types, + # so the hash may be empty. + # + # pkg:gem/activerecord#lib/active_record/result.rb:167 def column_types; end - # pkg:gem/activerecord#lib/active_record/result.rb:92 + # pkg:gem/activerecord#lib/active_record/result.rb:97 def columns; end # Calls the given block once for each element in row collection, passing @@ -31329,108 +32055,105 @@ class ActiveRecord::Result # # Returns an +Enumerator+ if no block is given. # - # pkg:gem/activerecord#lib/active_record/result.rb:128 + # pkg:gem/activerecord#lib/active_record/result.rb:135 def each(&block); end # Returns true if there are no records, otherwise false. # - # pkg:gem/activerecord#lib/active_record/result.rb:137 + # pkg:gem/activerecord#lib/active_record/result.rb:144 def empty?; end - # pkg:gem/activerecord#lib/active_record/result.rb:197 + # pkg:gem/activerecord#lib/active_record/result.rb:221 def freeze; end # Returns true if this result set includes the column named +name+ # - # pkg:gem/activerecord#lib/active_record/result.rb:113 + # pkg:gem/activerecord#lib/active_record/result.rb:120 def includes_column?(name); end - # pkg:gem/activerecord#lib/active_record/result.rb:216 + # pkg:gem/activerecord#lib/active_record/result.rb:241 def indexed_rows; end # Returns the last record from the rows collection. # - # pkg:gem/activerecord#lib/active_record/result.rb:153 + # pkg:gem/activerecord#lib/active_record/result.rb:160 def last(n = T.unsafe(nil)); end # Returns the number of elements in the rows array. # - # pkg:gem/activerecord#lib/active_record/result.rb:118 + # pkg:gem/activerecord#lib/active_record/result.rb:125 def length; end - # pkg:gem/activerecord#lib/active_record/result.rb:157 + # pkg:gem/activerecord#lib/active_record/result.rb:182 def result; end - # pkg:gem/activerecord#lib/active_record/result.rb:92 + # pkg:gem/activerecord#lib/active_record/result.rb:97 def rows; end - # pkg:gem/activerecord#lib/active_record/result.rb:146 + # pkg:gem/activerecord#lib/active_record/result.rb:153 def to_a; end # Returns an array of hashes representing each row record. # - # pkg:gem/activerecord#lib/active_record/result.rb:142 + # pkg:gem/activerecord#lib/active_record/result.rb:149 def to_ary; end private - # pkg:gem/activerecord#lib/active_record/result.rb:224 + # pkg:gem/activerecord#lib/active_record/result.rb:249 def column_type(name, index, type_overrides); end - # pkg:gem/activerecord#lib/active_record/result.rb:232 + # pkg:gem/activerecord#lib/active_record/result.rb:261 def hash_rows; end - # pkg:gem/activerecord#lib/active_record/result.rb:191 + # pkg:gem/activerecord#lib/active_record/result.rb:216 def initialize_copy(other); end class << self - # pkg:gem/activerecord#lib/active_record/result.rb:94 - def empty(async: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/result.rb:99 + def empty(async: T.unsafe(nil), affected_rows: T.unsafe(nil)); end end end -# pkg:gem/activerecord#lib/active_record/result.rb:244 -ActiveRecord::Result::EMPTY = T.let(T.unsafe(nil), ActiveRecord::Result) - -# pkg:gem/activerecord#lib/active_record/result.rb:247 -ActiveRecord::Result::EMPTY_ASYNC = T.let(T.unsafe(nil), ActiveRecord::FutureResult::Complete) +# pkg:gem/activerecord#lib/active_record/result.rb:269 +ActiveRecord::Result::EMPTY_ARRAY = T.let(T.unsafe(nil), Array) -# pkg:gem/activerecord#lib/active_record/result.rb:241 +# pkg:gem/activerecord#lib/active_record/result.rb:270 ActiveRecord::Result::EMPTY_HASH = T.let(T.unsafe(nil), Hash) -# pkg:gem/activerecord#lib/active_record/result.rb:39 +# pkg:gem/activerecord#lib/active_record/result.rb:44 class ActiveRecord::Result::IndexedRow - # pkg:gem/activerecord#lib/active_record/result.rb:40 + # pkg:gem/activerecord#lib/active_record/result.rb:45 def initialize(column_indexes, row); end - # pkg:gem/activerecord#lib/active_record/result.rb:58 + # pkg:gem/activerecord#lib/active_record/result.rb:63 def ==(other); end - # pkg:gem/activerecord#lib/active_record/result.rb:80 + # pkg:gem/activerecord#lib/active_record/result.rb:85 def [](column); end - # pkg:gem/activerecord#lib/active_record/result.rb:50 + # pkg:gem/activerecord#lib/active_record/result.rb:55 def each_key(&block); end - # pkg:gem/activerecord#lib/active_record/result.rb:70 + # pkg:gem/activerecord#lib/active_record/result.rb:75 def fetch(column); end - # pkg:gem/activerecord#lib/active_record/result.rb:66 + # pkg:gem/activerecord#lib/active_record/result.rb:71 def key?(column); end - # pkg:gem/activerecord#lib/active_record/result.rb:54 + # pkg:gem/activerecord#lib/active_record/result.rb:59 def keys; end - # pkg:gem/activerecord#lib/active_record/result.rb:48 + # pkg:gem/activerecord#lib/active_record/result.rb:53 def length; end - # pkg:gem/activerecord#lib/active_record/result.rb:45 + # pkg:gem/activerecord#lib/active_record/result.rb:50 def size; end - # pkg:gem/activerecord#lib/active_record/result.rb:86 + # pkg:gem/activerecord#lib/active_record/result.rb:91 def to_h; end - # pkg:gem/activerecord#lib/active_record/result.rb:89 + # pkg:gem/activerecord#lib/active_record/result.rb:94 def to_hash; end end @@ -31463,12 +32186,12 @@ end # end # end # -# pkg:gem/activerecord#lib/active_record/errors.rb:435 +# pkg:gem/activerecord#lib/active_record/errors.rb:442 class ActiveRecord::Rollback < ::ActiveRecord::ActiveRecordError; end # This is a thread locals registry for Active Record. For example: # -# ActiveRecord::RuntimeRegistry.sql_runtime +# ActiveRecord::RuntimeRegistry.stats.sql_runtime # # returns the connection handler local to the current unit of execution (either thread of fiber). # @@ -31476,60 +32199,72 @@ class ActiveRecord::Rollback < ::ActiveRecord::ActiveRecordError; end module ActiveRecord::RuntimeRegistry extend ::ActiveRecord::RuntimeRegistry - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:20 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:32 + def call(name, start, finish, id, payload); end + + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:42 + def record(query_name, runtime, cached: T.unsafe(nil), async: T.unsafe(nil), lock_wait: T.unsafe(nil)); end + + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:60 + def reset; end + + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:56 + def stats; end +end + +# pkg:gem/activerecord#lib/active_record/runtime_registry.rb:10 +class ActiveRecord::RuntimeRegistry::Stats + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:13 + def initialize; end + + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 def async_sql_runtime; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:24 - def async_sql_runtime=(runtime); end + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 + def async_sql_runtime=(_arg0); end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:36 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 def cached_queries_count; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:40 - def cached_queries_count=(count); end + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 + def cached_queries_count=(_arg0); end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:28 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 def queries_count; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:32 - def queries_count=(count); end + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 + def queries_count=(_arg0); end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:44 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:27 def reset; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:62 - def reset_cached_queries_count; end - - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:56 - def reset_queries_count; end - - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:50 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:20 def reset_runtimes; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:12 + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 def sql_runtime; end - # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:16 - def sql_runtime=(runtime); end + # pkg:gem/activerecord#lib/active_record/runtime_registry.rb:11 + def sql_runtime=(_arg0); end end # Raised when a statement produces an SQL warning. # -# pkg:gem/activerecord#lib/active_record/errors.rb:305 +# pkg:gem/activerecord#lib/active_record/errors.rb:312 class ActiveRecord::SQLWarning < ::ActiveRecord::AdapterError - # pkg:gem/activerecord#lib/active_record/errors.rb:309 + # pkg:gem/activerecord#lib/active_record/errors.rb:316 def initialize(message = T.unsafe(nil), code = T.unsafe(nil), level = T.unsafe(nil), sql = T.unsafe(nil), connection_pool = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:306 + # pkg:gem/activerecord#lib/active_record/errors.rb:313 def code; end - # pkg:gem/activerecord#lib/active_record/errors.rb:306 + # pkg:gem/activerecord#lib/active_record/errors.rb:313 def level; end - # pkg:gem/activerecord#lib/active_record/errors.rb:307 + # pkg:gem/activerecord#lib/active_record/errors.rb:314 def sql; end - # pkg:gem/activerecord#lib/active_record/errors.rb:307 + # pkg:gem/activerecord#lib/active_record/errors.rb:314 def sql=(_arg0); end end @@ -31542,7 +32277,7 @@ end # pkg:gem/activerecord#lib/active_record/sanitization.rb:7 module ActiveRecord::Sanitization::ClassMethods - # pkg:gem/activerecord#lib/active_record/sanitization.rb:183 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:185 def disallow_raw_sql!(args, permit: T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/sanitization.rb:41 @@ -31573,7 +32308,9 @@ module ActiveRecord::Sanitization::ClassMethods # sanitize_sql_array(["role = ?", 0]) # # => "role = '0'" # - # pkg:gem/activerecord#lib/active_record/sanitization.rb:164 + # Before using this method, please consider if Arel.sql would be better for your use-case + # + # pkg:gem/activerecord#lib/active_record/sanitization.rb:166 def sanitize_sql_array(ary); end # Accepts an array or hash of SQL conditions and sanitizes them into @@ -31675,19 +32412,19 @@ module ActiveRecord::Sanitization::ClassMethods private - # pkg:gem/activerecord#lib/active_record/sanitization.rb:233 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:235 def quote_bound_value(connection, value); end - # pkg:gem/activerecord#lib/active_record/sanitization.rb:247 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:249 def raise_if_bind_arity_mismatch(statement, expected, provided); end - # pkg:gem/activerecord#lib/active_record/sanitization.rb:211 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:213 def replace_bind_variable(connection, value); end - # pkg:gem/activerecord#lib/active_record/sanitization.rb:203 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:205 def replace_bind_variables(connection, statement, values); end - # pkg:gem/activerecord#lib/active_record/sanitization.rb:219 + # pkg:gem/activerecord#lib/active_record/sanitization.rb:221 def replace_named_bind_variables(connection, statement, bind_vars); end end @@ -31705,7 +32442,7 @@ end # t.string :name, null: false # end # -# add_index :authors, :name, :unique +# add_index :authors, :name, unique: true # # create_table :posts do |t| # t.integer :author_id, null: false @@ -31805,10 +32542,10 @@ class ActiveRecord::SchemaDumper private - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:283 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:284 def check_constraints_in_create(table, stream); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:309 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:310 def check_parts(check); end # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:92 @@ -31819,16 +32556,16 @@ class ActiveRecord::SchemaDumper # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:119 def extensions(stream); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:316 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:317 def foreign_keys(table, stream); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:348 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:346 def format_colspec(colspec); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:358 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:356 def format_index_parts(options); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:354 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:352 def format_options(options); end # turns 20170404131909 into "2017_04_04_131909" @@ -31839,7 +32576,7 @@ class ActiveRecord::SchemaDumper # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:96 def header(stream); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:376 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:378 def ignored?(table_name); end # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:265 @@ -31853,7 +32590,10 @@ class ActiveRecord::SchemaDumper # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:244 def indexes_in_create(table, stream); end - # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:366 + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:364 + def relation_name(name); end + + # pkg:gem/activerecord#lib/active_record/schema_dumper.rb:368 def remove_prefix_and_suffix(table); end # schemas are only supported by PostgreSQL @@ -31988,7 +32728,7 @@ class ActiveRecord::SchemaMigration::NullSchemaMigration; end # = Active Record \Named \Scopes # -# pkg:gem/activerecord#lib/active_record/scoping.rb:6 +# pkg:gem/activerecord#lib/active_record/scoping.rb:5 module ActiveRecord::Scoping extend ::ActiveSupport::Concern extend ::ActiveSupport::Autoload @@ -32001,10 +32741,10 @@ module ActiveRecord::Scoping mixes_in_class_methods ::ActiveRecord::Scoping::Default::ClassMethods mixes_in_class_methods ::ActiveRecord::Scoping::Named::ClassMethods - # pkg:gem/activerecord#lib/active_record/scoping.rb:54 + # pkg:gem/activerecord#lib/active_record/scoping.rb:53 def initialize_internals_callback; end - # pkg:gem/activerecord#lib/active_record/scoping.rb:47 + # pkg:gem/activerecord#lib/active_record/scoping.rb:46 def populate_with_current_scope_attributes; end module GeneratedClassMethods @@ -32020,32 +32760,32 @@ module ActiveRecord::Scoping end end -# pkg:gem/activerecord#lib/active_record/scoping.rb:14 +# pkg:gem/activerecord#lib/active_record/scoping.rb:13 module ActiveRecord::Scoping::ClassMethods - # pkg:gem/activerecord#lib/active_record/scoping.rb:26 + # pkg:gem/activerecord#lib/active_record/scoping.rb:25 def current_scope(skip_inherited_scope = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:30 + # pkg:gem/activerecord#lib/active_record/scoping.rb:29 def current_scope=(scope); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:34 + # pkg:gem/activerecord#lib/active_record/scoping.rb:33 def global_current_scope(skip_inherited_scope = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:38 + # pkg:gem/activerecord#lib/active_record/scoping.rb:37 def global_current_scope=(scope); end # Collects attributes from scopes that should be applied when creating # an AR instance for the particular class this is called on. # - # pkg:gem/activerecord#lib/active_record/scoping.rb:17 + # pkg:gem/activerecord#lib/active_record/scoping.rb:16 def scope_attributes; end # Are there attributes associated with this scope? # - # pkg:gem/activerecord#lib/active_record/scoping.rb:22 + # pkg:gem/activerecord#lib/active_record/scoping.rb:21 def scope_attributes?; end - # pkg:gem/activerecord#lib/active_record/scoping.rb:42 + # pkg:gem/activerecord#lib/active_record/scoping.rb:41 def scope_registry; end end @@ -32377,61 +33117,61 @@ end # # You will obtain whatever was defined in +some_new_scope+. # -# pkg:gem/activerecord#lib/active_record/scoping.rb:76 +# pkg:gem/activerecord#lib/active_record/scoping.rb:75 class ActiveRecord::Scoping::ScopeRegistry - # pkg:gem/activerecord#lib/active_record/scoping.rb:86 + # pkg:gem/activerecord#lib/active_record/scoping.rb:85 def initialize; end - # pkg:gem/activerecord#lib/active_record/scoping.rb:92 + # pkg:gem/activerecord#lib/active_record/scoping.rb:91 def current_scope(model, skip_inherited_scope = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:108 + # pkg:gem/activerecord#lib/active_record/scoping.rb:107 def global_current_scope(model, skip_inherited_scope = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:100 + # pkg:gem/activerecord#lib/active_record/scoping.rb:99 def ignore_default_scope(model, skip_inherited_scope = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:96 + # pkg:gem/activerecord#lib/active_record/scoping.rb:95 def set_current_scope(model, value); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:112 + # pkg:gem/activerecord#lib/active_record/scoping.rb:111 def set_global_current_scope(model, value); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:104 + # pkg:gem/activerecord#lib/active_record/scoping.rb:103 def set_ignore_default_scope(model, value); end private # Sets the +value+ for a given +scope_type+ and +model+. # - # pkg:gem/activerecord#lib/active_record/scoping.rb:131 + # pkg:gem/activerecord#lib/active_record/scoping.rb:130 def set_value_for(scope_type, model, value); end # Obtains the value for a given +scope_type+ and +model+. # - # pkg:gem/activerecord#lib/active_record/scoping.rb:118 + # pkg:gem/activerecord#lib/active_record/scoping.rb:117 def value_for(scope_type, model, skip_inherited_scope = T.unsafe(nil)); end class << self - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def current_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def global_current_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def ignore_default_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:81 + # pkg:gem/activerecord#lib/active_record/scoping.rb:80 def instance; end - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def set_current_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def set_global_current_scope(*, **, &); end - # pkg:gem/activerecord#lib/active_record/scoping.rb:78 + # pkg:gem/activerecord#lib/active_record/scoping.rb:77 def set_ignore_default_scope(*, **, &); end end end @@ -32577,12 +33317,12 @@ end # This is a subclass of TransactionRollbackError, please make sure to check # its documentation to be aware of its caveats. # -# pkg:gem/activerecord#lib/active_record/errors.rb:544 +# pkg:gem/activerecord#lib/active_record/errors.rb:552 class ActiveRecord::SerializationFailure < ::ActiveRecord::TransactionRollbackError; end # Raised when unserialized object's type mismatches one specified for serializable field. # -# pkg:gem/activerecord#lib/active_record/errors.rb:37 +# pkg:gem/activerecord#lib/active_record/errors.rb:36 class ActiveRecord::SerializationTypeMismatch < ::ActiveRecord::ActiveRecordError; end # = Active Record Signed Id @@ -32594,6 +33334,7 @@ module ActiveRecord::SignedId mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveRecord::SignedId::ClassMethods + mixes_in_class_methods ::ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret # Returns a signed id that's generated using a preconfigured +ActiveSupport::MessageVerifier+ instance. # @@ -32619,10 +33360,12 @@ module ActiveRecord::SignedId # And you then change your +find_signed+ calls to require this new purpose. Any old signed ids that were not # created with the purpose will no longer find the record. # - # pkg:gem/activerecord#lib/active_record/signed_id.rb:132 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:160 def signed_id(expires_in: T.unsafe(nil), expires_at: T.unsafe(nil), purpose: T.unsafe(nil)); end module GeneratedClassMethods + def _signed_id_verifier; end + def _signed_id_verifier=(value); end def signed_id_verifier_secret; end def signed_id_verifier_secret=(value); end def signed_id_verifier_secret?; end @@ -32634,9 +33377,9 @@ module ActiveRecord::SignedId end end -# pkg:gem/activerecord#lib/active_record/signed_id.rb:26 +# pkg:gem/activerecord#lib/active_record/signed_id.rb:42 module ActiveRecord::SignedId::ClassMethods - # pkg:gem/activerecord#lib/active_record/signed_id.rb:103 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:131 def combine_signed_id_purposes(purpose); end # Lets you find a record based on a signed id that's safe to put into the world without risk of tampering. @@ -32665,8 +33408,8 @@ module ActiveRecord::SignedId::ClassMethods # travel_back # User.find_signed signed_id, purpose: :password_reset # => User.first # - # pkg:gem/activerecord#lib/active_record/signed_id.rb:52 - def find_signed(signed_id, purpose: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/signed_id.rb:68 + def find_signed(signed_id, purpose: T.unsafe(nil), on_rotation: T.unsafe(nil)); end # Works like find_signed, but will raise an ActiveSupport::MessageVerifier::InvalidSignature # exception if the +signed_id+ has either expired, has a purpose mismatch, is for another record, @@ -32681,42 +33424,43 @@ module ActiveRecord::SignedId::ClassMethods # User.first.destroy # User.find_signed! signed_id # => ActiveRecord::RecordNotFound # - # pkg:gem/activerecord#lib/active_record/signed_id.rb:72 - def find_signed!(signed_id, purpose: T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/signed_id.rb:89 + def find_signed!(signed_id, purpose: T.unsafe(nil), on_rotation: T.unsafe(nil)); end - # The verifier instance that all signed ids are generated and verified from. By default, it'll be initialized - # with the class-level +signed_id_verifier_secret+, which within Rails comes from - # {Rails.application.key_generator}[rdoc-ref:Rails::Application#key_generator]. - # By default, it's SHA256 for the digest and JSON for the serialization. - # - # pkg:gem/activerecord#lib/active_record/signed_id.rb:82 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:96 def signed_id_verifier; end # Allows you to pass in a custom verifier used for the signed ids. This also allows you to use different # verifiers for different classes. This is also helpful if you need to rotate keys, as you can prepare # your custom verifier for that in advance. See ActiveSupport::MessageVerifier for details. # - # pkg:gem/activerecord#lib/active_record/signed_id.rb:98 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:122 def signed_id_verifier=(verifier); end end -# pkg:gem/activerecord#lib/active_record/signed_id.rb:16 +# pkg:gem/activerecord#lib/active_record/base.rb:329 +module ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret + # pkg:gem/activerecord#lib/active_record/base.rb:329 + def signed_id_verifier_secret=(secret); end +end + +# pkg:gem/activerecord#lib/active_record/signed_id.rb:32 module ActiveRecord::SignedId::RelationMethods - # pkg:gem/activerecord#lib/active_record/signed_id.rb:17 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:33 def find_signed(*, **, &); end - # pkg:gem/activerecord#lib/active_record/signed_id.rb:21 + # pkg:gem/activerecord#lib/active_record/signed_id.rb:37 def find_signed!(*, **, &); end end # Raised when Active Record finds multiple records but only expected one. # -# pkg:gem/activerecord#lib/active_record/errors.rb:192 +# pkg:gem/activerecord#lib/active_record/errors.rb:191 class ActiveRecord::SoleRecordExceeded < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:195 + # pkg:gem/activerecord#lib/active_record/errors.rb:194 def initialize(record = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:193 + # pkg:gem/activerecord#lib/active_record/errors.rb:192 def record; end end @@ -32781,15 +33525,15 @@ end # Read more about optimistic locking in ActiveRecord::Locking module # documentation. # -# pkg:gem/activerecord#lib/active_record/errors.rb:371 +# pkg:gem/activerecord#lib/active_record/errors.rb:378 class ActiveRecord::StaleObjectError < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:374 + # pkg:gem/activerecord#lib/active_record/errors.rb:381 def initialize(record = T.unsafe(nil), attempted_action = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:372 + # pkg:gem/activerecord#lib/active_record/errors.rb:379 def attempted_action; end - # pkg:gem/activerecord#lib/active_record/errors.rb:372 + # pkg:gem/activerecord#lib/active_record/errors.rb:379 def record; end end @@ -32822,90 +33566,93 @@ end # # pkg:gem/activerecord#lib/active_record/statement_cache.rb:30 class ActiveRecord::StatementCache - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:139 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:143 def initialize(query_builder, bind_map, model); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:145 - def execute(params, connection, allow_retry: T.unsafe(nil), async: T.unsafe(nil), &block); end + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:149 + def execute(params, connection, async: T.unsafe(nil), &block); end class << self - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:132 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:136 def create(connection, callable = T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:101 - def partial_query(values); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:105 + def partial_query(*, **, &); end + + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:109 def partial_query_collector; end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:97 - def query(sql); end + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:101 + def query(*, **, &); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:158 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:162 def unsupported_value?(value); end end end -# pkg:gem/activerecord#lib/active_record/statement_cache.rb:113 +# pkg:gem/activerecord#lib/active_record/statement_cache.rb:117 class ActiveRecord::StatementCache::BindMap - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:114 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:118 def initialize(bound_attributes); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:125 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:129 def bind(values); end end -# pkg:gem/activerecord#lib/active_record/statement_cache.rb:109 +# pkg:gem/activerecord#lib/active_record/statement_cache.rb:113 class ActiveRecord::StatementCache::Params - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:110 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:114 def bind; end end -# pkg:gem/activerecord#lib/active_record/statement_cache.rb:43 +# pkg:gem/activerecord#lib/active_record/statement_cache.rb:46 class ActiveRecord::StatementCache::PartialQuery < ::ActiveRecord::StatementCache::Query - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:44 - def initialize(values); end + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:47 + def initialize(values, retryable:); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:51 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:55 def sql_for(binds, connection); end end -# pkg:gem/activerecord#lib/active_record/statement_cache.rb:64 +# pkg:gem/activerecord#lib/active_record/statement_cache.rb:68 class ActiveRecord::StatementCache::PartialQueryCollector - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:67 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:71 def initialize; end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:72 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:76 def <<(str); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:77 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:81 def add_bind(obj, &); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:83 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:87 def add_binds(binds, proc_for_binds = T.unsafe(nil), &); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:65 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:69 def preparable; end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:65 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:69 def preparable=(_arg0); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:65 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:69 def retryable; end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:65 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:69 def retryable=(_arg0); end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:92 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:96 def value; end end # pkg:gem/activerecord#lib/active_record/statement_cache.rb:33 class ActiveRecord::StatementCache::Query + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:36 + def initialize(sql, retryable:); end + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:34 - def initialize(sql); end + def retryable; end - # pkg:gem/activerecord#lib/active_record/statement_cache.rb:38 + # pkg:gem/activerecord#lib/active_record/statement_cache.rb:41 def sql_for(binds, connection); end end @@ -32916,24 +33663,24 @@ class ActiveRecord::StatementCache::Substitute; end # # Wraps the underlying database error as +cause+. # -# pkg:gem/activerecord#lib/active_record/errors.rb:204 +# pkg:gem/activerecord#lib/active_record/errors.rb:203 class ActiveRecord::StatementInvalid < ::ActiveRecord::AdapterError - # pkg:gem/activerecord#lib/active_record/errors.rb:205 + # pkg:gem/activerecord#lib/active_record/errors.rb:204 def initialize(message = T.unsafe(nil), sql: T.unsafe(nil), binds: T.unsafe(nil), connection_pool: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:211 + # pkg:gem/activerecord#lib/active_record/errors.rb:210 def binds; end - # pkg:gem/activerecord#lib/active_record/errors.rb:213 + # pkg:gem/activerecord#lib/active_record/errors.rb:212 def set_query(sql, binds); end - # pkg:gem/activerecord#lib/active_record/errors.rb:211 + # pkg:gem/activerecord#lib/active_record/errors.rb:210 def sql; end end # StatementTimeout will be raised when statement timeout exceeded. # -# pkg:gem/activerecord#lib/active_record/errors.rb:569 +# pkg:gem/activerecord#lib/active_record/errors.rb:582 class ActiveRecord::StatementTimeout < ::ActiveRecord::QueryAborted; end # = Active Record \Store @@ -33035,19 +33782,19 @@ module ActiveRecord::Store private - # pkg:gem/activerecord#lib/active_record/store.rb:209 + # pkg:gem/activerecord#lib/active_record/store.rb:217 def read_store_attribute(store_attribute, key); end - # pkg:gem/activerecord#lib/active_record/store.rb:219 + # pkg:gem/activerecord#lib/active_record/store.rb:227 def store_accessor_for(store_attribute); end - # pkg:gem/activerecord#lib/active_record/store.rb:214 + # pkg:gem/activerecord#lib/active_record/store.rb:222 def write_store_attribute(store_attribute, key, value); end end # pkg:gem/activerecord#lib/active_record/store.rb:105 module ActiveRecord::Store::ClassMethods - # pkg:gem/activerecord#lib/active_record/store.rb:191 + # pkg:gem/activerecord#lib/active_record/store.rb:199 def _store_accessors_module; end # pkg:gem/activerecord#lib/active_record/store.rb:106 @@ -33056,61 +33803,67 @@ module ActiveRecord::Store::ClassMethods # pkg:gem/activerecord#lib/active_record/store.rb:112 def store_accessor(store_attribute, *keys, prefix: T.unsafe(nil), suffix: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/store.rb:199 + # pkg:gem/activerecord#lib/active_record/store.rb:207 def stored_attributes; end end -# pkg:gem/activerecord#lib/active_record/store.rb:227 +# pkg:gem/activerecord#lib/active_record/store.rb:235 class ActiveRecord::Store::HashAccessor class << self - # pkg:gem/activerecord#lib/active_record/store.rb:238 + # pkg:gem/activerecord#lib/active_record/store.rb:236 + def get(store_object, key); end + + # pkg:gem/activerecord#lib/active_record/store.rb:252 def prepare(object, attribute); end - # pkg:gem/activerecord#lib/active_record/store.rb:228 + # pkg:gem/activerecord#lib/active_record/store.rb:242 def read(object, attribute, key); end - # pkg:gem/activerecord#lib/active_record/store.rb:233 + # pkg:gem/activerecord#lib/active_record/store.rb:247 def write(object, attribute, key, value); end end end -# pkg:gem/activerecord#lib/active_record/store.rb:264 +# pkg:gem/activerecord#lib/active_record/store.rb:291 class ActiveRecord::Store::IndifferentCoder - # pkg:gem/activerecord#lib/active_record/store.rb:265 + # pkg:gem/activerecord#lib/active_record/store.rb:292 def initialize(attr_name, coder_or_class_name); end - # pkg:gem/activerecord#lib/active_record/store.rb:274 + # pkg:gem/activerecord#lib/active_record/store.rb:301 def dump(obj); end - # pkg:gem/activerecord#lib/active_record/store.rb:278 + # pkg:gem/activerecord#lib/active_record/store.rb:305 def load(yaml); end private - # pkg:gem/activerecord#lib/active_record/store.rb:294 + # pkg:gem/activerecord#lib/active_record/store.rb:321 def as_regular_hash(obj); end class << self - # pkg:gem/activerecord#lib/active_record/store.rb:282 + # pkg:gem/activerecord#lib/active_record/store.rb:309 def as_indifferent_hash(obj); end end end -# pkg:gem/activerecord#lib/active_record/store.rb:253 +# pkg:gem/activerecord#lib/active_record/store.rb:278 class ActiveRecord::Store::IndifferentHashAccessor < ::ActiveRecord::Store::HashAccessor class << self - # pkg:gem/activerecord#lib/active_record/store.rb:254 - def prepare(object, store_attribute); end + # pkg:gem/activerecord#lib/active_record/store.rb:279 + def prepare(object, attribute); end end end -# pkg:gem/activerecord#lib/active_record/store.rb:243 +# pkg:gem/activerecord#lib/active_record/store.rb:264 class ActiveRecord::Store::StringKeyedHashAccessor < ::ActiveRecord::Store::HashAccessor class << self - # pkg:gem/activerecord#lib/active_record/store.rb:244 + # pkg:gem/activerecord#lib/active_record/store.rb:265 + def get(store_object, key); end + + # pkg:gem/activerecord#lib/active_record/store.rb:269 def read(object, attribute, key); end - # pkg:gem/activerecord#lib/active_record/store.rb:248 + # pkg:gem/activerecord#lib/active_record/store.rb:273 def write(object, attribute, key, value); end end end @@ -33123,15 +33876,48 @@ end # guide covers solutions, such as using # {ActiveRecord::Base.includes}[rdoc-ref:QueryMethods#includes]. # -# pkg:gem/activerecord#lib/active_record/errors.rb:404 +# pkg:gem/activerecord#lib/active_record/errors.rb:411 class ActiveRecord::StrictLoadingViolationError < ::ActiveRecord::ActiveRecordError; end +# pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:6 +class ActiveRecord::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:21 + def sql(event); end + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:9 + def strict_loading_violation(event); end + + private + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:79 + def filter(name, value); end + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:64 + def render_bind(attr, value); end + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:60 + def type_casted_binds(casted_binds); end + + class << self + private + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:19 + def __class_attr_debug_methods; end + + # pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:19 + def __class_attr_debug_methods=(new_value); end + end +end + +# pkg:gem/activerecord#lib/active_record/structured_event_subscriber.rb:7 +ActiveRecord::StructuredEventSubscriber::IGNORE_PAYLOAD_NAMES = T.let(T.unsafe(nil), Array) + # Raised when the single-table inheritance mechanism fails to locate the subclass # (for example due to improper usage of column that # {ActiveRecord::Base.inheritance_column}[rdoc-ref:ModelSchema.inheritance_column] # points to). # -# pkg:gem/activerecord#lib/active_record/errors.rb:18 +# pkg:gem/activerecord#lib/active_record/errors.rb:17 class ActiveRecord::SubclassNotFound < ::ActiveRecord::ActiveRecordError; end # = Active Record \Suppressor @@ -33189,76 +33975,104 @@ end # pkg:gem/activerecord#lib/active_record/table_metadata.rb:4 class ActiveRecord::TableMetadata - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:7 - def initialize(klass, arel_table, reflection = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:5 + def initialize(klass, arel_table); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:68 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:53 def aggregated_with?(aggregation_name); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:78 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:63 def arel_table; end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:29 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:26 def associated_table(table_name); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:25 - def associated_with?(table_name); end + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:22 + def associated_with(table_name); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:21 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:18 def has_column?(column_name); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:5 - def join_foreign_key(*, **, &); end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:5 - def join_foreign_type(*, **, &); end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:5 - def join_primary_key(*, **, &); end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:5 - def join_primary_type(*, **, &); end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:53 - def polymorphic_association?; end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:57 - def polymorphic_name_association; end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:70 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:55 def predicate_builder; end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:13 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:10 def primary_key; end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:65 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:50 def reflect_on_aggregation(aggregation_name); end - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:61 - def through_association?; end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:17 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:14 def type(column_name); end private - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:81 + # pkg:gem/activerecord#lib/active_record/table_metadata.rb:66 def klass; end - - # pkg:gem/activerecord#lib/active_record/table_metadata.rb:81 - def reflection; end end # Raised when a model makes a query but it has not specified an associated table. # -# pkg:gem/activerecord#lib/active_record/errors.rb:46 +# pkg:gem/activerecord#lib/active_record/errors.rb:45 class ActiveRecord::TableNotSpecified < ::ActiveRecord::ActiveRecordError; end -# pkg:gem/activerecord#lib/active_record.rb:173 +# pkg:gem/activerecord#lib/active_record.rb:174 module ActiveRecord::Tasks extend ::ActiveSupport::Autoload end +# pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:5 +class ActiveRecord::Tasks::AbstractTasks + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:10 + def initialize(db_config); end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:15 + def charset; end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:23 + def check_current_protected_environment!(db_config, migration_class); end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:19 + def collation; end + + private + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:41 + def configuration_hash; end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:51 + def configuration_hash_without_database; end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:43 + def connection; end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:41 + def db_config; end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:47 + def establish_connection(config = T.unsafe(nil)); end + + # The failed command is echoed back, so anything secret it was given has + # to be kept out of the message. + # + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:68 + def filter_sensitive_args(args); end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:55 + def run_cmd(cmd, *args, **opts); end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:59 + def run_cmd_error(cmd, args); end + + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:73 + def with_temporary_pool(db_config, migration_class, clobber: T.unsafe(nil)); end + + class << self + # pkg:gem/activerecord#lib/active_record/tasks/abstract_tasks.rb:6 + def using_database_configurations?; end + end +end + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:7 class ActiveRecord::Tasks::DatabaseNotSupported < ::StandardError; end @@ -33298,31 +34112,31 @@ class ActiveRecord::Tasks::DatabaseNotSupported < ::StandardError; end module ActiveRecord::Tasks::DatabaseTasks extend ::ActiveRecord::Tasks::DatabaseTasks - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:476 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:484 def cache_dump_filename(db_config, schema_cache_path: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:332 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:330 def charset(configuration, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:327 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:325 def charset_current(env_name = T.unsafe(nil), db_name = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:65 def check_protected_environments!(environment = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:490 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:498 def check_schema_file(filename); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:317 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:315 def check_target_version; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:516 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:524 def clear_schema_cache(filename); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:342 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:340 def collation(configuration, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:337 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:335 def collation_current(env_name = T.unsafe(nil), db_name = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:115 @@ -33331,7 +34145,7 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:127 def create_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:170 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:168 def create_current(environment = T.unsafe(nil), name = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:61 @@ -33340,7 +34154,7 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:61 def database_configuration=(_arg0); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:285 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:283 def db_configs_with_versions(environment = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:83 @@ -33349,19 +34163,19 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:60 def db_dir=(_arg0); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:210 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:208 def drop(configuration, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:222 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:220 def drop_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:226 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:224 def drop_current(environment = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:432 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:430 def dump_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:439 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:443 def dump_schema(db_config, format = T.unsafe(nil)); end # Dumps the schema cache in YAML format for the connection into the file @@ -33369,7 +34183,7 @@ module ActiveRecord::Tasks::DatabaseTasks # ==== Examples # ActiveRecord::Tasks::DatabaseTasks.dump_schema_cache(ActiveRecord::Base.lease_connection, "tmp/schema_dump.yaml") # - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:512 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:520 def dump_schema_cache(conn_or_pool, filename); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:103 @@ -33387,31 +34201,31 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:141 def for_each(databases); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:376 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:374 def load_schema(db_config, format = T.unsafe(nil), file = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:482 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:490 def load_schema_current(format = T.unsafe(nil), file = T.unsafe(nil), environment = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:498 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:506 def load_seed; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:262 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:260 def migrate(version = T.unsafe(nil), skip_initialize: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:243 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:241 def migrate_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:302 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:300 def migrate_status; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:537 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:545 def migration_class; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:541 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:549 def migration_connection; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:545 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:553 def migration_connection_pool; end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:87 @@ -33423,22 +34237,22 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:107 def name; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:176 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:174 def prepare_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:347 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:345 def purge(configuration); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:352 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:350 def purge_all; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:356 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:354 def purge_current(environment = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:156 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:154 def raise_for_multi_db(environment = T.unsafe(nil), command:); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:414 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:412 def reconstruct_from_schema(db_config, file = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:73 @@ -33450,10 +34264,10 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:60 def root=(_arg0); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:463 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:471 def schema_dump_path(db_config, format = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:398 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:396 def schema_up_to_date?(configuration, _ = T.unsafe(nil), file = T.unsafe(nil)); end # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:111 @@ -33465,76 +34279,73 @@ module ActiveRecord::Tasks::DatabaseTasks # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:135 def setup_initial_database_yaml; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:362 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:360 def structure_dump(configuration, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:369 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:367 def structure_load(configuration, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:323 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:321 def target_version; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:237 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:235 def truncate_all(environment = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:531 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:539 def with_temporary_connection(db_config, clobber: T.unsafe(nil), &block); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:520 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:528 def with_temporary_pool_for_each(env: T.unsafe(nil), name: T.unsafe(nil), clobber: T.unsafe(nil), &block); end private - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:643 - def check_current_protected_environment!(db_config); end - - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:582 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:590 def class_for_adapter(adapter); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:559 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:567 def configs_for(**options); end # Create a new instance for the specified db configuration object # For classes that have been converted to use db_config objects, pass a # `DatabaseConfig`, otherwise pass a `Hash` # - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:574 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:582 def database_adapter_for(db_config, *arguments); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:590 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:598 def each_current_configuration(environment, name = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:600 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:608 def each_current_environment(environment, &block); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:606 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:614 def each_local_configuration; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:660 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:651 def initialize_database(db_config); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:618 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:626 def local_database?(db_config); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:563 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:571 def resolve_configuration(configuration); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:623 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:631 def schema_sha1(file); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:627 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:635 def structure_dump_flags_for(adapter); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:635 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:643 def structure_load_flags_for(adapter); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:230 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:228 def truncate_tables(db_config); end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:567 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:575 def verbose?; end - # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:550 + # pkg:gem/activerecord#lib/active_record/tasks/database_tasks.rb:558 def with_temporary_pool(db_config, clobber: T.unsafe(nil)); end class << self @@ -33556,128 +34367,67 @@ end ActiveRecord::Tasks::DatabaseTasks::LOCAL_HOSTS = T.let(T.unsafe(nil), Array) # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:5 -class ActiveRecord::Tasks::MySQLDatabaseTasks - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:10 - def initialize(db_config); end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:32 +class ActiveRecord::Tasks::MySQLDatabaseTasks < ::ActiveRecord::Tasks::AbstractTasks + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:23 def charset; end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:36 - def collation; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:15 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:6 def create; end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:21 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:12 def drop; end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:26 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:17 def purge; end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:40 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:27 def structure_dump(filename, extra_flags); end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:59 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:46 def structure_load(filename, extra_flags); end private - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:69 - def configuration_hash; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:79 - def configuration_hash_without_database; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:71 - def connection; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:83 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:56 def creation_options; end - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:69 - def db_config; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:75 - def establish_connection(config = T.unsafe(nil)); end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:90 + # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:63 def prepare_command_options; end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:109 - def run_cmd(cmd, args, action); end - - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:113 - def run_cmd_error(cmd, args, action); end - - class << self - # pkg:gem/activerecord#lib/active_record/tasks/mysql_database_tasks.rb:6 - def using_database_configurations?; end - end end # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:7 -class ActiveRecord::Tasks::PostgreSQLDatabaseTasks - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:16 - def initialize(db_config); end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:32 - def charset; end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:36 - def collation; end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:21 +class ActiveRecord::Tasks::PostgreSQLDatabaseTasks < ::ActiveRecord::Tasks::AbstractTasks + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:12 def create(connection_already_established = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:27 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:18 def drop; end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:40 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:23 def purge; end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:46 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:29 def structure_dump(filename, extra_flags); end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:80 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:63 def structure_load(filename, extra_flags); end private - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:89 - def configuration_hash; end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:91 - def connection; end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:89 - def db_config; end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:99 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:72 def encoding; end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:95 - def establish_connection(config = T.unsafe(nil)); end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:107 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:80 def psql_env; end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:103 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:76 def public_schema_config; end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:131 + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:97 def remove_sql_header_comments(filename); end - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:120 - def run_cmd(cmd, args, action); end - - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:124 - def run_cmd_error(cmd, args, action); end - - class << self - # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:12 - def using_database_configurations?; end - end + # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:93 + def run_cmd(cmd, *args, **opts); end end # pkg:gem/activerecord#lib/active_record/tasks/postgresql_database_tasks.rb:8 @@ -33690,58 +34440,41 @@ ActiveRecord::Tasks::PostgreSQLDatabaseTasks::ON_ERROR_STOP_1 = T.let(T.unsafe(n ActiveRecord::Tasks::PostgreSQLDatabaseTasks::SQL_COMMENT_BEGIN = T.let(T.unsafe(nil), String) # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:5 -class ActiveRecord::Tasks::SQLiteDatabaseTasks - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:10 +class ActiveRecord::Tasks::SQLiteDatabaseTasks < ::ActiveRecord::Tasks::AbstractTasks + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:6 def initialize(db_config, root = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:40 - def charset; end + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:58 + def check_current_protected_environment!(db_config, migration_class); end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:15 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:11 def create; end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:22 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:18 def drop; end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:31 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:27 def purge; end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:44 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:36 def structure_dump(filename, extra_flags); end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:60 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:53 def structure_load(filename, extra_flags); end private - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:68 - def connection; end - - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:66 - def db_config; end - - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:72 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:71 def establish_connection(config = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:66 + # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:69 def root; end - - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:77 - def run_cmd(cmd, args, out); end - - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:81 - def run_cmd_error(cmd, args); end - - class << self - # pkg:gem/activerecord#lib/active_record/tasks/sqlite_database_tasks.rb:6 - def using_database_configurations?; end - end end # pkg:gem/activerecord#lib/active_record/test_databases.rb:6 module ActiveRecord::TestDatabases class << self - # pkg:gem/activerecord#lib/active_record/test_databases.rb:11 + # pkg:gem/activerecord#lib/active_record/test_databases.rb:23 def create_and_load_schema(i, env_name:); end end end @@ -34104,7 +34837,7 @@ end # # We are inside a real and not finalized transaction. # end # -# Closed transactions are `blank?` too. +# Closed transactions are +blank?+ too. # # == Callbacks # @@ -34176,32 +34909,29 @@ class ActiveRecord::Transaction # If the entire chain of nested transactions are all successfully committed, # the block is never called. # - # If the transaction is already finalized, attempting to register a callback - # will raise ActiveRecord::ActiveRecordError. - # - # pkg:gem/activerecord#lib/active_record/transaction.rb:107 + # pkg:gem/activerecord#lib/active_record/transaction.rb:104 def after_rollback(&block); end - # pkg:gem/activerecord#lib/active_record/transaction.rb:121 + # pkg:gem/activerecord#lib/active_record/transaction.rb:118 def blank?; end # Returns true if the transaction doesn't exist or is finalized. # - # pkg:gem/activerecord#lib/active_record/transaction.rb:117 + # pkg:gem/activerecord#lib/active_record/transaction.rb:114 def closed?; end # Returns true if the transaction exists and isn't finalized yet. # - # pkg:gem/activerecord#lib/active_record/transaction.rb:112 + # pkg:gem/activerecord#lib/active_record/transaction.rb:109 def open?; end # Returns a UUID for this transaction or +nil+ if no transaction is open. # - # pkg:gem/activerecord#lib/active_record/transaction.rb:124 + # pkg:gem/activerecord#lib/active_record/transaction.rb:121 def uuid; end end -# pkg:gem/activerecord#lib/active_record/transaction.rb:130 +# pkg:gem/activerecord#lib/active_record/transaction.rb:127 ActiveRecord::Transaction::NULL_TRANSACTION = T.let(T.unsafe(nil), ActiveRecord::Transaction) # TransactionIsolationError will be raised under the following conditions: @@ -34212,7 +34942,7 @@ ActiveRecord::Transaction::NULL_TRANSACTION = T.let(T.unsafe(nil), ActiveRecord: # # The mysql2, trilogy, and postgresql adapters support setting the transaction isolation level. # -# pkg:gem/activerecord#lib/active_record/errors.rb:508 +# pkg:gem/activerecord#lib/active_record/errors.rb:516 class ActiveRecord::TransactionIsolationError < ::ActiveRecord::ActiveRecordError; end # TransactionRollbackError will be raised when a transaction is rolled @@ -34236,7 +34966,7 @@ class ActiveRecord::TransactionIsolationError < ::ActiveRecord::ActiveRecordErro # * https://www.postgresql.org/docs/current/static/transaction-iso.html # * https://dev.mysql.com/doc/mysql-errors/en/server-error-reference.html#error_er_lock_deadlock # -# pkg:gem/activerecord#lib/active_record/errors.rb:531 +# pkg:gem/activerecord#lib/active_record/errors.rb:539 class ActiveRecord::TransactionRollbackError < ::ActiveRecord::StatementInvalid; end # See ActiveRecord::Transactions::ClassMethods for documentation. @@ -34259,7 +34989,7 @@ module ActiveRecord::Transactions # pkg:gem/activerecord#lib/active_record/transactions.rb:16 def _new_record_before_last_commit=(_arg0); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:372 + # pkg:gem/activerecord#lib/active_record/transactions.rb:395 def before_committed!; end # Call the #after_commit callbacks. @@ -34267,33 +34997,33 @@ module ActiveRecord::Transactions # Ensure that it is not called if the object was never persisted (failed create), # but call it after the commit of a destroyed object. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:380 + # pkg:gem/activerecord#lib/active_record/transactions.rb:403 def committed!(should_run_callbacks: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:356 + # pkg:gem/activerecord#lib/active_record/transactions.rb:379 def destroy; end # Call the #after_rollback callbacks. The +force_restore_state+ argument indicates if the record # state should be rolled back to the beginning or just to the last savepoint. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:392 + # pkg:gem/activerecord#lib/active_record/transactions.rb:415 def rolledback!(force_restore_state: T.unsafe(nil), should_run_callbacks: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:360 + # pkg:gem/activerecord#lib/active_record/transactions.rb:383 def save(**); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:364 + # pkg:gem/activerecord#lib/active_record/transactions.rb:387 def save!(**); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:368 + # pkg:gem/activerecord#lib/active_record/transactions.rb:391 def touch(*, **); end # See ActiveRecord::Transactions::ClassMethods for detailed documentation. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:352 + # pkg:gem/activerecord#lib/active_record/transactions.rb:375 def transaction(**options, &block); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:425 + # pkg:gem/activerecord#lib/active_record/transactions.rb:450 def trigger_transactional_callbacks?; end # Executes a block within a transaction and captures its return value as a @@ -34303,50 +35033,50 @@ module ActiveRecord::Transactions # This method is available within the context of an ActiveRecord::Base # instance. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:408 + # pkg:gem/activerecord#lib/active_record/transactions.rb:431 def with_transaction_returning_status; end private - # pkg:gem/activerecord#lib/active_record/transactions.rb:431 + # pkg:gem/activerecord#lib/active_record/transactions.rb:456 def _committed_already_called; end - # pkg:gem/activerecord#lib/active_record/transactions.rb:431 + # pkg:gem/activerecord#lib/active_record/transactions.rb:456 def _trigger_destroy_callback; end - # pkg:gem/activerecord#lib/active_record/transactions.rb:431 + # pkg:gem/activerecord#lib/active_record/transactions.rb:456 def _trigger_update_callback; end # Add the record to the current transaction so that the #after_rollback and #after_commit # callbacks can be called. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:514 + # pkg:gem/activerecord#lib/active_record/transactions.rb:539 def add_to_transaction(ensure_finalize = T.unsafe(nil)); end # Clear the new record state and id of a record. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:462 + # pkg:gem/activerecord#lib/active_record/transactions.rb:487 def clear_transaction_record_state; end - # pkg:gem/activerecord#lib/active_record/transactions.rb:520 + # pkg:gem/activerecord#lib/active_record/transactions.rb:545 def has_transactional_callbacks?; end - # pkg:gem/activerecord#lib/active_record/transactions.rb:433 + # pkg:gem/activerecord#lib/active_record/transactions.rb:458 def init_internals; end # Save the new record state and id of a record so it can be restored later if a transaction fails. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:442 + # pkg:gem/activerecord#lib/active_record/transactions.rb:467 def remember_transaction_record_state; end # Restore the new record state and id of a record that was previously saved by a call to save_record_state. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:469 + # pkg:gem/activerecord#lib/active_record/transactions.rb:494 def restore_transaction_record_state(force_restore_state = T.unsafe(nil)); end # Determine if a transaction included an action for :create, :update, or :destroy. Used in filtering callbacks. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:499 + # pkg:gem/activerecord#lib/active_record/transactions.rb:524 def transaction_include_any_action?(actions); end end @@ -34579,37 +35309,37 @@ module ActiveRecord::Transactions::ClassMethods # after_commit :do_foo_bar, on: [:create, :update] # after_commit :do_bar_baz, on: [:update, :destroy] # - # pkg:gem/activerecord#lib/active_record/transactions.rb:265 + # pkg:gem/activerecord#lib/active_record/transactions.rb:285 def after_commit(*args, &block); end # Shortcut for after_commit :hook, on: :create. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:277 + # pkg:gem/activerecord#lib/active_record/transactions.rb:297 def after_create_commit(*args, &block); end # Shortcut for after_commit :hook, on: :destroy. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:289 + # pkg:gem/activerecord#lib/active_record/transactions.rb:309 def after_destroy_commit(*args, &block); end # This callback is called after a create, update, or destroy are rolled back. # # Please check the documentation of #after_commit for options. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:297 + # pkg:gem/activerecord#lib/active_record/transactions.rb:317 def after_rollback(*args, &block); end # Shortcut for after_commit :hook, on: [ :create, :update ]. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:271 + # pkg:gem/activerecord#lib/active_record/transactions.rb:291 def after_save_commit(*args, &block); end # Shortcut for after_commit :hook, on: :update. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:283 + # pkg:gem/activerecord#lib/active_record/transactions.rb:303 def after_update_commit(*args, &block); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:248 + # pkg:gem/activerecord#lib/active_record/transactions.rb:268 def before_commit(*args, &block); end # Returns a representation of the current transaction state, @@ -34620,13 +35350,18 @@ module ActiveRecord::Transactions::ClassMethods # # See the ActiveRecord::Transaction documentation for detailed behavior. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:244 + # pkg:gem/activerecord#lib/active_record/transactions.rb:264 def current_transaction; end + # Returns the default isolation level for the connection pool, set earlier by #with_pool_transaction_isolation_level. + # + # pkg:gem/activerecord#lib/active_record/transactions.rb:253 + def pool_transaction_isolation_level; end + # Similar to ActiveSupport::Callbacks::ClassMethods#set_callback, but with # support for options available on #after_commit and #after_rollback callbacks. # - # pkg:gem/activerecord#lib/active_record/transactions.rb:304 + # pkg:gem/activerecord#lib/active_record/transactions.rb:324 def set_callback(name, *filter_list, &block); end # See the ConnectionAdapters::DatabaseStatements#transaction API docs. @@ -34634,16 +35369,21 @@ module ActiveRecord::Transactions::ClassMethods # pkg:gem/activerecord#lib/active_record/transactions.rb:231 def transaction(**options, &block); end + # Makes all transactions the current pool use the isolation level initiated within the block. + # + # pkg:gem/activerecord#lib/active_record/transactions.rb:240 + def with_pool_transaction_isolation_level(isolation_level, &block); end + private - # pkg:gem/activerecord#lib/active_record/transactions.rb:344 + # pkg:gem/activerecord#lib/active_record/transactions.rb:367 def assert_valid_transaction_action(actions); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:322 - def prepend_option; end + # pkg:gem/activerecord#lib/active_record/transactions.rb:359 + def enforced_prepend_option(position, options); end - # pkg:gem/activerecord#lib/active_record/transactions.rb:330 - def set_options_for_callbacks!(args, enforced_options = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/active_record/transactions.rb:342 + def set_options_for_callbacks!(position, args, enforced_options = T.unsafe(nil)); end end # pkg:gem/activerecord#lib/active_record/translation.rb:4 @@ -34792,19 +35532,19 @@ class ActiveRecord::Type::HashLookupTypeMap # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:6 def initialize(parent = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:39 + # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:40 def alias_type(type, alias_type); end - # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:34 + # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:35 def clear; end # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:17 def fetch(lookup_key, *args, &block); end - # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:43 + # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:44 def key?(key); end - # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:47 + # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:48 def keys; end # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:13 @@ -34815,7 +35555,7 @@ class ActiveRecord::Type::HashLookupTypeMap private - # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:52 + # pkg:gem/activerecord#lib/active_record/type/hash_lookup_type_map.rb:53 def perform_fetch(type, *args, &block); end end @@ -34833,30 +35573,38 @@ module ActiveRecord::Type::Internal::Timezone # pkg:gem/activerecord#lib/active_record/type/internal/timezone.rb:7 def initialize(timezone: T.unsafe(nil), **kwargs); end + # pkg:gem/activerecord#lib/active_record/type/internal/timezone.rb:20 + def ==(other); end + # pkg:gem/activerecord#lib/active_record/type/internal/timezone.rb:16 def default_timezone; end # pkg:gem/activerecord#lib/active_record/type/internal/timezone.rb:12 def is_utc?; end + + protected + + # pkg:gem/activerecord#lib/active_record/type/internal/timezone.rb:25 + def timezone; end end -# pkg:gem/activerecord#lib/active_record/type/json.rb:5 +# pkg:gem/activerecord#lib/active_record/type/json.rb:7 class ActiveRecord::Type::Json < ::ActiveModel::Type::Value include ::ActiveModel::Type::Helpers::Mutable - # pkg:gem/activerecord#lib/active_record/type/json.rb:25 + # pkg:gem/activerecord#lib/active_record/type/json.rb:36 def accessor; end - # pkg:gem/activerecord#lib/active_record/type/json.rb:21 + # pkg:gem/activerecord#lib/active_record/type/json.rb:32 def changed_in_place?(raw_old_value, new_value); end - # pkg:gem/activerecord#lib/active_record/type/json.rb:12 + # pkg:gem/activerecord#lib/active_record/type/json.rb:14 def deserialize(value); end - # pkg:gem/activerecord#lib/active_record/type/json.rb:17 + # pkg:gem/activerecord#lib/active_record/type/json.rb:28 def serialize(value); end - # pkg:gem/activerecord#lib/active_record/type/json.rb:8 + # pkg:gem/activerecord#lib/active_record/type/json.rb:10 def type; end end @@ -34914,33 +35662,33 @@ class ActiveRecord::Type::Serialized include ::ActiveModel::Type::Helpers::Mutable # pkg:gem/activerecord#lib/active_record/type/serialized.rb:12 - def initialize(subtype, coder); end + def initialize(subtype, coder, comparable: T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:42 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:49 def accessor; end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:46 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:53 def assert_valid_value(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:35 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:36 def changed_in_place?(raw_old_value, value); end # pkg:gem/activerecord#lib/active_record/type/serialized.rb:10 def coder; end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:18 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:19 def deserialize(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:52 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:59 def force_equality?(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:33 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:34 def inspect; end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:26 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:27 def serialize(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:56 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:63 def serialized?; end # pkg:gem/activerecord#lib/active_record/type/serialized.rb:10 @@ -34948,13 +35696,13 @@ class ActiveRecord::Type::Serialized private - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:66 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:73 def default_value?(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:70 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:77 def encoded(value); end - # pkg:gem/activerecord#lib/active_record/type/serialized.rb:64 + # pkg:gem/activerecord#lib/active_record/type/serialized.rb:71 def instance_variables_to_inspect; end end @@ -35039,7 +35787,7 @@ class ActiveRecord::TypeCaster::Connection private - # pkg:gem/activerecord#lib/active_record/type_caster/connection.rb:30 + # pkg:gem/activerecord#lib/active_record/type_caster/connection.rb:31 def table_name; end end @@ -35065,7 +35813,7 @@ class ActiveRecord::TypeConflictError < ::StandardError; end # Raised when unknown attributes are supplied via mass assignment. # -# pkg:gem/activerecord#lib/active_record/errors.rb:444 +# pkg:gem/activerecord#lib/active_record/errors.rb:451 ActiveRecord::UnknownAttributeError = ActiveModel::UnknownAttributeError # UnknownAttributeReference is raised when an unknown and potentially unsafe @@ -35089,7 +35837,7 @@ ActiveRecord::UnknownAttributeError = ActiveModel::UnknownAttributeError # Again, such a workaround should *not* be used when passing user-provided # values, such as request parameters or model attributes to query methods. # -# pkg:gem/activerecord#lib/active_record/errors.rb:605 +# pkg:gem/activerecord#lib/active_record/errors.rb:618 class ActiveRecord::UnknownAttributeReference < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/migration.rb:111 @@ -35100,12 +35848,12 @@ end # Raised when a primary key is needed, but not specified in the schema or model. # -# pkg:gem/activerecord#lib/active_record/errors.rb:472 +# pkg:gem/activerecord#lib/active_record/errors.rb:479 class ActiveRecord::UnknownPrimaryKey < ::ActiveRecord::ActiveRecordError - # pkg:gem/activerecord#lib/active_record/errors.rb:475 + # pkg:gem/activerecord#lib/active_record/errors.rb:482 def initialize(model = T.unsafe(nil), description = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/active_record/errors.rb:473 + # pkg:gem/activerecord#lib/active_record/errors.rb:480 def model; end end @@ -35115,13 +35863,14 @@ end # end # # relation = Task.all +# relation.load # relation.loaded? # => true # # # Methods which try to mutate a loaded relation fail. # relation.where!(title: 'TODO') # => ActiveRecord::UnmodifiableRelation # relation.limit!(5) # => ActiveRecord::UnmodifiableRelation # -# pkg:gem/activerecord#lib/active_record/errors.rb:498 +# pkg:gem/activerecord#lib/active_record/errors.rb:506 class ActiveRecord::UnmodifiableRelation < ::ActiveRecord::ActiveRecordError; end # pkg:gem/activerecord#lib/active_record/gem_version.rb:9 @@ -35533,22 +36282,22 @@ end # Raised when a record cannot be inserted or updated because a value too long for a column type. # -# pkg:gem/activerecord#lib/active_record/errors.rb:297 +# pkg:gem/activerecord#lib/active_record/errors.rb:304 class ActiveRecord::ValueTooLong < ::ActiveRecord::StatementInvalid; end # Defunct wrapper class kept for compatibility. # StatementInvalid wraps the original exception now. # -# pkg:gem/activerecord#lib/active_record/errors.rb:225 +# pkg:gem/activerecord#lib/active_record/errors.rb:224 class ActiveRecord::WrappedDatabaseException < ::ActiveRecord::StatementInvalid; end # pkg:gem/activerecord#lib/arel/errors.rb:3 module Arel class << self - # pkg:gem/activerecord#lib/arel.rb:64 + # pkg:gem/activerecord#lib/arel.rb:66 def arel_node?(value); end - # pkg:gem/activerecord#lib/arel.rb:68 + # pkg:gem/activerecord#lib/arel.rb:70 def fetch_attribute(value, &block); end # Wrap a known-safe SQL string for passing to query methods, e.g. @@ -35576,7 +36325,7 @@ module Arel # pkg:gem/activerecord#lib/arel.rb:52 def sql(sql_string, *positional_binds, retryable: T.unsafe(nil), **named_binds); end - # pkg:gem/activerecord#lib/arel.rb:60 + # pkg:gem/activerecord#lib/arel.rb:62 def star; end end end @@ -35768,14 +36517,14 @@ end # # pkg:gem/activerecord#lib/arel/crud.rb:6 module Arel::Crud - # pkg:gem/activerecord#lib/arel/crud.rb:37 - def compile_delete(key = T.unsafe(nil), having_clause = T.unsafe(nil), group_values_columns = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/arel/crud.rb:32 + def compile_delete(key = T.unsafe(nil)); end # pkg:gem/activerecord#lib/arel/crud.rb:7 def compile_insert(values); end # pkg:gem/activerecord#lib/arel/crud.rb:17 - def compile_update(values, key = T.unsafe(nil), having_clause = T.unsafe(nil), group_values_columns = T.unsafe(nil)); end + def compile_update(values, key = T.unsafe(nil)); end # pkg:gem/activerecord#lib/arel/crud.rb:13 def create_insert; end @@ -35972,7 +36721,7 @@ end # pkg:gem/activerecord#lib/arel/nodes/binary.rb:122 class Arel::Nodes::Assignment < ::Arel::Nodes::Binary; end -# pkg:gem/activerecord#lib/arel/nodes/function.rb:42 +# pkg:gem/activerecord#lib/arel/nodes/function.rb:36 class Arel::Nodes::Avg < ::Arel::Nodes::Function; end # pkg:gem/activerecord#lib/arel/nodes/binary.rb:48 @@ -36226,7 +36975,7 @@ end # pkg:gem/activerecord#lib/arel/nodes/count.rb:5 class Arel::Nodes::Count < ::Arel::Nodes::Function # pkg:gem/activerecord#lib/arel/nodes/count.rb:6 - def initialize(expr, distinct = T.unsafe(nil), aliaz = T.unsafe(nil)); end + def initialize(expr, distinct = T.unsafe(nil)); end end # pkg:gem/activerecord#lib/arel/nodes/cte.rb:5 @@ -36404,7 +37153,7 @@ end # pkg:gem/activerecord#lib/arel/nodes/binary.rb:122 class Arel::Nodes::Except < ::Arel::Nodes::Binary; end -# pkg:gem/activerecord#lib/arel/nodes/function.rb:42 +# pkg:gem/activerecord#lib/arel/nodes/function.rb:36 class Arel::Nodes::Exists < ::Arel::Nodes::Function; end # pkg:gem/activerecord#lib/arel/nodes/extract.rb:5 @@ -36491,37 +37240,28 @@ class Arel::Nodes::Function < ::Arel::Nodes::NodeExpression include ::Arel::WindowPredications include ::Arel::FilterPredications - # pkg:gem/activerecord#lib/arel/nodes/function.rb:10 - def initialize(expr, aliaz = T.unsafe(nil)); end + # pkg:gem/activerecord#lib/arel/nodes/function.rb:11 + def initialize(expr); end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:32 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:26 def ==(other); end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 - def alias; end - - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 - def alias=(_arg0); end - - # pkg:gem/activerecord#lib/arel/nodes/function.rb:17 - def as(aliaz); end - - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:9 def distinct; end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:9 def distinct=(_arg0); end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:26 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:21 def eql?(other); end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:9 def expressions; end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:8 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:9 def expressions=(_arg0); end - # pkg:gem/activerecord#lib/arel/nodes/function.rb:22 + # pkg:gem/activerecord#lib/arel/nodes/function.rb:17 def hash; end end @@ -36751,10 +37491,10 @@ class Arel::Nodes::Matches < ::Arel::Nodes::Binary def escape; end end -# pkg:gem/activerecord#lib/arel/nodes/function.rb:42 +# pkg:gem/activerecord#lib/arel/nodes/function.rb:36 class Arel::Nodes::Max < ::Arel::Nodes::Function; end -# pkg:gem/activerecord#lib/arel/nodes/function.rb:42 +# pkg:gem/activerecord#lib/arel/nodes/function.rb:36 class Arel::Nodes::Min < ::Arel::Nodes::Function; end # pkg:gem/activerecord#lib/arel/nodes/infix_operation.rb:20 @@ -36766,7 +37506,7 @@ end # pkg:gem/activerecord#lib/arel/nodes/named_function.rb:5 class Arel::Nodes::NamedFunction < ::Arel::Nodes::Function # pkg:gem/activerecord#lib/arel/nodes/named_function.rb:8 - def initialize(name, expr, aliaz = T.unsafe(nil)); end + def initialize(name, expr); end # pkg:gem/activerecord#lib/arel/nodes/named_function.rb:20 def ==(other); end @@ -36841,7 +37581,7 @@ end # # Active Record uses Arel to compose SQL statements. Instead of building SQL strings directly, it's building an # abstract syntax tree (AST) of the statement using various types of Arel::Nodes::Node. Each node represents a -# fragment of a SQL statement. +# fragment of an SQL statement. # # The intermediate representation allows Arel to compile the statement into the database's specific SQL dialect # only before sending it without having to care about the nuances of each database when building the statement. @@ -37296,7 +38036,7 @@ class Arel::Nodes::Subtraction < ::Arel::Nodes::InfixOperation def initialize(left, right); end end -# pkg:gem/activerecord#lib/arel/nodes/function.rb:42 +# pkg:gem/activerecord#lib/arel/nodes/function.rb:36 class Arel::Nodes::Sum < ::Arel::Nodes::Function; end # pkg:gem/activerecord#lib/arel/nodes/table_alias.rb:5 @@ -37714,19 +38454,19 @@ class Arel::SelectManager < ::Arel::TreeManager # pkg:gem/activerecord#lib/arel/select_manager.rb:48 def as(other); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:252 + # pkg:gem/activerecord#lib/arel/select_manager.rb:257 def comment(*values); end # pkg:gem/activerecord#lib/arel/select_manager.rb:24 def constraints; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:154 + # pkg:gem/activerecord#lib/arel/select_manager.rb:159 def distinct(value = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:163 + # pkg:gem/activerecord#lib/arel/select_manager.rb:168 def distinct_on(value); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:213 + # pkg:gem/activerecord#lib/arel/select_manager.rb:218 def except(other); end # Produces an Arel::Nodes::Exists node @@ -37734,34 +38474,34 @@ class Arel::SelectManager < ::Arel::TreeManager # pkg:gem/activerecord#lib/arel/select_manager.rb:44 def exists; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:85 + # pkg:gem/activerecord#lib/arel/select_manager.rb:90 def from(table); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:98 + # pkg:gem/activerecord#lib/arel/select_manager.rb:103 def froms; end # pkg:gem/activerecord#lib/arel/select_manager.rb:74 def group(*columns); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:119 + # pkg:gem/activerecord#lib/arel/select_manager.rb:124 def having(expr); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:209 + # pkg:gem/activerecord#lib/arel/select_manager.rb:214 def intersect(other); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:102 + # pkg:gem/activerecord#lib/arel/select_manager.rb:107 def join(relation, klass = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:244 + # pkg:gem/activerecord#lib/arel/select_manager.rb:249 def join_sources; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:218 + # pkg:gem/activerecord#lib/arel/select_manager.rb:223 def lateral(table_name = T.unsafe(nil)); end # pkg:gem/activerecord#lib/arel/select_manager.rb:19 def limit; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:242 + # pkg:gem/activerecord#lib/arel/select_manager.rb:247 def limit=(limit); end # pkg:gem/activerecord#lib/arel/select_manager.rb:52 @@ -37770,7 +38510,7 @@ class Arel::SelectManager < ::Arel::TreeManager # pkg:gem/activerecord#lib/arel/select_manager.rb:65 def locked; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:216 + # pkg:gem/activerecord#lib/arel/select_manager.rb:221 def minus(other); end # pkg:gem/activerecord#lib/arel/select_manager.rb:28 @@ -37782,57 +38522,57 @@ class Arel::SelectManager < ::Arel::TreeManager # pkg:gem/activerecord#lib/arel/select_manager.rb:69 def on(*exprs); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:147 + # pkg:gem/activerecord#lib/arel/select_manager.rb:152 def optimizer_hints(*hints); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:172 + # pkg:gem/activerecord#lib/arel/select_manager.rb:177 def order(*expr); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:180 + # pkg:gem/activerecord#lib/arel/select_manager.rb:185 def orders; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:115 + # pkg:gem/activerecord#lib/arel/select_manager.rb:120 def outer_join(relation); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:130 + # pkg:gem/activerecord#lib/arel/select_manager.rb:135 def project(*projections); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:139 + # pkg:gem/activerecord#lib/arel/select_manager.rb:144 def projections; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:143 + # pkg:gem/activerecord#lib/arel/select_manager.rb:148 def projections=(projections); end # pkg:gem/activerecord#lib/arel/select_manager.rb:32 def skip(amount); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:248 + # pkg:gem/activerecord#lib/arel/select_manager.rb:253 def source; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:234 + # pkg:gem/activerecord#lib/arel/select_manager.rb:239 def take(limit); end # pkg:gem/activerecord#lib/arel/select_manager.rb:22 def taken; end - # pkg:gem/activerecord#lib/arel/select_manager.rb:198 + # pkg:gem/activerecord#lib/arel/select_manager.rb:203 def union(operation, other = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:184 + # pkg:gem/activerecord#lib/arel/select_manager.rb:189 def where(expr); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:192 + # pkg:gem/activerecord#lib/arel/select_manager.rb:197 def where_sql(engine = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:124 + # pkg:gem/activerecord#lib/arel/select_manager.rb:129 def window(name); end - # pkg:gem/activerecord#lib/arel/select_manager.rb:223 + # pkg:gem/activerecord#lib/arel/select_manager.rb:228 def with(*subqueries); end private - # pkg:gem/activerecord#lib/arel/select_manager.rb:262 + # pkg:gem/activerecord#lib/arel/select_manager.rb:267 def collapse(exprs); end # pkg:gem/activerecord#lib/arel/select_manager.rb:14 @@ -38011,178 +38751,178 @@ class Arel::Visitors::Dot < ::Arel::Visitors::Visitor private - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:263 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:260 def edge(name); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:281 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:278 def quote(string); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:285 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:282 def to_dot; end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:249 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:246 def visit(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:218 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:215 def visit_ActiveModel_Attribute(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:185 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:182 def visit_Arel_Attributes_Attribute(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:195 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:192 def visit_Arel_Nodes_And(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:44 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:43 def visit_Arel_Nodes_Binary(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:214 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:211 def visit_Arel_Nodes_BindParam(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:239 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:236 def visit_Arel_Nodes_Case(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:174 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:171 def visit_Arel_Nodes_Casted(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:235 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:232 def visit_Arel_Nodes_Comment(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:77 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:76 def visit_Arel_Nodes_Count(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:106 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:105 def visit_Arel_Nodes_CurrentRow(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:160 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:157 def visit_Arel_Nodes_DeleteStatement(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:107 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:106 def visit_Arel_Nodes_Distinct(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:109 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:108 def visit_Arel_Nodes_Extract(o); end # pkg:gem/activerecord#lib/arel/visitors/dot.rb:34 def visit_Arel_Nodes_Function(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:179 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:176 def visit_Arel_Nodes_HomogeneousIn(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:54 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:53 def visit_Arel_Nodes_InfixOperation(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:121 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:118 def visit_Arel_Nodes_InsertStatement(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:114 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:112 def visit_Arel_Nodes_NamedFunction(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:96 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:95 def visit_Arel_Nodes_NamedWindow(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:66 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:65 def visit_Arel_Nodes_NotRegexp(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:196 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:193 def visit_Arel_Nodes_Or(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:68 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:67 def visit_Arel_Nodes_Ordering(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:65 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:64 def visit_Arel_Nodes_Regexp(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:128 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:125 def visit_Arel_Nodes_SelectCore(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:140 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:137 def visit_Arel_Nodes_SelectStatement(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:212 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:209 def visit_Arel_Nodes_SqlLiteral(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:86 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:85 def visit_Arel_Nodes_StringJoin(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:72 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:71 def visit_Arel_Nodes_TableAlias(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:40 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:39 def visit_Arel_Nodes_Unary(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:49 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:48 def visit_Arel_Nodes_UnaryOperation(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:149 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:146 def visit_Arel_Nodes_UpdateStatement(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:82 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:81 def visit_Arel_Nodes_ValuesList(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:90 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:89 def visit_Arel_Nodes_Window(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:197 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:194 def visit_Arel_Nodes_With(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:170 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:167 def visit_Arel_Table(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:228 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:225 def visit_Array(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:209 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:206 def visit_BigDecimal(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:203 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:200 def visit_Date(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:204 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:201 def visit_DateTime(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:207 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:204 def visit_FalseClass(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:210 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:207 def visit_Float(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:222 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:219 def visit_Hash(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:208 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:205 def visit_Integer(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:205 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:202 def visit_NilClass(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:233 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:230 def visit_Set(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:199 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:196 def visit_String(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:211 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:208 def visit_Symbol(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:202 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:199 def visit_Time(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:206 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:203 def visit_TrueClass(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:190 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:187 def visit__children(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:103 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:102 def visit__no_edges(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:60 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:59 def visit__regexp(o); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:245 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:242 def visit_edge(o, method); end - # pkg:gem/activerecord#lib/arel/visitors/dot.rb:271 + # pkg:gem/activerecord#lib/arel/visitors/dot.rb:268 def with_node(node); end end @@ -38279,53 +39019,66 @@ end class Arel::Visitors::PostgreSQL < ::Arel::Visitors::ToSql private - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:84 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:139 def bind_block; end # Utilized by GroupingSet, Cube & RollUp visitors to # handle grouping aggregation semantics # - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:88 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:143 def grouping_array_or_grouping_element(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:49 + # In the simple case, PostgreSQL allows us to place FROM or JOINs directly into the UPDATE + # query. However, this does not allow for LIMIT, OFFSET and ORDER. To support + # these, we must use a subquery. + # + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:38 + def prepare_update_statement(o); end + + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:98 def visit_Arel_Nodes_Cube(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:39 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:88 def visit_Arel_Nodes_DistinctOn(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:18 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:67 def visit_Arel_Nodes_DoesNotMatch(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:44 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:93 def visit_Arel_Nodes_GroupingElement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:59 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:108 def visit_Arel_Nodes_GroupingSet(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:75 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:118 + def visit_Arel_Nodes_InnerJoin(o, collector); end + + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:130 def visit_Arel_Nodes_IsDistinctFrom(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:69 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:124 def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:64 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:113 def visit_Arel_Nodes_Lateral(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:7 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:56 def visit_Arel_Nodes_Matches(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:34 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:83 def visit_Arel_Nodes_NotRegexp(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:29 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:78 def visit_Arel_Nodes_Regexp(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:54 + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:103 def visit_Arel_Nodes_RollUp(o, collector); end + + # pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:7 + def visit_Arel_Nodes_UpdateStatement(o, collector); end end -# pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:81 +# pkg:gem/activerecord#lib/arel/visitors/postgresql.rb:136 Arel::Visitors::PostgreSQL::BIND_BLOCK = T.let(T.unsafe(nil), Proc) # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:5 @@ -38335,28 +39088,31 @@ class Arel::Visitors::SQLite < ::Arel::Visitors::ToSql # Queries used in UNION should not be wrapped by parentheses, # because it is an invalid syntax in SQLite. # - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:39 + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:86 def infix_value_with_paren(o, collector, value, suppress_parens = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:21 - def visit_Arel_Nodes_False(o, collector); end + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:35 + def prepare_update_statement(o); end - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:31 + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:78 def visit_Arel_Nodes_IsDistinctFrom(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:25 + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:72 def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end # Locks are not supported in SQLite # - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:8 + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:63 def visit_Arel_Nodes_Lock(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:12 + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:67 def visit_Arel_Nodes_SelectStatement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:17 - def visit_Arel_Nodes_True(o, collector); end + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:55 + def visit_Arel_Nodes_TableAlias(o, collector); end + + # pkg:gem/activerecord#lib/arel/visitors/sqlite.rb:7 + def visit_Arel_Nodes_UpdateStatement(o, collector); end end # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:11 @@ -38369,420 +39125,420 @@ class Arel::Visitors::ToSql < ::Arel::Visitors::Visitor private - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:998 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:986 def aggregate(name, o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:756 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:744 def bind_block; end # FIXME: we should probably have a 2-pass visitor for this # - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:945 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:933 def build_subselect(key, o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:1025 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:1007 def collect_ctes(children, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:181 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:175 def collect_nodes_for(nodes, collector, spacer, connector = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:889 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:877 def collect_optimizer_hints(o, collector); end # Used by some visitors to enclose select queries in parentheses # - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:983 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:971 def grouping_parentheses(o, collector, always_wrap_selects = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:919 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:907 def has_group_by_and_having?(o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:911 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:899 def has_join_sources?(o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:915 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:903 def has_limit_or_offset_or_orders?(o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:959 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:947 def infix_value(o, collector, value); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:965 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:953 def infix_value_with_paren(o, collector, value, suppress_parens = T.unsafe(nil)); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:899 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:887 def inject_join(list, collector, join_str); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:1012 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:994 def is_distinct_from(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:893 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:881 def maybe_visit(thing, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:942 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:930 def prepare_delete_statement(o); end # The default strategy for an UPDATE with joins is to use a subquery. This doesn't work # on MySQL (even when aliasing the tables), but MySQL allows using JOIN directly in # an UPDATE statement, so in the MySQL visitor we redefine this to do that. # - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:926 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:914 def prepare_update_statement(o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:869 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:857 def quote(value); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:879 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:867 def quote_column_name(name); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:874 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:862 def quote_table_name(name); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:994 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:982 def require_parentheses?(o); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:884 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:872 def sanitize_as_sql_comment(value); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:907 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:895 def unboundable?(value); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:830 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:818 def unsupported(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:758 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:746 def visit_ActiveModel_Attribute(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:834 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:822 def visit_ActiveSupport_Multibyte_Chars(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:835 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:823 def visit_ActiveSupport_StringInquirer(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:748 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:736 def visit_Arel_Attributes_Attribute(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:624 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:612 def visit_Arel_Nodes_And(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:695 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:683 def visit_Arel_Nodes_As(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:365 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:359 def visit_Arel_Nodes_Ascending(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:632 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:620 def visit_Arel_Nodes_Assignment(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:423 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:411 def visit_Arel_Nodes_Avg(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:433 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:421 def visit_Arel_Nodes_Between(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:188 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:182 def visit_Arel_Nodes_Bin(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:762 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:750 def visit_Arel_Nodes_BindParam(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:772 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:760 def visit_Arel_Nodes_BoundSqlLiteral(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:701 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:689 def visit_Arel_Nodes_Case(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:89 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:83 def visit_Arel_Nodes_Casted(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:177 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:171 def visit_Arel_Nodes_Comment(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:407 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:395 def visit_Arel_Nodes_Count(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:734 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:722 def visit_Arel_Nodes_Cte(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:298 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:292 def visit_Arel_Nodes_CurrentRow(o, collector); end # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:22 def visit_Arel_Nodes_DeleteStatement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:369 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:363 def visit_Arel_Nodes_Descending(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:192 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:186 def visit_Arel_Nodes_Distinct(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:196 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:190 def visit_Arel_Nodes_DistinctOn(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:499 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:487 def visit_Arel_Nodes_DoesNotMatch(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:725 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:713 def visit_Arel_Nodes_Else(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:645 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:633 def visit_Arel_Nodes_Equality(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:223 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:217 def visit_Arel_Nodes_Except(o, collector); end # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:78 def visit_Arel_Nodes_Exists(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:402 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:390 def visit_Arel_Nodes_Extract(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:98 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:92 def visit_Arel_Nodes_False(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:253 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:247 def visit_Arel_Nodes_Filter(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:288 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:282 def visit_Arel_Nodes_Following(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:865 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:853 def visit_Arel_Nodes_Fragments(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:534 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:522 def visit_Arel_Nodes_FullOuterJoin(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:451 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:439 def visit_Arel_Nodes_GreaterThan(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:439 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:427 def visit_Arel_Nodes_GreaterThanOrEqual(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:384 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:378 def visit_Arel_Nodes_Group(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:329 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:323 def visit_Arel_Nodes_Grouping(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:338 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:332 def visit_Arel_Nodes_HomogeneousIn(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:590 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:578 def visit_Arel_Nodes_In(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:849 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:837 def visit_Arel_Nodes_InfixOperation(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:555 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:543 def visit_Arel_Nodes_InnerJoin(o, collector); end # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:55 def visit_Arel_Nodes_InsertStatement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:218 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:212 def visit_Arel_Nodes_Intersect(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:670 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:658 def visit_Arel_Nodes_IsDistinctFrom(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:660 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:648 def visit_Arel_Nodes_IsNotDistinctFrom(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:511 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:499 def visit_Arel_Nodes_JoinSource(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:475 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:463 def visit_Arel_Nodes_LessThan(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:463 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:451 def visit_Arel_Nodes_LessThanOrEqual(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:320 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:314 def visit_Arel_Nodes_Limit(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:325 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:319 def visit_Arel_Nodes_Lock(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:487 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:475 def visit_Arel_Nodes_Matches(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:415 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:403 def visit_Arel_Nodes_Max(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:419 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:407 def visit_Arel_Nodes_Min(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:388 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:382 def visit_Arel_Nodes_NamedFunction(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:228 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:222 def visit_Arel_Nodes_NamedWindow(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:571 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:559 def visit_Arel_Nodes_Not(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:680 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:668 def visit_Arel_Nodes_NotEqual(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:607 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:595 def visit_Arel_Nodes_NotIn(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:526 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:514 def visit_Arel_Nodes_NotRegexp(o, collector); end # NullsFirst is available on all but MySQL, where it is redefined. # - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:374 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:368 def visit_Arel_Nodes_NullsFirst(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:379 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:373 def visit_Arel_Nodes_NullsLast(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:315 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:309 def visit_Arel_Nodes_Offset(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:566 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:554 def visit_Arel_Nodes_On(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:172 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:166 def visit_Arel_Nodes_OptimizerHints(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:628 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:616 def visit_Arel_Nodes_Or(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:541 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:529 def visit_Arel_Nodes_OuterJoin(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:302 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:296 def visit_Arel_Nodes_Over(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:278 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:272 def visit_Arel_Nodes_Preceding(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:92 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:86 def visit_Arel_Nodes_Quoted(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:269 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:263 def visit_Arel_Nodes_Range(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:522 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:510 def visit_Arel_Nodes_Regexp(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:548 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:536 def visit_Arel_Nodes_RightOuterJoin(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:260 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:254 def visit_Arel_Nodes_Rows(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:151 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:145 def visit_Arel_Nodes_SelectCore(o, collector); end # The Oracle enhanced adapter uses this private method, # see https://github.com/rsim/oracle-enhanced/issues/2186 # - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:145 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:139 def visit_Arel_Nodes_SelectOptions(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:122 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:116 def visit_Arel_Nodes_SelectStatement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:766 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:754 def visit_Arel_Nodes_SqlLiteral(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:530 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:518 def visit_Arel_Nodes_StringJoin(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:411 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:399 def visit_Arel_Nodes_Sum(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:427 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:415 def visit_Arel_Nodes_TableAlias(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:94 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:88 def visit_Arel_Nodes_True(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:855 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:843 def visit_Arel_Nodes_UnaryOperation(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:210 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:204 def visit_Arel_Nodes_Union(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:214 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:208 def visit_Arel_Nodes_UnionAll(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:730 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:718 def visit_Arel_Nodes_UnqualifiedColumn(o, collector); end # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:41 def visit_Arel_Nodes_UpdateStatement(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:102 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:96 def visit_Arel_Nodes_ValuesList(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:718 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:706 def visit_Arel_Nodes_When(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:234 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:228 def visit_Arel_Nodes_Window(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:200 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:194 def visit_Arel_Nodes_With(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:205 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:199 def visit_Arel_Nodes_WithRecursive(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:360 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:354 def visit_Arel_SelectManager(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:576 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:564 def visit_Arel_Table(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:860 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:848 def visit_Array(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:836 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:824 def visit_BigDecimal(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:837 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:825 def visit_Class(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:838 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:826 def visit_Date(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:839 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:827 def visit_DateTime(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:840 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:828 def visit_FalseClass(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:841 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:829 def visit_Float(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:842 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:830 def visit_Hash(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:826 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:814 def visit_Integer(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:843 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:831 def visit_NilClass(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:863 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:851 def visit_Set(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:844 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:832 def visit_String(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:845 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:833 def visit_Symbol(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:846 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:834 def visit_Time(o, collector); end - # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:847 + # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:835 def visit_TrueClass(o, collector); end end -# pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:753 +# pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:741 Arel::Visitors::ToSql::BIND_BLOCK = T.let(T.unsafe(nil), Proc) # pkg:gem/activerecord#lib/arel/visitors/to_sql.rb:5 diff --git a/sorbet/rbi/gems/activestorage@8.0.5.2.rbi b/sorbet/rbi/gems/activestorage@8.1.4.1.rbi similarity index 88% rename from sorbet/rbi/gems/activestorage@8.0.5.2.rbi rename to sorbet/rbi/gems/activestorage@8.1.4.1.rbi index 70405a8c..36ce91cb 100644 --- a/sorbet/rbi/gems/activestorage@8.0.5.2.rbi +++ b/sorbet/rbi/gems/activestorage@8.1.4.1.rbi @@ -10,6 +10,7 @@ class ActiveRecord::Base include ::ActiveModel::AttributeAssignment include ::ActiveModel::Access include ::ActiveModel::Serialization + extend ::ActiveRecord::SignedId::DeprecateSignedIdVerifierSecret end # :markup: markdown @@ -19,197 +20,203 @@ end module ActiveStorage extend ::ActiveSupport::Autoload - # pkg:gem/activestorage#lib/active_storage.rb:56 + # pkg:gem/activestorage#lib/active_storage.rb:59 def analyzers; end - # pkg:gem/activestorage#lib/active_storage.rb:56 + # pkg:gem/activestorage#lib/active_storage.rb:59 def analyzers=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:62 + # pkg:gem/activestorage#lib/active_storage.rb:65 def binary_content_type; end - # pkg:gem/activestorage#lib/active_storage.rb:62 + # pkg:gem/activestorage#lib/active_storage.rb:65 def binary_content_type=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:64 + # pkg:gem/activestorage#lib/active_storage.rb:67 def content_types_allowed_inline; end - # pkg:gem/activestorage#lib/active_storage.rb:64 + # pkg:gem/activestorage#lib/active_storage.rb:67 def content_types_allowed_inline=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:63 + # pkg:gem/activestorage#lib/active_storage.rb:66 def content_types_to_serve_as_binary; end - # pkg:gem/activestorage#lib/active_storage.rb:63 + # pkg:gem/activestorage#lib/active_storage.rb:66 def content_types_to_serve_as_binary=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:360 + # pkg:gem/activestorage#lib/active_storage.rb:366 def draw_routes; end - # pkg:gem/activestorage#lib/active_storage.rb:360 + # pkg:gem/activestorage#lib/active_storage.rb:366 def draw_routes=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:379 + # pkg:gem/activestorage#lib/active_storage.rb:385 def ffmpeg_allowed_formats; end - # pkg:gem/activestorage#lib/active_storage.rb:379 + # pkg:gem/activestorage#lib/active_storage.rb:385 def ffmpeg_allowed_formats=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:49 + # pkg:gem/activestorage#lib/active_storage.rb:50 def logger; end - # pkg:gem/activestorage#lib/active_storage.rb:49 + # pkg:gem/activestorage#lib/active_storage.rb:50 def logger=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:58 + # pkg:gem/activestorage#lib/active_storage.rb:61 def paths; end - # pkg:gem/activestorage#lib/active_storage.rb:58 + # pkg:gem/activestorage#lib/active_storage.rb:61 def paths=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:55 + # pkg:gem/activestorage#lib/active_storage.rb:58 def previewers; end - # pkg:gem/activestorage#lib/active_storage.rb:55 + # pkg:gem/activestorage#lib/active_storage.rb:58 def previewers=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:53 + # pkg:gem/activestorage#lib/active_storage.rb:56 def queues; end - # pkg:gem/activestorage#lib/active_storage.rb:53 + # pkg:gem/activestorage#lib/active_storage.rb:56 def queues=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:361 + # pkg:gem/activestorage#lib/active_storage.rb:367 def resolve_model_to_route; end - # pkg:gem/activestorage#lib/active_storage.rb:361 + # pkg:gem/activestorage#lib/active_storage.rb:367 def resolve_model_to_route=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:359 + # pkg:gem/activestorage#lib/active_storage.rb:365 def routes_prefix; end - # pkg:gem/activestorage#lib/active_storage.rb:359 + # pkg:gem/activestorage#lib/active_storage.rb:365 def routes_prefix=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:355 + # pkg:gem/activestorage#lib/active_storage.rb:358 def service_urls_expire_in; end - # pkg:gem/activestorage#lib/active_storage.rb:355 + # pkg:gem/activestorage#lib/active_storage.rb:358 def service_urls_expire_in=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:354 + # pkg:gem/activestorage#lib/active_storage.rb:357 def streaming_chunk_max_size; end - # pkg:gem/activestorage#lib/active_storage.rb:354 + # pkg:gem/activestorage#lib/active_storage.rb:357 def streaming_chunk_max_size=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:66 + # pkg:gem/activestorage#lib/active_storage.rb:69 def supported_image_processing_methods; end - # pkg:gem/activestorage#lib/active_storage.rb:66 + # pkg:gem/activestorage#lib/active_storage.rb:69 def supported_image_processing_methods=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:356 + # pkg:gem/activestorage#lib/active_storage.rb:359 def touch_attachment_records; end - # pkg:gem/activestorage#lib/active_storage.rb:356 + # pkg:gem/activestorage#lib/active_storage.rb:359 def touch_attachment_records=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:363 + # pkg:gem/activestorage#lib/active_storage.rb:369 def track_variants; end - # pkg:gem/activestorage#lib/active_storage.rb:363 + # pkg:gem/activestorage#lib/active_storage.rb:369 def track_variants=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:352 + # pkg:gem/activestorage#lib/active_storage.rb:355 def unsupported_image_processing_arguments; end - # pkg:gem/activestorage#lib/active_storage.rb:352 + # pkg:gem/activestorage#lib/active_storage.rb:355 def unsupported_image_processing_arguments=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:357 + # pkg:gem/activestorage#lib/active_storage.rb:360 def urls_expire_in; end - # pkg:gem/activestorage#lib/active_storage.rb:357 + # pkg:gem/activestorage#lib/active_storage.rb:360 def urls_expire_in=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:60 + # pkg:gem/activestorage#lib/active_storage.rb:63 def variable_content_types; end - # pkg:gem/activestorage#lib/active_storage.rb:60 + # pkg:gem/activestorage#lib/active_storage.rb:63 def variable_content_types=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:51 + # pkg:gem/activestorage#lib/active_storage.rb:52 def variant_processor; end - # pkg:gem/activestorage#lib/active_storage.rb:51 + # pkg:gem/activestorage#lib/active_storage.rb:52 def variant_processor=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:50 + # pkg:gem/activestorage#lib/active_storage.rb:54 + def variant_transformer; end + + # pkg:gem/activestorage#lib/active_storage.rb:54 + def variant_transformer=(val); end + + # pkg:gem/activestorage#lib/active_storage.rb:51 def verifier; end - # pkg:gem/activestorage#lib/active_storage.rb:50 + # pkg:gem/activestorage#lib/active_storage.rb:51 def verifier=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:377 + # pkg:gem/activestorage#lib/active_storage.rb:383 def video_preview_arguments; end - # pkg:gem/activestorage#lib/active_storage.rb:377 + # pkg:gem/activestorage#lib/active_storage.rb:383 def video_preview_arguments=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:61 + # pkg:gem/activestorage#lib/active_storage.rb:64 def web_image_content_types; end - # pkg:gem/activestorage#lib/active_storage.rb:61 + # pkg:gem/activestorage#lib/active_storage.rb:64 def web_image_content_types=(val); end class << self - # pkg:gem/activestorage#lib/active_storage.rb:56 + # pkg:gem/activestorage#lib/active_storage.rb:59 def analyzers; end - # pkg:gem/activestorage#lib/active_storage.rb:56 + # pkg:gem/activestorage#lib/active_storage.rb:59 def analyzers=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:62 + # pkg:gem/activestorage#lib/active_storage.rb:65 def binary_content_type; end - # pkg:gem/activestorage#lib/active_storage.rb:62 + # pkg:gem/activestorage#lib/active_storage.rb:65 def binary_content_type=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:365 + # pkg:gem/activestorage#lib/active_storage.rb:371 def checksum_implementation; end - # pkg:gem/activestorage#lib/active_storage.rb:365 + # pkg:gem/activestorage#lib/active_storage.rb:371 def checksum_implementation=(_arg0); end - # pkg:gem/activestorage#lib/active_storage.rb:64 + # pkg:gem/activestorage#lib/active_storage.rb:67 def content_types_allowed_inline; end - # pkg:gem/activestorage#lib/active_storage.rb:64 + # pkg:gem/activestorage#lib/active_storage.rb:67 def content_types_allowed_inline=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:63 + # pkg:gem/activestorage#lib/active_storage.rb:66 def content_types_to_serve_as_binary; end - # pkg:gem/activestorage#lib/active_storage.rb:63 + # pkg:gem/activestorage#lib/active_storage.rb:66 def content_types_to_serve_as_binary=(val); end # pkg:gem/activestorage#lib/active_storage/deprecator.rb:4 def deprecator; end - # pkg:gem/activestorage#lib/active_storage.rb:360 + # pkg:gem/activestorage#lib/active_storage.rb:366 def draw_routes; end - # pkg:gem/activestorage#lib/active_storage.rb:360 + # pkg:gem/activestorage#lib/active_storage.rb:366 def draw_routes=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:379 + # pkg:gem/activestorage#lib/active_storage.rb:385 def ffmpeg_allowed_formats; end - # pkg:gem/activestorage#lib/active_storage.rb:379 + # pkg:gem/activestorage#lib/active_storage.rb:385 def ffmpeg_allowed_formats=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:381 + # pkg:gem/activestorage#lib/active_storage.rb:387 def ffmpeg_format_whitelist_arguments; end # Returns the currently loaded version of Active Storage as a +Gem::Version+. @@ -217,37 +224,37 @@ module ActiveStorage # pkg:gem/activestorage#lib/active_storage/gem_version.rb:5 def gem_version; end - # pkg:gem/activestorage#lib/active_storage.rb:49 + # pkg:gem/activestorage#lib/active_storage.rb:50 def logger; end - # pkg:gem/activestorage#lib/active_storage.rb:49 + # pkg:gem/activestorage#lib/active_storage.rb:50 def logger=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:58 + # pkg:gem/activestorage#lib/active_storage.rb:61 def paths; end - # pkg:gem/activestorage#lib/active_storage.rb:58 + # pkg:gem/activestorage#lib/active_storage.rb:61 def paths=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:55 + # pkg:gem/activestorage#lib/active_storage.rb:58 def previewers; end - # pkg:gem/activestorage#lib/active_storage.rb:55 + # pkg:gem/activestorage#lib/active_storage.rb:58 def previewers=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:53 + # pkg:gem/activestorage#lib/active_storage.rb:56 def queues; end - # pkg:gem/activestorage#lib/active_storage.rb:53 + # pkg:gem/activestorage#lib/active_storage.rb:56 def queues=(val); end - # pkg:gem/activestorage#lib/active_storage/engine.rb:26 + # pkg:gem/activestorage#lib/active_storage/engine.rb:24 def railtie_helpers_paths; end - # pkg:gem/activestorage#lib/active_storage/engine.rb:26 + # pkg:gem/activestorage#lib/active_storage/engine.rb:24 def railtie_namespace; end - # pkg:gem/activestorage#lib/active_storage/engine.rb:26 + # pkg:gem/activestorage#lib/active_storage/engine.rb:24 def railtie_routes_url_helpers(include_path_helpers = T.unsafe(nil)); end # Raises when the installed mini_magick cannot apply the shipped ImageMagick security policy. @@ -256,88 +263,94 @@ module ActiveStorage # pkg:gem/activestorage#lib/active_storage/image_magick.rb:53 def require_securable_mini_magick!; end - # pkg:gem/activestorage#lib/active_storage.rb:361 + # pkg:gem/activestorage#lib/active_storage.rb:367 def resolve_model_to_route; end - # pkg:gem/activestorage#lib/active_storage.rb:361 + # pkg:gem/activestorage#lib/active_storage.rb:367 def resolve_model_to_route=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:359 + # pkg:gem/activestorage#lib/active_storage.rb:365 def routes_prefix; end - # pkg:gem/activestorage#lib/active_storage.rb:359 + # pkg:gem/activestorage#lib/active_storage.rb:365 def routes_prefix=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:355 + # pkg:gem/activestorage#lib/active_storage.rb:358 def service_urls_expire_in; end - # pkg:gem/activestorage#lib/active_storage.rb:355 + # pkg:gem/activestorage#lib/active_storage.rb:358 def service_urls_expire_in=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:354 + # pkg:gem/activestorage#lib/active_storage.rb:357 def streaming_chunk_max_size; end - # pkg:gem/activestorage#lib/active_storage.rb:354 + # pkg:gem/activestorage#lib/active_storage.rb:357 def streaming_chunk_max_size=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:374 + # pkg:gem/activestorage#lib/active_storage.rb:380 def streaming_max_ranges; end - # pkg:gem/activestorage#lib/active_storage.rb:374 + # pkg:gem/activestorage#lib/active_storage.rb:380 def streaming_max_ranges=(_arg0); end - # pkg:gem/activestorage#lib/active_storage.rb:66 + # pkg:gem/activestorage#lib/active_storage.rb:69 def supported_image_processing_methods; end - # pkg:gem/activestorage#lib/active_storage.rb:66 + # pkg:gem/activestorage#lib/active_storage.rb:69 def supported_image_processing_methods=(val); end - # pkg:gem/activestorage#lib/active_storage/engine.rb:26 + # pkg:gem/activestorage#lib/active_storage/engine.rb:24 def table_name_prefix; end - # pkg:gem/activestorage#lib/active_storage.rb:356 + # pkg:gem/activestorage#lib/active_storage.rb:359 def touch_attachment_records; end - # pkg:gem/activestorage#lib/active_storage.rb:356 + # pkg:gem/activestorage#lib/active_storage.rb:359 def touch_attachment_records=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:363 + # pkg:gem/activestorage#lib/active_storage.rb:369 def track_variants; end - # pkg:gem/activestorage#lib/active_storage.rb:363 + # pkg:gem/activestorage#lib/active_storage.rb:369 def track_variants=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:352 + # pkg:gem/activestorage#lib/active_storage.rb:355 def unsupported_image_processing_arguments; end - # pkg:gem/activestorage#lib/active_storage.rb:352 + # pkg:gem/activestorage#lib/active_storage.rb:355 def unsupported_image_processing_arguments=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:357 + # pkg:gem/activestorage#lib/active_storage.rb:360 def urls_expire_in; end - # pkg:gem/activestorage#lib/active_storage.rb:357 + # pkg:gem/activestorage#lib/active_storage.rb:360 def urls_expire_in=(val); end - # pkg:gem/activestorage#lib/active_storage/engine.rb:26 + # pkg:gem/activestorage#lib/active_storage/engine.rb:24 def use_relative_model_naming?; end - # pkg:gem/activestorage#lib/active_storage.rb:60 + # pkg:gem/activestorage#lib/active_storage.rb:63 def variable_content_types; end - # pkg:gem/activestorage#lib/active_storage.rb:60 + # pkg:gem/activestorage#lib/active_storage.rb:63 def variable_content_types=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:51 + # pkg:gem/activestorage#lib/active_storage.rb:52 def variant_processor; end - # pkg:gem/activestorage#lib/active_storage.rb:51 + # pkg:gem/activestorage#lib/active_storage.rb:52 def variant_processor=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:50 + # pkg:gem/activestorage#lib/active_storage.rb:54 + def variant_transformer; end + + # pkg:gem/activestorage#lib/active_storage.rb:54 + def variant_transformer=(val); end + + # pkg:gem/activestorage#lib/active_storage.rb:51 def verifier; end - # pkg:gem/activestorage#lib/active_storage.rb:50 + # pkg:gem/activestorage#lib/active_storage.rb:51 def verifier=(val); end # Returns the currently loaded version of Active Storage as a +Gem::Version+. @@ -345,16 +358,16 @@ module ActiveStorage # pkg:gem/activestorage#lib/active_storage/version.rb:7 def version; end - # pkg:gem/activestorage#lib/active_storage.rb:377 + # pkg:gem/activestorage#lib/active_storage.rb:383 def video_preview_arguments; end - # pkg:gem/activestorage#lib/active_storage.rb:377 + # pkg:gem/activestorage#lib/active_storage.rb:383 def video_preview_arguments=(val); end - # pkg:gem/activestorage#lib/active_storage.rb:61 + # pkg:gem/activestorage#lib/active_storage.rb:64 def web_image_content_types; end - # pkg:gem/activestorage#lib/active_storage.rb:61 + # pkg:gem/activestorage#lib/active_storage.rb:64 def web_image_content_types=(val); end end end @@ -485,11 +498,13 @@ end # # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer.rb:14 class ActiveStorage::Analyzer::ImageAnalyzer < ::ActiveStorage::Analyzer - # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer.rb:19 + extend ::ActiveSupport::Autoload + + # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer.rb:24 def metadata; end class << self - # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer.rb:15 + # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer.rb:20 def accept?(blob); end end end @@ -504,7 +519,7 @@ class ActiveStorage::Analyzer::ImageAnalyzer::ImageMagick < ::ActiveStorage::Ana # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/image_magick.rb:14 def read_image; end - # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/image_magick.rb:41 + # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/image_magick.rb:39 def rotated_image?(image); end class << self @@ -523,7 +538,7 @@ class ActiveStorage::Analyzer::ImageAnalyzer::Vips < ::ActiveStorage::Analyzer:: # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/vips.rb:14 def read_image; end - # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/vips.rb:43 + # pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/vips.rb:44 def rotated_image?(image); end class << self @@ -532,7 +547,7 @@ class ActiveStorage::Analyzer::ImageAnalyzer::Vips < ::ActiveStorage::Analyzer:: end end -# pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/vips.rb:42 +# pkg:gem/activestorage#lib/active_storage/analyzer/image_analyzer/vips.rb:43 ActiveStorage::Analyzer::ImageAnalyzer::Vips::ROTATIONS = T.let(T.unsafe(nil), Regexp) # pkg:gem/activestorage#lib/active_storage/analyzer/null_analyzer.rb:4 @@ -654,20 +669,20 @@ end # Abstract base class for the concrete ActiveStorage::Attached::One and ActiveStorage::Attached::Many # classes that both provide proxy access to the blob association for a record. # -# pkg:gem/activestorage#lib/active_storage/attached.rb:10 +# pkg:gem/activestorage#lib/active_storage/attached.rb:9 class ActiveStorage::Attached - # pkg:gem/activestorage#lib/active_storage/attached.rb:13 + # pkg:gem/activestorage#lib/active_storage/attached.rb:12 def initialize(name, record); end - # pkg:gem/activestorage#lib/active_storage/attached.rb:11 + # pkg:gem/activestorage#lib/active_storage/attached.rb:10 def name; end - # pkg:gem/activestorage#lib/active_storage/attached.rb:11 + # pkg:gem/activestorage#lib/active_storage/attached.rb:10 def record; end private - # pkg:gem/activestorage#lib/active_storage/attached.rb:18 + # pkg:gem/activestorage#lib/active_storage/attached.rb:17 def change; end end @@ -678,16 +693,16 @@ end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:4 class ActiveStorage::Attached::Changes::CreateMany - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:7 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:8 def initialize(name, record, attachables, pending_uploads: T.unsafe(nil)); end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:5 def attachables; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:14 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:15 def attachments; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:18 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:19 def blobs; end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:5 @@ -696,77 +711,83 @@ class ActiveStorage::Attached::Changes::CreateMany # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:5 def pending_uploads; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:5 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:6 def record; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:26 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:6 + def record=(_arg0); end + + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:27 def save; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:22 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:23 def upload; end private - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:44 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:45 def assign_associated_attachments; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:36 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:37 def build_subchange_from(attachable); end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:52 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:53 def persisted_or_new_attachments; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:48 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:49 def reset_associated_blobs; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:32 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:33 def subchanges; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:40 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_many.rb:41 def subchanges_without_blobs; end end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:7 class ActiveStorage::Attached::Changes::CreateOne - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:10 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:11 def initialize(name, record, attachable); end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:8 def attachable; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:15 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:16 def attachment; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:19 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:20 def blob; end # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:8 def name; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:8 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:9 def record; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:48 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:9 + def record=(_arg0); end + + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:49 def save; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:23 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:24 def upload; end private - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:120 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:121 def attachment_service_name; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:64 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:65 def build_attachment; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:58 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:59 def find_attachment; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:54 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:55 def find_or_build_attachment; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:68 + # pkg:gem/activestorage#lib/active_storage/attached/changes/create_one.rb:69 def find_or_build_blob; end end @@ -780,43 +801,49 @@ end # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:4 class ActiveStorage::Attached::Changes::DeleteMany - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:7 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:8 def initialize(name, record); end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:11 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:12 def attachables; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:15 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:16 def attachments; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:19 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:20 def blobs; end # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:5 def name; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:5 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:6 def record; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:23 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:6 + def record=(_arg0); end + + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_many.rb:24 def save; end end # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:4 class ActiveStorage::Attached::Changes::DeleteOne - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:7 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:8 def initialize(name, record); end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:11 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:12 def attachment; end # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:5 def name; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:5 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:6 def record; end - # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:15 + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:6 + def record=(_arg0); end + + # pkg:gem/activestorage#lib/active_storage/attached/changes/delete_one.rb:16 def save; end end @@ -919,6 +946,9 @@ end # # pkg:gem/activestorage#lib/active_storage/attached/many.rb:7 class ActiveStorage::Attached::Many < ::ActiveStorage::Attached + # pkg:gem/activestorage#lib/active_storage/attached/many.rb:70 + def as_json(options = T.unsafe(nil)); end + # Attaches one or more +attachables+ to the record. # # If the record is persisted and unchanged, the attachments are saved to @@ -970,10 +1000,10 @@ class ActiveStorage::Attached::Many < ::ActiveStorage::Attached private - # pkg:gem/activestorage#lib/active_storage/attached/many.rb:75 + # pkg:gem/activestorage#lib/active_storage/attached/many.rb:79 def detach_many; end - # pkg:gem/activestorage#lib/active_storage/attached/many.rb:71 + # pkg:gem/activestorage#lib/active_storage/attached/many.rb:75 def purge_many; end # pkg:gem/activestorage#lib/active_storage/attached/many.rb:27 @@ -990,18 +1020,24 @@ module ActiveStorage::Attached::Model mixes_in_class_methods ::ActiveStorage::Attached::Model::ClassMethods - # pkg:gem/activestorage#lib/active_storage/attached/model.rb:281 + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:283 def attachment_changes; end - # pkg:gem/activestorage#lib/active_storage/attached/model.rb:285 + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:281 + def attachment_changes=(_arg0); end + + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:301 + def becomes(klass); end + + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:287 def changed_for_autosave?; end - # pkg:gem/activestorage#lib/active_storage/attached/model.rb:295 + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:297 def reload(*); end private - # pkg:gem/activestorage#lib/active_storage/attached/model.rb:289 + # pkg:gem/activestorage#lib/active_storage/attached/model.rb:291 def initialize_dup(*); end class << self @@ -1030,6 +1066,12 @@ end # # pkg:gem/activestorage#lib/active_storage/attached/one.rb:7 class ActiveStorage::Attached::One < ::ActiveStorage::Attached + # Returns the attachment record's JSON representation, or +nil+ when no + # attachment is present. + # + # pkg:gem/activestorage#lib/active_storage/attached/one.rb:50 + def as_json(options = T.unsafe(nil)); end + # Attaches an +attachable+ to the record. # # If the record is persisted and unchanged, the attachment is saved to @@ -1041,7 +1083,7 @@ class ActiveStorage::Attached::One < ::ActiveStorage::Attached # person.avatar.attach(io: File.open("/path/to/face.jpg"), filename: "face.jpg", content_type: "image/jpeg") # person.avatar.attach(avatar_blob) # ActiveStorage::Blob object # - # pkg:gem/activestorage#lib/active_storage/attached/one.rb:58 + # pkg:gem/activestorage#lib/active_storage/attached/one.rb:64 def attach(attachable); end # Returns +true+ if an attachment has been made. @@ -1052,7 +1094,7 @@ class ActiveStorage::Attached::One < ::ActiveStorage::Attached # # User.new.avatar.attached? # => false # - # pkg:gem/activestorage#lib/active_storage/attached/one.rb:73 + # pkg:gem/activestorage#lib/active_storage/attached/one.rb:79 def attached?; end # Returns the associated attachment record. @@ -1088,10 +1130,10 @@ class ActiveStorage::Attached::One < ::ActiveStorage::Attached private - # pkg:gem/activestorage#lib/active_storage/attached/one.rb:82 + # pkg:gem/activestorage#lib/active_storage/attached/one.rb:88 def detach_one; end - # pkg:gem/activestorage#lib/active_storage/attached/one.rb:78 + # pkg:gem/activestorage#lib/active_storage/attached/one.rb:84 def purge_one; end # pkg:gem/activestorage#lib/active_storage/attached/one.rb:27 @@ -1102,6 +1144,12 @@ class ActiveStorage::Attachment < ::ActiveStorage::Record include ::ActiveStorage::Attachment::GeneratedAttributeMethods include ::ActiveStorage::Attachment::GeneratedAssociationMethods + def _run_commit_callbacks(&block); end + def _run_create_callbacks(&block); end + def _run_destroy_callbacks(&block); end + def _run_save_callbacks(&block); end + def _run_touch_callbacks(&block); end + def _run_update_callbacks(&block); end def autosave_associated_records_for_blob(*args); end def autosave_associated_records_for_record(*args); end def method_missing(method, *, **, &); end @@ -1119,7 +1167,7 @@ class ActiveStorage::Attachment < ::ActiveStorage::Record def dependent; end def mirror_blob_later; end def named_variants; end - def purge_dependent_blob_later; end + def purge_dependent_blob; end def respond_to_missing?(name, include_private = T.unsafe(nil)); end def transform_variants_later; end def transformations_by_name(transformations); end @@ -1172,6 +1220,8 @@ class ActiveStorage::BaseController < ::ActionController::Base def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_etag_with_template_digest; end def __class_attr_etag_with_template_digest=(new_value); end def __class_attr_middleware_stack; end @@ -1204,6 +1254,8 @@ class ActiveStorage::Blobs::ProxyController < ::ActiveStorage::BaseController def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_live_streaming_excluded_keys; end def __class_attr_live_streaming_excluded_keys=(new_value); end def __class_attr_middleware_stack; end @@ -1225,6 +1277,8 @@ class ActiveStorage::Blobs::RedirectController < ::ActiveStorage::BaseController def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -1254,6 +1308,8 @@ class ActiveStorage::DirectUploadsController < ::ActiveStorage::BaseController class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -1282,6 +1338,8 @@ class ActiveStorage::DiskController < ::ActiveStorage::BaseController def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -1310,7 +1368,7 @@ class ActiveStorage::Downloader def verify_integrity_of(file, checksum:); end end -# pkg:gem/activestorage#lib/active_storage/engine.rb:25 +# pkg:gem/activestorage#lib/active_storage/engine.rb:23 class ActiveStorage::Engine < ::Rails::Engine; end # Generic base class for all Active Storage exceptions. @@ -1343,6 +1401,7 @@ class ActiveStorage::Filename def extension_without_delimiter; end def sanitized; end def to_s; end + def to_str; end class << self def wrap(filename); end @@ -1861,6 +1920,8 @@ class ActiveStorage::Representations::BaseController < ::ActiveStorage::BaseCont def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -1887,6 +1948,8 @@ class ActiveStorage::Representations::ProxyController < ::ActiveStorage::Represe def __class_attr___callbacks; end def __class_attr___callbacks=(new_value); end + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_live_streaming_excluded_keys; end def __class_attr_live_streaming_excluded_keys=(new_value); end def __class_attr_middleware_stack; end @@ -1904,6 +1967,8 @@ class ActiveStorage::Representations::RedirectController < ::ActiveStorage::Repr class << self private + def __class_attr_config; end + def __class_attr_config=(new_value); end def __class_attr_middleware_stack; end def __class_attr_middleware_stack=(new_value); end end @@ -1918,7 +1983,6 @@ end # * +Disk+, to manage attachments saved directly on the hard drive. # * +GCS+, to manage attachments through Google Cloud Storage. # * +S3+, to manage attachments through Amazon S3. -# * +AzureStorage+, to manage attachments through Microsoft Azure Storage. # * +Mirror+, to be able to use several services to manage attachments. # # Inside a \Rails application, you can set-up your services through the @@ -1983,6 +2047,9 @@ class ActiveStorage::Service # pkg:gem/activestorage#lib/active_storage/service.rb:143 def headers_for_direct_upload(key, filename:, content_type:, content_length:, checksum:, custom_metadata: T.unsafe(nil)); end + # pkg:gem/activestorage#lib/active_storage/service.rb:151 + def inspect; end + # pkg:gem/activestorage#lib/active_storage/service.rb:46 def name; end @@ -2026,22 +2093,22 @@ class ActiveStorage::Service private - # pkg:gem/activestorage#lib/active_storage/service.rb:175 + # pkg:gem/activestorage#lib/active_storage/service.rb:179 def content_disposition_with(filename:, type: T.unsafe(nil)); end - # pkg:gem/activestorage#lib/active_storage/service.rb:160 + # pkg:gem/activestorage#lib/active_storage/service.rb:164 def custom_metadata_headers(metadata); end - # pkg:gem/activestorage#lib/active_storage/service.rb:164 + # pkg:gem/activestorage#lib/active_storage/service.rb:168 def instrument(operation, payload = T.unsafe(nil), &block); end - # pkg:gem/activestorage#lib/active_storage/service.rb:152 + # pkg:gem/activestorage#lib/active_storage/service.rb:156 def private_url(key, expires_in:, filename:, disposition:, content_type:, **); end - # pkg:gem/activestorage#lib/active_storage/service.rb:156 + # pkg:gem/activestorage#lib/active_storage/service.rb:160 def public_url(key, **); end - # pkg:gem/activestorage#lib/active_storage/service.rb:170 + # pkg:gem/activestorage#lib/active_storage/service.rb:174 def service_name; end class << self @@ -2075,12 +2142,15 @@ class ActiveStorage::Service::Configurator # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:5 def configurations; end + # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:22 + def inspect; end + private - # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:23 + # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:29 def config_for(name); end - # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:29 + # pkg:gem/activestorage#lib/active_storage/service/configurator.rb:35 def resolve(class_name); end class << self @@ -2097,15 +2167,18 @@ class ActiveStorage::Service::Registry # pkg:gem/activestorage#lib/active_storage/service/registry.rb:10 def fetch(name); end + # pkg:gem/activestorage#lib/active_storage/service/registry.rb:25 + def inspect; end + private - # pkg:gem/activestorage#lib/active_storage/service/registry.rb:26 + # pkg:gem/activestorage#lib/active_storage/service/registry.rb:32 def configurations; end - # pkg:gem/activestorage#lib/active_storage/service/registry.rb:28 + # pkg:gem/activestorage#lib/active_storage/service/registry.rb:34 def configurator; end - # pkg:gem/activestorage#lib/active_storage/service/registry.rb:26 + # pkg:gem/activestorage#lib/active_storage/service/registry.rb:32 def services; end end @@ -2150,6 +2223,46 @@ end ActiveStorage::Streaming::DEFAULT_BLOB_STREAMING_DISPOSITION = T.let(T.unsafe(nil), String) +# pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:6 +class ActiveStorage::StructuredEventSubscriber < ::ActiveSupport::StructuredEventSubscriber + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:29 + def preview(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:36 + def service_delete(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:43 + def service_delete_prefixed(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:15 + def service_download(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:50 + def service_exist(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:68 + def service_mirror(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:22 + def service_streaming_download(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:7 + def service_upload(event); end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:59 + def service_url(event); end + + class << self + private + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:57 + def __class_attr_debug_methods; end + + # pkg:gem/activestorage#lib/active_storage/structured_event_subscriber.rb:57 + def __class_attr_debug_methods=(new_value); end + end +end + class ActiveStorage::TransformJob < ::ActiveStorage::BaseJob def perform(blob, transformations); end @@ -2163,34 +2276,42 @@ class ActiveStorage::TransformJob < ::ActiveStorage::BaseJob end end -# pkg:gem/activestorage#lib/active_storage.rb:385 +# pkg:gem/activestorage#lib/active_storage.rb:391 module ActiveStorage::Transformers extend ::ActiveSupport::Autoload end -# pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:14 -class ActiveStorage::Transformers::ImageProcessingTransformer < ::ActiveStorage::Transformers::Transformer +# pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:7 +class ActiveStorage::Transformers::ImageMagick < ::ActiveStorage::Transformers::ImageProcessingTransformer private - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:32 - def operations; end - - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:19 - def process(file, format:); end - - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:28 + # pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:9 def processor; end - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:79 + # pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:43 def validate_arg_array(argument); end - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:93 + # pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:57 def validate_arg_hash(argument); end - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:71 + # pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:35 def validate_arg_string(argument); end - # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:51 + # pkg:gem/activestorage#lib/active_storage/transformers/image_magick.rb:13 + def validate_transformation(name, argument); end +end + +# pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:14 +class ActiveStorage::Transformers::ImageProcessingTransformer < ::ActiveStorage::Transformers::Transformer + private + + # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:28 + def operations; end + + # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:19 + def process(file, format:); end + + # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:38 def validate_transformation(name, argument); end end @@ -2200,6 +2321,14 @@ class ActiveStorage::Transformers::ImageProcessingTransformer::UnsupportedImageP # pkg:gem/activestorage#lib/active_storage/transformers/image_processing_transformer.rb:16 class ActiveStorage::Transformers::ImageProcessingTransformer::UnsupportedImageProcessingMethod < ::StandardError; end +# pkg:gem/activestorage#lib/active_storage/transformers/null_transformer.rb:5 +class ActiveStorage::Transformers::NullTransformer < ::ActiveStorage::Transformers::Transformer + private + + # pkg:gem/activestorage#lib/active_storage/transformers/null_transformer.rb:7 + def process(file, format:); end +end + # = Active Storage \Transformers \Transformer # # A Transformer applies a set of transformations to an image. @@ -2263,13 +2392,18 @@ ActiveStorage::VERSION::STRING = T.let(T.unsafe(nil), String) # pkg:gem/activestorage#lib/active_storage/gem_version.rb:12 ActiveStorage::VERSION::TINY = T.let(T.unsafe(nil), Integer) -# pkg:gem/activestorage#lib/active_storage/vips.rb:19 +# pkg:gem/activestorage#lib/active_storage/vips.rb:21 ActiveStorage::VIPS_AVAILABLE = T.let(T.unsafe(nil), FalseClass) class ActiveStorage::VariantRecord < ::ActiveStorage::Record include ::ActiveStorage::VariantRecord::GeneratedAttributeMethods include ::ActiveStorage::VariantRecord::GeneratedAssociationMethods + def _run_commit_callbacks(&block); end + def _run_create_callbacks(&block); end + def _run_destroy_callbacks(&block); end + def _run_save_callbacks(&block); end + def _run_update_callbacks(&block); end def autosave_associated_records_for_blob(*args); end def autosave_associated_records_for_image_attachment(*args); end def autosave_associated_records_for_image_blob(*args); end diff --git a/sorbet/rbi/gems/activesupport@8.0.5.2.rbi b/sorbet/rbi/gems/activesupport@8.1.4.1.rbi similarity index 89% rename from sorbet/rbi/gems/activesupport@8.0.5.2.rbi rename to sorbet/rbi/gems/activesupport@8.1.4.1.rbi index 9abb82e5..3d03290f 100644 --- a/sorbet/rbi/gems/activesupport@8.0.5.2.rbi +++ b/sorbet/rbi/gems/activesupport@8.1.4.1.rbi @@ -21,6 +21,7 @@ # bypassed completely. This means that as_json won't be invoked and the JSON gem will simply # ignore any options it does not natively understand. This also means that ::JSON.{generate,dump} # should give exactly the same results with or without Active Support. +# :markup: markdown # -- # Defines the standard inflection rules. These are the starting point for # new projects and are not considered complete. The current set of inflection @@ -33,41 +34,53 @@ module ActiveSupport extend ::ActiveSupport::LazyLoadHooks extend ::ActiveSupport::Autoload + # pkg:gem/activesupport#lib/active_support.rb:114 + def filter_parameters; end + + # pkg:gem/activesupport#lib/active_support.rb:114 + def filter_parameters=(val); end + + # pkg:gem/activesupport#lib/active_support.rb:106 + def parallelize_test_databases; end + + # pkg:gem/activesupport#lib/active_support.rb:106 + def parallelize_test_databases=(val); end + # pkg:gem/activesupport#lib/active_support/json/decoding.rb:9 def parse_json_times; end # pkg:gem/activesupport#lib/active_support/json/decoding.rb:9 def parse_json_times=(val); end - # pkg:gem/activesupport#lib/active_support.rb:100 + # pkg:gem/activesupport#lib/active_support.rb:104 def test_order; end - # pkg:gem/activesupport#lib/active_support.rb:100 + # pkg:gem/activesupport#lib/active_support.rb:104 def test_order=(val); end - # pkg:gem/activesupport#lib/active_support.rb:101 + # pkg:gem/activesupport#lib/active_support.rb:105 def test_parallelization_threshold; end - # pkg:gem/activesupport#lib/active_support.rb:101 + # pkg:gem/activesupport#lib/active_support.rb:105 def test_parallelization_threshold=(val); end class << self - # pkg:gem/activesupport#lib/active_support.rb:106 + # pkg:gem/activesupport#lib/active_support.rb:116 def cache_format_version; end - # pkg:gem/activesupport#lib/active_support.rb:110 + # pkg:gem/activesupport#lib/active_support.rb:120 def cache_format_version=(value); end # pkg:gem/activesupport#lib/active_support/deprecator.rb:4 def deprecator; end - # pkg:gem/activesupport#lib/active_support.rb:94 + # pkg:gem/activesupport#lib/active_support.rb:98 def eager_load!; end - # pkg:gem/activesupport#lib/active_support.rb:104 + # pkg:gem/activesupport#lib/active_support.rb:109 def error_reporter; end - # pkg:gem/activesupport#lib/active_support.rb:104 + # pkg:gem/activesupport#lib/active_support.rb:109 def error_reporter=(_arg0); end # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 @@ -76,6 +89,24 @@ module ActiveSupport # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 def escape_html_entities_in_json=(arg); end + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 + def escape_js_separators_in_json(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 + def escape_js_separators_in_json=(arg); end + + # pkg:gem/activesupport#lib/active_support.rb:112 + def event_reporter; end + + # pkg:gem/activesupport#lib/active_support.rb:112 + def event_reporter=(_arg0); end + + # pkg:gem/activesupport#lib/active_support.rb:114 + def filter_parameters; end + + # pkg:gem/activesupport#lib/active_support.rb:114 + def filter_parameters=(val); end + # Returns the currently loaded version of Active Support as a +Gem::Version+. # # pkg:gem/activesupport#lib/active_support/gem_version.rb:5 @@ -87,22 +118,28 @@ module ActiveSupport # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 def json_encoder=(arg); end + # pkg:gem/activesupport#lib/active_support.rb:106 + def parallelize_test_databases; end + + # pkg:gem/activesupport#lib/active_support.rb:106 + def parallelize_test_databases=(val); end + # pkg:gem/activesupport#lib/active_support/json/decoding.rb:9 def parse_json_times; end # pkg:gem/activesupport#lib/active_support/json/decoding.rb:9 def parse_json_times=(val); end - # pkg:gem/activesupport#lib/active_support.rb:100 + # pkg:gem/activesupport#lib/active_support.rb:104 def test_order; end - # pkg:gem/activesupport#lib/active_support.rb:100 + # pkg:gem/activesupport#lib/active_support.rb:104 def test_order=(val); end - # pkg:gem/activesupport#lib/active_support.rb:101 + # pkg:gem/activesupport#lib/active_support.rb:105 def test_parallelization_threshold; end - # pkg:gem/activesupport#lib/active_support.rb:101 + # pkg:gem/activesupport#lib/active_support.rb:105 def test_parallelization_threshold=(val); end # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 @@ -111,10 +148,10 @@ module ActiveSupport # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 def time_precision=(arg); end - # pkg:gem/activesupport#lib/active_support.rb:114 + # pkg:gem/activesupport#lib/active_support.rb:124 def to_time_preserves_timezone; end - # pkg:gem/activesupport#lib/active_support.rb:118 + # pkg:gem/activesupport#lib/active_support.rb:131 def to_time_preserves_timezone=(value); end # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 @@ -123,10 +160,10 @@ module ActiveSupport # pkg:gem/activesupport#lib/active_support/json/encoding.rb:8 def use_standard_json_time_format=(arg); end - # pkg:gem/activesupport#lib/active_support.rb:134 + # pkg:gem/activesupport#lib/active_support.rb:139 def utc_to_local_returns_utc_offset_times; end - # pkg:gem/activesupport#lib/active_support.rb:138 + # pkg:gem/activesupport#lib/active_support.rb:143 def utc_to_local_returns_utc_offset_times=(value); end # Returns the currently loaded version of Active Support as a +Gem::Version+. @@ -315,7 +352,7 @@ class ActiveSupport::BacktraceCleaner # root = "#{Rails.root}/" # backtrace_cleaner.add_filter { |line| line.delete_prefix(root) } # - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:83 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:154 def add_filter(&block); end # Adds a silencer from the block provided. If the silencer returns +true+ @@ -324,7 +361,7 @@ class ActiveSupport::BacktraceCleaner # # Will reject all lines that include the word "puma", like "/gems/puma/server.rb" or "/app/my_puma_server/rb" # backtrace_cleaner.add_silencer { |line| /puma/.match?(line) } # - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:92 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:163 def add_silencer(&block); end # Returns the backtrace after all filters and silencers have been run @@ -336,54 +373,82 @@ class ActiveSupport::BacktraceCleaner # Returns the frame with all filters applied. # returns +nil+ if the frame was silenced. # - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:61 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:73 def clean_frame(frame, kind = T.unsafe(nil)); end + # Given an array of Thread::Backtrace::Location objects, returns an array + # with the clean ones: + # + # clean_locations = backtrace_cleaner.clean_locations(caller_locations) + # + # Filters and silencers receive strings as usual. However, the +path+ + # attributes of the locations in the returned array are the original, + # unfiltered ones, since locations are immutable. + # + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:67 + def clean_locations(locations, kind = T.unsafe(nil)); end + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:57 def filter(backtrace, kind = T.unsafe(nil)); end + # Returns the first clean frame of the caller's backtrace, or +nil+. + # + # Frames are strings. + # + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:129 + def first_clean_frame(kind = T.unsafe(nil)); end + + # Returns the first clean location of the caller's call stack, or +nil+. + # + # Locations are Thread::Backtrace::Location objects. Since they are + # immutable, their +path+ attributes are the original ones, but filters + # are applied internally so silencers can still rely on them. + # + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:141 + def first_clean_location(kind = T.unsafe(nil)); end + # Removes all filters, but leaves in the silencers. Useful if you suddenly # need to see entire filepaths in the backtrace that you had already # filtered out. # - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:106 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:177 def remove_filters!; end # Removes all silencers, but leaves in the filters. Useful if your # context of debugging suddenly expands as you suspect a bug in one of # the libraries you use. # - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:99 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:170 def remove_silencers!; end private - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:127 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:198 def add_core_silencer; end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:118 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:189 def add_gem_filter; end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:131 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:202 def add_gem_silencer; end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:135 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:206 def add_stdlib_silencer; end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:139 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:210 def filter_backtrace(backtrace); end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:113 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:184 def initialize_copy(_other); end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:155 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:226 def noise(backtrace); end - # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:147 + # pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:218 def silence(backtrace); end end -# pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:111 +# pkg:gem/activesupport#lib/active_support/backtrace_cleaner.rb:182 ActiveSupport::BacktraceCleaner::FORMATTED_GEMS_PATTERN = T.let(T.unsafe(nil), Regexp) # pkg:gem/activesupport#lib/active_support/benchmark.rb:4 @@ -718,13 +783,13 @@ module ActiveSupport::Cache # # The +key+ argument can also respond to +cache_key+ or +to_param+. # - # pkg:gem/activesupport#lib/active_support/cache.rb:112 + # pkg:gem/activesupport#lib/active_support/cache.rb:113 def expand_cache_key(key, namespace = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache.rb:59 + # pkg:gem/activesupport#lib/active_support/cache.rb:60 def format_version; end - # pkg:gem/activesupport#lib/active_support/cache.rb:59 + # pkg:gem/activesupport#lib/active_support/cache.rb:60 def format_version=(_arg0); end # Creates a new Store object according to the given options. @@ -753,18 +818,18 @@ module ActiveSupport::Cache # ActiveSupport::Cache.lookup_store(MyOwnCacheStore.new) # # => returns MyOwnCacheStore.new # - # pkg:gem/activesupport#lib/active_support/cache.rb:86 + # pkg:gem/activesupport#lib/active_support/cache.rb:87 def lookup_store(store = T.unsafe(nil), *parameters); end private - # pkg:gem/activesupport#lib/active_support/cache.rb:124 + # pkg:gem/activesupport#lib/active_support/cache.rb:125 def retrieve_cache_key(key); end # Obtains the specified cache store class, given the name of the +store+. # Raises an error when the store class cannot be found. # - # pkg:gem/activesupport#lib/active_support/cache.rb:136 + # pkg:gem/activesupport#lib/active_support/cache.rb:137 def retrieve_store_class(store); end end end @@ -855,13 +920,13 @@ class ActiveSupport::Cache::Coder::StringDeserializer def load(payload); end end -# pkg:gem/activesupport#lib/active_support/cache.rb:46 +# pkg:gem/activesupport#lib/active_support/cache.rb:47 ActiveSupport::Cache::DEFAULT_COMPRESS_LIMIT = T.let(T.unsafe(nil), Integer) # Raised by coders when the cache entry can't be deserialized. # This error is treated as a cache miss. # -# pkg:gem/activesupport#lib/active_support/cache.rb:50 +# pkg:gem/activesupport#lib/active_support/cache.rb:51 class ActiveSupport::Cache::DeserializationError < ::StandardError; end # This class is used to represent cache entries. Cache entries have a value, an optional @@ -943,24 +1008,24 @@ end # # A cache store implementation which stores everything on the filesystem. # -# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:12 +# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:13 class ActiveSupport::Cache::FileStore < ::ActiveSupport::Cache::Store - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:20 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:21 def initialize(cache_path, **options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:13 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:14 def cache_path; end # Preemptively iterates through all stored keys and removes the ones which have expired. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:40 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:41 def cleanup(options = T.unsafe(nil)); end # Deletes all items from the cache. In this case it deletes all the entries in the specified # file store directory except for .keep or .gitkeep. Be careful which directory is specified in your # config file when using +FileStore+ because everything in that directory will be deleted. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:33 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:34 def clear(options = T.unsafe(nil)); end # Decrement a cached integer value. Returns the updated value. @@ -974,10 +1039,10 @@ class ActiveSupport::Cache::FileStore < ::ActiveSupport::Cache::Store # cache.write("baz", 5) # cache.decrement("baz") # => 4 # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:80 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:81 def decrement(name, amount = T.unsafe(nil), **options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:89 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:90 def delete_matched(matcher, options = T.unsafe(nil)); end # Increment a cached integer value. Returns the updated value. @@ -992,85 +1057,85 @@ class ActiveSupport::Cache::FileStore < ::ActiveSupport::Cache::Store # cache.write("baz", 5) # cache.increment("baz") # => 6 # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:60 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:61 def increment(name, amount = T.unsafe(nil), **options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:101 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:102 def inspect; end private # Delete empty directories in the cache. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:195 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:196 def delete_empty_directories(dir); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:131 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:132 def delete_entry(key, **options); end # Make sure a file path's directories exist. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:204 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:205 def ensure_cache_path(path); end # Translate a file path into a key. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:189 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:190 def file_path_key(path); end # Lock a file for a block so only one process can modify it at a time. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:148 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:149 def lock_file(file_name, &block); end # Modifies the amount of an integer value that is stored in the cache. # If the key is not found it is created and set to +amount+. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:222 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:223 def modify_value(name, amount, options); end # Translate a key into a file path. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:162 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:163 def normalize_key(key, options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:106 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:107 def read_entry(key, **options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:113 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:114 def read_serialized_entry(key, **); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:208 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:209 def search_dir(dir, &callback); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:120 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:121 def write_entry(key, entry, **options); end - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:124 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:125 def write_serialized_entry(key, payload, **options); end class << self # Advertise cache versioning support. # - # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:26 + # pkg:gem/activesupport#lib/active_support/cache/file_store.rb:27 def supports_cache_versioning?; end end end -# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:15 +# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:16 ActiveSupport::Cache::FileStore::DIR_FORMATTER = T.let(T.unsafe(nil), String) -# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:16 +# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:17 ActiveSupport::Cache::FileStore::FILENAME_MAX_SIZE = T.let(T.unsafe(nil), Integer) # max filename size on file system is 255, minus room for timestamp, pid, and random characters appended by Tempfile (used by atomic write) # -# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:17 +# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:18 ActiveSupport::Cache::FileStore::FILEPATH_MAX_SIZE = T.let(T.unsafe(nil), Integer) # max is 1024, plus some room # -# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:18 +# pkg:gem/activesupport#lib/active_support/cache/file_store.rb:19 ActiveSupport::Cache::FileStore::GITKEEP_FILES = T.let(T.unsafe(nil), Array) # = Memcached \Cache \Store @@ -1101,13 +1166,13 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # If no addresses are provided, but ENV['MEMCACHE_SERVERS'] is defined, it will be used instead. Otherwise, # +MemCacheStore+ will connect to localhost:11211 (the default memcached port). # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:77 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:76 def initialize(*addresses); end # Clear the entire cache on all memcached servers. This method should # be used with care when shared cache is being used. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:174 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:181 def clear(options = T.unsafe(nil)); end # Decrement a cached integer value using the memcached decr atomic operator. @@ -1126,7 +1191,12 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # Decrementing a non-numeric value, or a value written without # raw: true, will fail and return +nil+. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:161 + # To read the value later, call #read_counter: + # + # cache.decrement("baz") # => 3 + # cache.read_counter("baz") # 3 + # + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:168 def decrement(name, amount = T.unsafe(nil), **options); end # Increment a cached integer value using the memcached incr atomic operator. @@ -1145,7 +1215,12 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # Incrementing a non-numeric value, or a value written without # raw: true, will fail and return +nil+. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:135 + # To read the value later, call #read_counter: + # + # cache.increment("baz") # => 7 + # cache.read_counter("baz") # 7 + # + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:137 def increment(name, amount = T.unsafe(nil), **options); end # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:99 @@ -1153,14 +1228,14 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # Get the statistics from the memcached servers. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:179 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:186 def stats; end private # Delete an entry from the cache. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:239 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:246 def delete_entry(key, **); end # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:270 @@ -1170,34 +1245,34 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # before applying the regular expression to ensure we are escaping all # characters properly. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:254 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:261 def normalize_key(key, options); end # Read an entry from the cache. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:185 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:192 def read_entry(key, **options); end # Reads multiple entries from the cache implementation. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:215 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:222 def read_multi_entries(names, **options); end - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:189 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:196 def read_serialized_entry(key, raw: T.unsafe(nil), **options); end # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:278 def rescue_error_with(fallback); end - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:243 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:250 def serialize_entry(entry, raw: T.unsafe(nil), **options); end # Write an entry to the cache. # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:196 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:203 def write_entry(key, entry, **options); end - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:200 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:207 def write_serialized_entry(key, payload, **); end class << self @@ -1211,7 +1286,7 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store # ActiveSupport::Cache::MemCacheStore.build_mem_cache('localhost:10290') # # => # # - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:56 + # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:55 def build_mem_cache(*addresses); end # Advertise cache versioning support. @@ -1221,11 +1296,8 @@ class ActiveSupport::Cache::MemCacheStore < ::ActiveSupport::Cache::Store end end -# pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:45 -ActiveSupport::Cache::MemCacheStore::ESCAPE_KEY_CHARS = T.let(T.unsafe(nil), Regexp) - # pkg:gem/activesupport#lib/active_support/cache/mem_cache_store.rb:44 -ActiveSupport::Cache::MemCacheStore::KEY_MAX_SIZE = T.let(T.unsafe(nil), Integer) +ActiveSupport::Cache::MemCacheStore::ESCAPE_KEY_CHARS = T.let(T.unsafe(nil), Regexp) # These options represent behavior overridden by this implementation and should # not be allowed to get down to the Dalli client @@ -1257,17 +1329,19 @@ ActiveSupport::Cache::MemCacheStore::OVERRIDDEN_OPTIONS = T.let(T.unsafe(nil), A # # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:28 class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:73 + include ::ActiveSupport::Cache::Strategy::LocalCache + + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:75 def initialize(options = T.unsafe(nil)); end # Preemptively iterates through all stored keys and removes the ones which have expired. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:101 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:103 def cleanup(options = T.unsafe(nil)); end # Delete all data stored in a given cache store. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:93 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:95 def clear(options = T.unsafe(nil)); end # Decrement a cached integer value. Returns the updated value. @@ -1281,12 +1355,12 @@ class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store # cache.write("baz", 5) # cache.decrement("baz") # => 4 # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:166 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:168 def decrement(name, amount = T.unsafe(nil), **options); end # Deletes cache entries if the cache key matches a given pattern. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:173 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:175 def delete_matched(matcher, options = T.unsafe(nil)); end # Increment a cached integer value. Returns the updated value. @@ -1301,83 +1375,83 @@ class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store # cache.write("baz", 5) # cache.increment("baz") # => 6 # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:149 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:151 def increment(name, amount = T.unsafe(nil), **options); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:185 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:187 def inspect; end # To ensure entries fit within the specified memory prune the cache by removing the least # recently accessed entries. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:114 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:116 def prune(target_size, max_time = T.unsafe(nil)); end # Returns true if the cache is currently being pruned. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:133 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:135 def pruning?; end # Synchronize calls to the cache. This should be called wherever the underlying cache implementation # is not thread safe. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:191 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:193 def synchronize(&block); end private - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:198 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:200 def cached_size(key, payload); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:231 - def delete_entry(key, **options); end + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:233 + def delete_entry(key, **); end # Modifies the amount of an integer value that is stored in the cache. # If the key is not found it is created and set to +amount+. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:241 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:243 def modify_value(name, amount, **options); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:202 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:204 def read_entry(key, **options); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:214 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:216 def write_entry(key, entry, **options); end class << self # Advertise cache versioning support. # - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:88 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:90 def supports_cache_versioning?; end end end -# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:29 +# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:31 module ActiveSupport::Cache::MemoryStore::DupCoder extend ::ActiveSupport::Cache::MemoryStore::DupCoder - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:32 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:34 def dump(entry); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:40 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:42 def dump_compressed(entry, threshold); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:45 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:47 def load(entry); end private - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:56 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:58 def dump_value(value); end - # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:64 + # pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:66 def load_value(string); end end -# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:54 +# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:56 ActiveSupport::Cache::MemoryStore::DupCoder::MARSHAL_SIGNATURE = T.let(T.unsafe(nil), String) -# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:196 +# pkg:gem/activesupport#lib/active_support/cache/memory_store.rb:198 ActiveSupport::Cache::MemoryStore::PER_ENTRY_OVERHEAD = T.let(T.unsafe(nil), Integer) # = Null \Cache \Store @@ -1439,7 +1513,7 @@ end # Mapping of canonical option names to aliases that a store will recognize. # -# pkg:gem/activesupport#lib/active_support/cache.rb:42 +# pkg:gem/activesupport#lib/active_support/cache.rb:43 ActiveSupport::Cache::OPTION_ALIASES = T.let(T.unsafe(nil), Hash) # pkg:gem/activesupport#lib/active_support/cache/serializer_with_fallback.rb:8 @@ -1587,7 +1661,7 @@ ActiveSupport::Cache::SerializerWithFallback::SERIALIZERS = T.let(T.unsafe(nil), # cache.namespace = -> { @last_mod_time } # Set the namespace to a variable # @last_mod_time = Time.now # Invalidate the entire cache by changing namespace # -# pkg:gem/activesupport#lib/active_support/cache.rb:189 +# pkg:gem/activesupport#lib/active_support/cache.rb:190 class ActiveSupport::Cache::Store # Creates a new cache. # @@ -1661,7 +1735,7 @@ class ActiveSupport::Cache::Store # Any other specified options are treated as default options for the # relevant cache operations, such as #read, #write, and #fetch. # - # pkg:gem/activesupport#lib/active_support/cache.rb:296 + # pkg:gem/activesupport#lib/active_support/cache.rb:300 def initialize(options = T.unsafe(nil)); end # Cleans up the cache by removing expired entries. @@ -1670,7 +1744,7 @@ class ActiveSupport::Cache::Store # # Some implementations may not support this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:750 + # pkg:gem/activesupport#lib/active_support/cache.rb:785 def cleanup(options = T.unsafe(nil)); end # Clears the entire cache. Be careful with this method since it could @@ -1680,7 +1754,7 @@ class ActiveSupport::Cache::Store # # Some implementations may not support this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:760 + # pkg:gem/activesupport#lib/active_support/cache.rb:795 def clear(options = T.unsafe(nil)); end # Decrements an integer value in the cache. @@ -1689,7 +1763,7 @@ class ActiveSupport::Cache::Store # # Some implementations may not support this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:741 + # pkg:gem/activesupport#lib/active_support/cache.rb:750 def decrement(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # Deletes an entry in the cache. Returns +true+ if an entry is deleted @@ -1697,7 +1771,7 @@ class ActiveSupport::Cache::Store # # Options are passed to the underlying cache implementation. # - # pkg:gem/activesupport#lib/active_support/cache.rb:677 + # pkg:gem/activesupport#lib/active_support/cache.rb:686 def delete(name, options = T.unsafe(nil)); end # Deletes all entries with keys matching the pattern. @@ -1706,7 +1780,7 @@ class ActiveSupport::Cache::Store # # Some implementations may not support this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:723 + # pkg:gem/activesupport#lib/active_support/cache.rb:732 def delete_matched(matcher, options = T.unsafe(nil)); end # Deletes multiple entries in the cache. Returns the number of deleted @@ -1714,14 +1788,14 @@ class ActiveSupport::Cache::Store # # Options are passed to the underlying cache implementation. # - # pkg:gem/activesupport#lib/active_support/cache.rb:690 + # pkg:gem/activesupport#lib/active_support/cache.rb:699 def delete_multi(names, options = T.unsafe(nil)); end # Returns +true+ if the cache contains an entry for the given key. # # Options are passed to the underlying cache implementation. # - # pkg:gem/activesupport#lib/active_support/cache.rb:704 + # pkg:gem/activesupport#lib/active_support/cache.rb:713 def exist?(name, options = T.unsafe(nil)); end # Fetches data from the cache, using the given key. If there is data in @@ -1839,7 +1913,7 @@ class ActiveSupport::Cache::Store # token # end # - # pkg:gem/activesupport#lib/active_support/cache.rb:445 + # pkg:gem/activesupport#lib/active_support/cache.rb:452 def fetch(name, options = T.unsafe(nil), &block); end # Fetches data from the cache, using the given keys. If there is data in @@ -1872,7 +1946,7 @@ class ActiveSupport::Cache::Store # cache.read("fizz") # # => nil # - # pkg:gem/activesupport#lib/active_support/cache.rb:596 + # pkg:gem/activesupport#lib/active_support/cache.rb:603 def fetch_multi(*names); end # Increments an integer value in the cache. @@ -1881,30 +1955,41 @@ class ActiveSupport::Cache::Store # # Some implementations may not support this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:732 + # pkg:gem/activesupport#lib/active_support/cache.rb:741 def increment(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache.rb:190 + # pkg:gem/activesupport#lib/active_support/cache.rb:197 def logger; end - # pkg:gem/activesupport#lib/active_support/cache.rb:190 + # pkg:gem/activesupport#lib/active_support/cache.rb:197 def logger=(val); end # Silences the logger within a block. # - # pkg:gem/activesupport#lib/active_support/cache.rb:323 + # pkg:gem/activesupport#lib/active_support/cache.rb:330 def mute; end - # pkg:gem/activesupport#lib/active_support/cache.rb:714 + # Get the current namespace + # + # pkg:gem/activesupport#lib/active_support/cache.rb:800 + def namespace; end + + # Set the current namespace. Note, this will be ignored if custom + # options are passed to cache wills with a namespace key. + # + # pkg:gem/activesupport#lib/active_support/cache.rb:806 + def namespace=(namespace); end + + # pkg:gem/activesupport#lib/active_support/cache.rb:723 def new_entry(value, options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache.rb:193 + # pkg:gem/activesupport#lib/active_support/cache.rb:200 def options; end - # pkg:gem/activesupport#lib/active_support/cache.rb:191 + # pkg:gem/activesupport#lib/active_support/cache.rb:198 def raise_on_invalid_cache_expiration_time; end - # pkg:gem/activesupport#lib/active_support/cache.rb:191 + # pkg:gem/activesupport#lib/active_support/cache.rb:198 def raise_on_invalid_cache_expiration_time=(val); end # Reads data from the cache, using the given key. If there is data in @@ -1924,9 +2009,21 @@ class ActiveSupport::Cache::Store # # Other options will be handled by the specific cache store implementation. # - # pkg:gem/activesupport#lib/active_support/cache.rb:499 + # pkg:gem/activesupport#lib/active_support/cache.rb:506 def read(name, options = T.unsafe(nil)); end + # Reads a counter that was set by #increment / #decrement. + # + # cache.write_counter("foo", 1) + # cache.read_counter("foo") # => 1 + # cache.increment("foo") + # cache.read_counter("foo") # => 2 + # + # Options are passed to the underlying cache implementation. + # + # pkg:gem/activesupport#lib/active_support/cache.rb:762 + def read_counter(name, **options); end + # Reads multiple values at once from the cache. Options can be passed # in the last argument. # @@ -1934,18 +2031,18 @@ class ActiveSupport::Cache::Store # # Returns a hash mapping the names provided to the values found. # - # pkg:gem/activesupport#lib/active_support/cache.rb:537 + # pkg:gem/activesupport#lib/active_support/cache.rb:544 def read_multi(*names); end - # pkg:gem/activesupport#lib/active_support/cache.rb:193 + # pkg:gem/activesupport#lib/active_support/cache.rb:200 def silence; end # Silences the logger. # - # pkg:gem/activesupport#lib/active_support/cache.rb:317 + # pkg:gem/activesupport#lib/active_support/cache.rb:324 def silence!; end - # pkg:gem/activesupport#lib/active_support/cache.rb:194 + # pkg:gem/activesupport#lib/active_support/cache.rb:201 def silence?; end # Writes the value to the cache with the key. The value must be supported @@ -1983,62 +2080,79 @@ class ActiveSupport::Cache::Store # version, the read will be treated as a cache miss. This feature is # used to support recyclable cache keys. # + # * +:unless_exist+ - Prevents overwriting an existing cache entry. + # # Other options will be handled by the specific cache store implementation. # - # pkg:gem/activesupport#lib/active_support/cache.rb:663 + # pkg:gem/activesupport#lib/active_support/cache.rb:672 def write(name, value, options = T.unsafe(nil)); end + # Writes a counter that can then be modified by #increment / #decrement. + # + # cache.write_counter("foo", 1) + # cache.read_counter("foo") # => 1 + # cache.increment("foo") + # cache.read_counter("foo") # => 2 + # + # Options are passed to the underlying cache implementation. + # + # pkg:gem/activesupport#lib/active_support/cache.rb:775 + def write_counter(name, value, **options); end + # Cache Storage API to write multiple values at once. # - # pkg:gem/activesupport#lib/active_support/cache.rb:552 + # pkg:gem/activesupport#lib/active_support/cache.rb:559 def write_multi(hash, options = T.unsafe(nil)); end private - # pkg:gem/activesupport#lib/active_support/cache.rb:1011 + # pkg:gem/activesupport#lib/active_support/cache.rb:1074 def _instrument(operation, multi: T.unsafe(nil), options: T.unsafe(nil), **payload, &block); end - # pkg:gem/activesupport#lib/active_support/cache.rb:765 + # pkg:gem/activesupport#lib/active_support/cache.rb:811 def default_serializer; end # Deletes an entry from the cache implementation. Subclasses must # implement this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:851 + # pkg:gem/activesupport#lib/active_support/cache.rb:897 def delete_entry(key, **options); end # Deletes multiples entries in the cache implementation. Subclasses MAY # implement this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:857 + # pkg:gem/activesupport#lib/active_support/cache.rb:903 def delete_multi_entries(entries, **options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:816 + # pkg:gem/activesupport#lib/active_support/cache.rb:862 def deserialize_entry(payload, **); end + # pkg:gem/activesupport#lib/active_support/cache.rb:984 + def expand_and_namespace_key(key, options = T.unsafe(nil)); end + # Expands key to be a consistent string value. Invokes +cache_key+ if # object responds to +cache_key+. Otherwise, +to_param+ method will be # called. If the key is a Hash, then keys will be sorted alphabetically. # - # pkg:gem/activesupport#lib/active_support/cache.rb:974 + # pkg:gem/activesupport#lib/active_support/cache.rb:1037 def expanded_key(key); end - # pkg:gem/activesupport#lib/active_support/cache.rb:995 + # pkg:gem/activesupport#lib/active_support/cache.rb:1058 def expanded_version(key); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1048 + # pkg:gem/activesupport#lib/active_support/cache.rb:1111 def get_entry_value(entry, name, options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1032 + # pkg:gem/activesupport#lib/active_support/cache.rb:1095 def handle_expired_entry(entry, key, options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:891 + # pkg:gem/activesupport#lib/active_support/cache.rb:937 def handle_invalid_expires_in(message); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1003 + # pkg:gem/activesupport#lib/active_support/cache.rb:1066 def instrument(operation, key, options = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1007 + # pkg:gem/activesupport#lib/active_support/cache.rb:1070 def instrument_multi(operation, keys, options = T.unsafe(nil), &block); end # Adds the namespace defined in the options to a pattern designed to @@ -2046,12 +2160,12 @@ class ActiveSupport::Cache::Store # this method to translate a pattern that matches names into one that # matches namespaced keys. # - # pkg:gem/activesupport#lib/active_support/cache.rb:780 + # pkg:gem/activesupport#lib/active_support/cache.rb:826 def key_matcher(pattern, options); end # Merges the default options with ones specific to a method call. # - # pkg:gem/activesupport#lib/active_support/cache.rb:862 + # pkg:gem/activesupport#lib/active_support/cache.rb:908 def merged_options(call_options); end # Prefix the key with a namespace string: @@ -2064,78 +2178,91 @@ class ActiveSupport::Cache::Store # namespace_key 'foo', namespace: -> { 'cache' } # # => 'cache:foo' # - # pkg:gem/activesupport#lib/active_support/cache.rb:949 + # pkg:gem/activesupport#lib/active_support/cache.rb:1012 def namespace_key(key, call_options = T.unsafe(nil)); end - # Expands and namespaces the cache key. + # Expands, namespaces and truncates the cache key. # Raises an exception when the key is +nil+ or an empty string. # May be overridden by cache stores to do additional normalization. # - # pkg:gem/activesupport#lib/active_support/cache.rb:933 + # pkg:gem/activesupport#lib/active_support/cache.rb:979 def normalize_key(key, options = T.unsafe(nil)); end # Normalize aliased options to their canonical form # - # pkg:gem/activesupport#lib/active_support/cache.rb:902 + # pkg:gem/activesupport#lib/active_support/cache.rb:948 def normalize_options(options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:991 + # pkg:gem/activesupport#lib/active_support/cache.rb:1054 def normalize_version(key, options = T.unsafe(nil)); end # Reads an entry from the cache implementation. Subclasses must implement # this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:797 + # pkg:gem/activesupport#lib/active_support/cache.rb:843 def read_entry(key, **options); end # Reads multiple entries from the cache implementation. Subclasses MAY # implement this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:824 + # pkg:gem/activesupport#lib/active_support/cache.rb:870 def read_multi_entries(names, **options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1053 + # pkg:gem/activesupport#lib/active_support/cache.rb:1116 def save_block_result_to_cache(name, key, options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:807 + # pkg:gem/activesupport#lib/active_support/cache.rb:853 def serialize_entry(entry, **options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:913 + # pkg:gem/activesupport#lib/active_support/cache.rb:991 + def truncate_key(key); end + + # pkg:gem/activesupport#lib/active_support/cache.rb:959 def validate_options(options); end # Writes an entry to the cache implementation. Subclasses must implement # this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:803 + # pkg:gem/activesupport#lib/active_support/cache.rb:849 def write_entry(key, entry, **options); end # Writes multiple entries to the cache implementation. Subclasses MAY # implement this method. # - # pkg:gem/activesupport#lib/active_support/cache.rb:843 + # pkg:gem/activesupport#lib/active_support/cache.rb:889 def write_multi_entries(hash, **options); end class << self - # pkg:gem/activesupport#lib/active_support/cache.rb:190 + # pkg:gem/activesupport#lib/active_support/cache.rb:197 def logger; end - # pkg:gem/activesupport#lib/active_support/cache.rb:190 + # pkg:gem/activesupport#lib/active_support/cache.rb:197 def logger=(val); end - # pkg:gem/activesupport#lib/active_support/cache.rb:191 + # pkg:gem/activesupport#lib/active_support/cache.rb:198 def raise_on_invalid_cache_expiration_time; end - # pkg:gem/activesupport#lib/active_support/cache.rb:191 + # pkg:gem/activesupport#lib/active_support/cache.rb:198 def raise_on_invalid_cache_expiration_time=(val); end private - # pkg:gem/activesupport#lib/active_support/cache.rb:201 + # pkg:gem/activesupport#lib/active_support/cache.rb:205 def retrieve_pool_options(options); end end end -# pkg:gem/activesupport#lib/active_support/cache.rb:52 +# Default +ConnectionPool+ options +# +# pkg:gem/activesupport#lib/active_support/cache.rb:192 +ActiveSupport::Cache::Store::DEFAULT_POOL_OPTIONS = T.let(T.unsafe(nil), Hash) + +# Keys are truncated with the Active Support digest if they exceed the limit. +# +# pkg:gem/activesupport#lib/active_support/cache.rb:195 +ActiveSupport::Cache::Store::MAX_KEY_SIZE = T.let(T.unsafe(nil), Integer) + +# pkg:gem/activesupport#lib/active_support/cache.rb:53 module ActiveSupport::Cache::Strategy; end # = Local \Cache \Strategy @@ -2146,30 +2273,45 @@ module ActiveSupport::Cache::Strategy; end # # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:13 module ActiveSupport::Cache::Strategy::LocalCache - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:85 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:98 def cleanup(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:79 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:92 def clear(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:104 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:117 def decrement(name, amount = T.unsafe(nil), **options); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:91 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:104 def delete_matched(matcher, options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:111 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:124 def fetch_multi(*names, &block); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:97 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:110 def increment(name, amount = T.unsafe(nil), **options); end + # The current local cache. + # + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:82 + def local_cache; end + # Middleware class can be inserted as a Rack handler to be local cache for the # duration of request. # - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:73 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:88 def middleware; end + # Set a new local cache. + # + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:72 + def new_local_cache; end + + # Unset the current local cache. + # + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:77 + def unset_local_cache; end + # Use a local cache for the duration of block. # # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:67 @@ -2177,31 +2319,28 @@ module ActiveSupport::Cache::Strategy::LocalCache private - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:221 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:230 def bypass_local_cache(&block); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:198 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:211 def delete_entry(key, **); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:217 - def local_cache; end - - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:213 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:226 def local_cache_key; end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:160 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:173 def read_multi_entries(names, **options); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:146 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:159 def read_serialized_entry(key, raw: T.unsafe(nil), **options); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:225 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:234 def use_temporary_local_cache(temporary_cache); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:203 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:216 def write_cache_value(name, value, **options); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:189 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache.rb:202 def write_serialized_entry(key, payload, **); end end @@ -2253,19 +2392,22 @@ end # # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:13 class ActiveSupport::Cache::Strategy::LocalCache::Middleware - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:16 - def initialize(name, local_cache_key); end + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:17 + def initialize(name, cache); end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:27 - def call(env); end + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:15 + def cache; end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:14 - def local_cache_key; end + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:15 + def cache=(_arg0); end + + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:28 + def call(env); end # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:14 def name; end - # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:22 + # pkg:gem/activesupport#lib/active_support/cache/strategy/local_cache_middleware.rb:23 def new(app); end end @@ -2280,35 +2422,35 @@ ActiveSupport::Cache::UNIVERSAL_OPTIONS = T.let(T.unsafe(nil), Array) # ActiveSupport::Cache::Store#fetch, the second argument will be an # instance of +WriteOptions+. # -# pkg:gem/activesupport#lib/active_support/cache.rb:1069 +# pkg:gem/activesupport#lib/active_support/cache.rb:1132 class ActiveSupport::Cache::WriteOptions - # pkg:gem/activesupport#lib/active_support/cache.rb:1070 + # pkg:gem/activesupport#lib/active_support/cache.rb:1133 def initialize(options); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1094 + # pkg:gem/activesupport#lib/active_support/cache.rb:1157 def expires_at; end # Sets the Cache entry's +expires_at+ value. If an +expires_in+ option was # previously set, this will unset it since +expires_at+ and +expires_in+ # cannot both be set. # - # pkg:gem/activesupport#lib/active_support/cache.rb:1101 + # pkg:gem/activesupport#lib/active_support/cache.rb:1164 def expires_at=(expires_at); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1082 + # pkg:gem/activesupport#lib/active_support/cache.rb:1145 def expires_in; end # Sets the Cache entry's +expires_in+ value. If an +expires_at+ option was # previously set, this will unset it since +expires_in+ and +expires_at+ # cannot both be set. # - # pkg:gem/activesupport#lib/active_support/cache.rb:1089 + # pkg:gem/activesupport#lib/active_support/cache.rb:1152 def expires_in=(expires_in); end - # pkg:gem/activesupport#lib/active_support/cache.rb:1074 + # pkg:gem/activesupport#lib/active_support/cache.rb:1137 def version; end - # pkg:gem/activesupport#lib/active_support/cache.rb:1078 + # pkg:gem/activesupport#lib/active_support/cache.rb:1141 def version=(version); end end @@ -2383,7 +2525,7 @@ end # - save # saved # -# pkg:gem/activesupport#lib/active_support/callbacks.rb:64 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:65 module ActiveSupport::Callbacks extend ::ActiveSupport::Concern include GeneratedInstanceMethods @@ -2415,7 +2557,7 @@ module ActiveSupport::Callbacks # smoothly through and into the supplied block, we want as little evidence # as possible that we were here. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:96 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:97 def run_callbacks(kind, type = T.unsafe(nil)); end private @@ -2424,7 +2566,7 @@ module ActiveSupport::Callbacks # This can be overridden in ActiveSupport::Callbacks implementors in order # to provide better debugging/logging. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:149 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:150 def halted_callback_hook(filter, name); end module GeneratedClassMethods @@ -2437,13 +2579,13 @@ module ActiveSupport::Callbacks end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:72 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:73 ActiveSupport::Callbacks::CALLBACK_FILTER_TYPES = T.let(T.unsafe(nil), Array) # A future invocation of user-supplied code (either as a callback, # or a condition filter). # -# pkg:gem/activesupport#lib/active_support/callbacks.rb:336 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:337 module ActiveSupport::Callbacks::CallTemplate class << self # Filters support: @@ -2455,59 +2597,59 @@ module ActiveSupport::Callbacks::CallTemplate # All of these objects are converted into a CallTemplate and handled # the same after this point. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:494 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:495 def build(filter, callback); end end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:395 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:396 class ActiveSupport::Callbacks::CallTemplate::InstanceExec0 - # pkg:gem/activesupport#lib/active_support/callbacks.rb:396 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:397 def initialize(block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:400 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:401 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:410 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:411 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:404 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:405 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:417 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:418 class ActiveSupport::Callbacks::CallTemplate::InstanceExec1 - # pkg:gem/activesupport#lib/active_support/callbacks.rb:418 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:419 def initialize(block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:422 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:423 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:432 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:433 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:426 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:427 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:439 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:440 class ActiveSupport::Callbacks::CallTemplate::InstanceExec2 - # pkg:gem/activesupport#lib/active_support/callbacks.rb:440 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:441 def initialize(block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:444 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:445 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:456 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:457 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:449 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:450 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:337 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:338 class ActiveSupport::Callbacks::CallTemplate::MethodCall - # pkg:gem/activesupport#lib/active_support/callbacks.rb:338 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:339 def initialize(method); end # Return the parts needed to make this call, with the given @@ -2524,212 +2666,218 @@ class ActiveSupport::Callbacks::CallTemplate::MethodCall # The actual invocation is left up to the caller to minimize # call stack pollution. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:355 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:356 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:365 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:366 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:359 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:360 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:372 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:373 class ActiveSupport::Callbacks::CallTemplate::ObjectCall - # pkg:gem/activesupport#lib/active_support/callbacks.rb:373 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:374 def initialize(target, method); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:378 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:379 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:388 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:389 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:382 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:383 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:464 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:465 class ActiveSupport::Callbacks::CallTemplate::ProcCall - # pkg:gem/activesupport#lib/active_support/callbacks.rb:465 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:466 def initialize(target); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:469 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:470 def expand(target, value, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:479 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:480 def inverted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:473 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:474 def make_lambda; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:230 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:231 class ActiveSupport::Callbacks::Callback - # pkg:gem/activesupport#lib/active_support/callbacks.rb:245 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:246 def initialize(name, filter, kind, options, chain_config); end # Wraps code with filter # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:299 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:300 def apply(callback_sequence); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:244 def chain_config; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:281 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:282 def compiled; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:303 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:304 def current_scopes; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:272 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:273 def duplicates?(other); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:244 def filter; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:242 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 def kind; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:242 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 def kind=(_arg0); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:268 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:269 def matches?(_kind, _filter); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:256 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:257 def merge_conditional_options(chain, if_option:, unless_option:); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:242 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 def name; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:242 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:243 def name=(_arg0); end private - # pkg:gem/activesupport#lib/active_support/callbacks.rb:311 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:312 def check_conditionals(conditionals); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:326 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:327 def conditions_lambdas; end class << self - # pkg:gem/activesupport#lib/active_support/callbacks.rb:231 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:232 def build(chain, filter, kind, options); end end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:308 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:309 ActiveSupport::Callbacks::Callback::EMPTY_ARRAY = T.let(T.unsafe(nil), Array) -# pkg:gem/activesupport#lib/active_support/callbacks.rb:567 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:568 class ActiveSupport::Callbacks::CallbackChain include ::Enumerable - # pkg:gem/activesupport#lib/active_support/callbacks.rb:572 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:573 def initialize(name, config); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:632 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:633 def append(*callbacks); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:600 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:601 def clear; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:614 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:615 def compile(type); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:570 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:571 def config; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:594 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:595 def delete(o); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:584 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:585 def each(&block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:586 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:587 def empty?; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:585 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:586 def index(o); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:588 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:589 def insert(index, o); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:570 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:571 def name; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:636 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:637 def prepend(*callbacks); end protected - # pkg:gem/activesupport#lib/active_support/callbacks.rb:641 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:642 def chain; end private - # pkg:gem/activesupport#lib/active_support/callbacks.rb:644 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:645 def append_one(callback); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:664 - def default_terminator; end - - # pkg:gem/activesupport#lib/active_support/callbacks.rb:607 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:608 def initialize_copy(other); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:651 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:652 def prepend_one(callback); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:658 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:659 def remove_duplicates(callback); end end +# pkg:gem/activesupport#lib/active_support/callbacks.rb:675 +ActiveSupport::Callbacks::CallbackChain::DEFAULT_TERMINATOR = T.let(T.unsafe(nil), ActiveSupport::Callbacks::CallbackChain::DefaultTerminator) + +# pkg:gem/activesupport#lib/active_support/callbacks.rb:665 +class ActiveSupport::Callbacks::CallbackChain::DefaultTerminator + # pkg:gem/activesupport#lib/active_support/callbacks.rb:666 + def call(target, result_lambda); end +end + # Execute before and after filters in a sequence instead of # chaining them with nested lambda calls, see: # https://github.com/rails/rails/issues/18011 # -# pkg:gem/activesupport#lib/active_support/callbacks.rb:518 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:519 class ActiveSupport::Callbacks::CallbackSequence - # pkg:gem/activesupport#lib/active_support/callbacks.rb:519 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:520 def initialize(nested = T.unsafe(nil), call_template = T.unsafe(nil), user_conditions = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:534 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:535 def after(after); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:540 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:541 def around(call_template, user_conditions); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:528 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:529 def before(before); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:554 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:555 def expand_call_template(arg, block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:550 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:551 def final?; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:562 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:563 def invoke_after(arg); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:558 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:559 def invoke_before(arg); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:548 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:549 def nested; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:544 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:545 def skip?(arg); end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:676 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:678 module ActiveSupport::Callbacks::ClassMethods # This is used internally to append, prepend and skip callbacks to the # CallbackChain. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:686 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:688 def __update_callbacks(name); end # Define sets of events in the object life cycle that support callbacks. @@ -2811,15 +2959,15 @@ module ActiveSupport::Callbacks::ClassMethods # Calling +define_callbacks+ multiple times with the same +names+ will # overwrite previous callbacks registered with #set_callback. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:901 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:903 def define_callbacks(*names); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:677 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:679 def normalize_callback_params(filters, block); end # Remove all set callbacks for the given event. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:811 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:813 def reset_callbacks(name); end # Install a callback for the given event. @@ -2867,7 +3015,7 @@ module ActiveSupport::Callbacks::ClassMethods # * :prepend - If +true+, the callback will be prepended to the # existing chain rather than appended. # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:737 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:739 def set_callback(name, *filter_list, &block); end # Skip a previously set callback. Like #set_callback, :if or @@ -2906,124 +3054,124 @@ module ActiveSupport::Callbacks::ClassMethods # An ArgumentError will be raised if the callback has not # already been set (unless the :raise option is set to false). # - # pkg:gem/activesupport#lib/active_support/callbacks.rb:786 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:788 def skip_callback(name, *filter_list, &block); end protected - # pkg:gem/activesupport#lib/active_support/callbacks.rb:932 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:939 def get_callbacks(name); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:936 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:943 def set_callbacks(name, callbacks); end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:152 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:153 module ActiveSupport::Callbacks::Conditionals; end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:153 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:154 class ActiveSupport::Callbacks::Conditionals::Value - # pkg:gem/activesupport#lib/active_support/callbacks.rb:154 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:155 def initialize(&block); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:157 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:158 def call(target, value); end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:161 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:162 module ActiveSupport::Callbacks::Filters; end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:193 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:194 class ActiveSupport::Callbacks::Filters::After - # pkg:gem/activesupport#lib/active_support/callbacks.rb:195 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:196 def initialize(user_callback, user_conditions, chain_config); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:213 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:214 def apply(callback_sequence); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:201 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:202 def call(env); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:194 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:195 def halting; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:194 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:195 def user_callback; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:194 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:195 def user_conditions; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:218 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:219 class ActiveSupport::Callbacks::Filters::Around - # pkg:gem/activesupport#lib/active_support/callbacks.rb:219 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:220 def initialize(user_callback, user_conditions); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:224 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:225 def apply(callback_sequence); end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:164 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:165 class ActiveSupport::Callbacks::Filters::Before - # pkg:gem/activesupport#lib/active_support/callbacks.rb:165 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:166 def initialize(user_callback, user_conditions, chain_config, filter, name); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:188 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:189 def apply(callback_sequence); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:172 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:173 def call(env); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:170 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:171 def filter; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:170 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:171 def halted_lambda; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:170 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:171 def name; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:170 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:171 def user_callback; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:170 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:171 def user_conditions; end end -# pkg:gem/activesupport#lib/active_support/callbacks.rb:162 +# pkg:gem/activesupport#lib/active_support/callbacks.rb:163 class ActiveSupport::Callbacks::Filters::Environment < ::Struct - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def halted; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def halted=(_); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def target; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def target=(_); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def value; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def value=(_); end class << self - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def [](*_arg0); end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def inspect; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def keyword_init?; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def members; end - # pkg:gem/activesupport#lib/active_support/callbacks.rb:162 + # pkg:gem/activesupport#lib/active_support/callbacks.rb:163 def new(*_arg0); end end end @@ -3103,7 +3251,7 @@ module ActiveSupport::CompareWithRange # # The given range must be fully bounded, with both start and end. # - # pkg:gem/activesupport#lib/active_support/core_ext/range/compare_range.rb:41 + # pkg:gem/activesupport#lib/active_support/core_ext/range/compare_range.rb:35 def include?(value); end end @@ -3286,27 +3434,8 @@ module ActiveSupport::Concurrency; end # A monitor that will permit dependency loading while blocked waiting for # the lock. # -# pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:32 -class ActiveSupport::Concurrency::LoadInterlockAwareMonitor < ::Monitor - include ::ActiveSupport::Concurrency::LoadInterlockAwareMonitorMixin -end - -# pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:7 -module ActiveSupport::Concurrency::LoadInterlockAwareMonitorMixin - # Enters an exclusive section, but allows dependency loading while blocked - # - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:13 - def mon_enter; end - - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:18 - def synchronize(&block); end -end - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:9 -ActiveSupport::Concurrency::LoadInterlockAwareMonitorMixin::EXCEPTION_IMMEDIATE = T.let(T.unsafe(nil), Hash) - -# pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:8 -ActiveSupport::Concurrency::LoadInterlockAwareMonitorMixin::EXCEPTION_NEVER = T.let(T.unsafe(nil), Hash) +ActiveSupport::Concurrency::LoadInterlockAwareMonitor = Monitor # pkg:gem/activesupport#lib/active_support/concurrency/null_lock.rb:5 module ActiveSupport::Concurrency::NullLock @@ -3403,31 +3532,38 @@ class ActiveSupport::Concurrency::ShareLock def wait_for(method, &block); end end -# pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:36 -class ActiveSupport::Concurrency::ThreadLoadInterlockAwareMonitor - include ::ActiveSupport::Concurrency::LoadInterlockAwareMonitorMixin - - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:39 +# pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:5 +class ActiveSupport::Concurrency::ThreadMonitor + # pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:10 def initialize; end - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:54 - def mon_enter; end + # pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:16 + def synchronize(&block); end private - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:60 + # pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:37 + def mon_enter; end + + # pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:43 def mon_exit; end - # pkg:gem/activesupport#lib/active_support/concurrency/load_interlock_aware_monitor.rb:46 + # pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:29 def mon_try_enter; end end +# pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:7 +ActiveSupport::Concurrency::ThreadMonitor::EXCEPTION_IMMEDIATE = T.let(T.unsafe(nil), Hash) + +# pkg:gem/activesupport#lib/active_support/concurrency/thread_monitor.rb:6 +ActiveSupport::Concurrency::ThreadMonitor::EXCEPTION_NEVER = T.let(T.unsafe(nil), Hash) + # = Active Support \Configurable # # Configurable provides a config method to store and retrieve # configuration options as an OrderedOptions. # -# pkg:gem/activesupport#lib/active_support/configurable.rb:11 +# pkg:gem/activesupport#lib/active_support/configurable.rb:17 module ActiveSupport::Configurable extend ::ActiveSupport::Concern @@ -3449,16 +3585,46 @@ module ActiveSupport::Configurable # user.config.allowed_access # => true # user.config.level # => 1 # - # pkg:gem/activesupport#lib/active_support/configurable.rb:155 + # pkg:gem/activesupport#lib/active_support/configurable.rb:189 def config; end end -# pkg:gem/activesupport#lib/active_support/configurable.rb:29 +# pkg:gem/activesupport#lib/active_support/configurable.rb:35 module ActiveSupport::Configurable::ClassMethods - # pkg:gem/activesupport#lib/active_support/configurable.rb:30 + # Reads and writes attributes from a configuration OrderedOptions. + # + # require "active_support/configurable" + # + # class User + # include ActiveSupport::Configurable + # end + # + # User.config.allowed_access = true + # User.config.level = 1 + # + # User.config.allowed_access # => true + # User.config.level # => 1 + # + # pkg:gem/activesupport#lib/active_support/configurable.rb:49 def config; end - # pkg:gem/activesupport#lib/active_support/configurable.rb:39 + # Configure values from within the passed block. + # + # require "active_support/configurable" + # + # class User + # include ActiveSupport::Configurable + # end + # + # User.config.allowed_access # => nil + # + # User.configure do |config| + # config.allowed_access = true + # end + # + # User.config.allowed_access # => true + # + # pkg:gem/activesupport#lib/active_support/configurable.rb:73 def configure; end private @@ -3532,22 +3698,22 @@ module ActiveSupport::Configurable::ClassMethods # User.allowed_access # => false # User.hair_colors # => [:brown, :black, :blonde, :red] # - # pkg:gem/activesupport#lib/active_support/configurable.rb:111 + # pkg:gem/activesupport#lib/active_support/configurable.rb:145 def config_accessor(*names, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/configurable.rb:132 + # pkg:gem/activesupport#lib/active_support/configurable.rb:166 def inherited(subclass); end end -# pkg:gem/activesupport#lib/active_support/configurable.rb:14 +# pkg:gem/activesupport#lib/active_support/configurable.rb:20 class ActiveSupport::Configurable::Configuration < ::ActiveSupport::InheritableOptions - # pkg:gem/activesupport#lib/active_support/configurable.rb:15 + # pkg:gem/activesupport#lib/active_support/configurable.rb:21 def compile_methods!; end class << self # Compiles reader methods so we don't have to go through method_missing. # - # pkg:gem/activesupport#lib/active_support/configurable.rb:20 + # pkg:gem/activesupport#lib/active_support/configurable.rb:26 def compile_methods!(keys); end end end @@ -3583,6 +3749,121 @@ end # pkg:gem/activesupport#lib/active_support/configuration_file.rb:10 class ActiveSupport::ConfigurationFile::FormatError < ::StandardError; end +# Provides a DSL for declaring a continuous integration workflow that can be run either locally or in the cloud. +# Each step is timed, reports success/error, and is aggregated into a collective report that reports total runtime, +# as well as whether the entire run was successful or not. +# +# Example: +# +# ActiveSupport::ContinuousIntegration.run do +# step "Setup", "bin/setup --skip-server" +# step "Style: Ruby", "bin/rubocop" +# step "Security: Gem audit", "bin/bundler-audit" +# step "Tests: Rails", "bin/rails test test:system" +# +# if success? +# step "Signoff: Ready for merge and deploy", "gh signoff" +# else +# failure "Skipping signoff; CI failed.", "Fix the issues and try again." +# end +# end +# +# Starting with Rails 8.1, a default `bin/ci` and `config/ci.rb` file are created to provide out-of-the-box CI. +# +# pkg:gem/activesupport#lib/active_support/continuous_integration.rb:24 +class ActiveSupport::ContinuousIntegration + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:64 + def initialize; end + + # Echo text to the terminal in the color corresponding to the type of the text. + # + # Examples: + # + # echo "This is going to be green!", type: :success + # echo "This is going to be red!", type: :error + # + # See ActiveSupport::ContinuousIntegration::COLORS for a complete list of options. + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:111 + def echo(text, type:); end + + # Display an error heading with the title and optional subtitle to reflect that the run failed. + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:86 + def failure(title, subtitle = T.unsafe(nil)); end + + # Display a colorized heading followed by an optional subtitle. + # + # Examples: + # + # heading "Smoke Testing", "End-to-end tests verifying key functionality", padding: false + # heading "Skipping video encoding tests", "Install FFmpeg to run these tests", type: :error + # + # See ActiveSupport::ContinuousIntegration::COLORS for a complete list of options. + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:98 + def heading(heading, subtitle = T.unsafe(nil), type: T.unsafe(nil), padding: T.unsafe(nil)); end + + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:116 + def report(title, &block); end + + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:33 + def results; end + + # Declare a step with a title and a command. The command can either be given as a single string or as multiple + # strings that will be passed to `system` as individual arguments (and therefore correctly escaped for paths etc). + # + # Examples: + # + # step "Setup", "bin/setup" + # step "Single test", "bin/rails", "test", "--name", "test_that_is_one" + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:75 + def step(title, *command); end + + # Returns true if all steps were successful. + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:81 + def success?; end + + private + + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:141 + def colorize(text, type); end + + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:134 + def timing; end + + class << self + # Perform a CI run. Execute each step, show their results and runtime, and exit with a non-zero status if there are any failures. + # + # Pass an optional title, subtitle, and a block that declares the steps to be executed. + # + # Sets the CI environment variable to "true" to allow for conditional behavior in the app, like enabling eager loading and disabling logging. + # + # Example: + # + # ActiveSupport::ContinuousIntegration.run do + # step "Setup", "bin/setup --skip-server" + # step "Style: Ruby", "bin/rubocop" + # step "Security: Gem audit", "bin/bundler-audit" + # step "Tests: Rails", "bin/rails test test:system" + # + # if success? + # step "Signoff: Ready for merge and deploy", "gh signoff" + # else + # failure "Skipping signoff; CI failed.", "Fix the issues and try again." + # end + # end + # + # pkg:gem/activesupport#lib/active_support/continuous_integration.rb:55 + def run(title = T.unsafe(nil), subtitle = T.unsafe(nil), &block); end + end +end + +# pkg:gem/activesupport#lib/active_support/continuous_integration.rb:25 +ActiveSupport::ContinuousIntegration::COLORS = T.let(T.unsafe(nil), Hash) + # pkg:gem/activesupport#lib/active_support/core_ext/erb/util.rb:6 module ActiveSupport::CoreExt; end @@ -3706,39 +3987,42 @@ end # The attributes stuck in Current should be used by more or less all actions on all requests. If you start # sticking controller-specific attributes in there, you're going to create a mess. # -# pkg:gem/activesupport#lib/active_support/current_attributes.rb:92 +# pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 class ActiveSupport::CurrentAttributes include ::ActiveSupport::Callbacks extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveSupport::DescendantsTracker - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def initialize; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 def __callbacks; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:95 def _reset_callbacks; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 - def _run_reset_callbacks(&block); end + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:95 + def _run_reset_callbacks; end + + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:95 + def _run_reset_callbacks!(&block); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def attributes; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def attributes=(_arg0); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def defaults; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def defaults?; end # Reset all attributes. Should be called before and after actions, when used as a per-request singleton. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def reset; end # Expose one or more attributes within a block. Old values are returned after the block concludes. @@ -3752,28 +4036,28 @@ class ActiveSupport::CurrentAttributes # end # end # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def set(attributes, &block); end private - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:187 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 def resolve_defaults; end class << self - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 def __callbacks; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 def __callbacks=(value); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:95 def _reset_callbacks; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:95 def _reset_callbacks=(value); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:152 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:153 def after_reset(*methods, &block); end # Declares one or more attributes that will be given both class and instance accessor methods. @@ -3785,48 +4069,45 @@ class ActiveSupport::CurrentAttributes # constructed. Otherwise, the value will be duplicated with +#dup+. # Default values are re-assigned when the attributes are reset. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:114 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:115 def attribute(*names, default: T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:198 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:197 def attributes(&); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:198 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:197 def attributes=(arg); end # Calls this callback before #reset is called on the instance. Used for resetting external collaborators that depend on current values. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:144 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:145 def before_reset(*methods, &block); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:160 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:157 def clear_all; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:202 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:201 def defaults; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:202 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:201 def defaults=(value); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:202 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:201 def defaults?; end # Returns singleton instance for this class in this thread. If none exists, one is created. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:102 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:103 def instance; end # Reset all attributes. Should be called before and after actions, when used as a per-request singleton. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:154 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:155 def reset(*, **, &); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:156 - def reset_all; end - # Calls this callback after #reset is called on the instance. Used for resetting external collaborators, like Time.zone. # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:149 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:150 def resets(*methods, &block); end # Expose one or more attributes within a block. Old values are returned after the block concludes. @@ -3840,47 +4121,47 @@ class ActiveSupport::CurrentAttributes # end # end # - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:154 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:155 def set(*, **, &); end private - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 def __class_attr___callbacks; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:93 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:94 def __class_attr___callbacks=(new_value); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:202 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:201 def __class_attr_defaults; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:202 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:201 def __class_attr_defaults=(new_value); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:170 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:169 def current_instances; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:174 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:173 def current_instances_key; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:166 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:165 def generated_attribute_methods; end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:186 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:185 def method_added(name); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:178 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:177 def method_missing(name, *, **, &); end - # pkg:gem/activesupport#lib/active_support/current_attributes.rb:182 + # pkg:gem/activesupport#lib/active_support/current_attributes.rb:181 def respond_to_missing?(name, _); end end end -# pkg:gem/activesupport#lib/active_support/current_attributes.rb:96 +# pkg:gem/activesupport#lib/active_support/current_attributes.rb:97 ActiveSupport::CurrentAttributes::INVALID_ATTRIBUTE_NAMES = T.let(T.unsafe(nil), Array) -# pkg:gem/activesupport#lib/active_support/current_attributes.rb:98 +# pkg:gem/activesupport#lib/active_support/current_attributes.rb:99 ActiveSupport::CurrentAttributes::NOT_SET = T.let(T.unsafe(nil), Object) # Provides +deep_merge+ and +deep_merge!+ methods. Expects the including class @@ -3957,34 +4238,34 @@ end # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:6 module ActiveSupport::Dependencies class << self - # pkg:gem/activesupport#lib/active_support/dependencies.rb:61 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:66 def _autoloaded_tracked_classes; end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:61 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:66 def _autoloaded_tracked_classes=(_arg0); end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:55 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:60 def _eager_load_paths; end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:55 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:60 def _eager_load_paths=(_arg0); end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:48 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:53 def autoload_once_paths; end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:48 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:53 def autoload_once_paths=(_arg0); end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:42 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:47 def autoload_paths; end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:42 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:47 def autoload_paths=(_arg0); end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:68 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:73 def autoloader; end - # pkg:gem/activesupport#lib/active_support/dependencies.rb:68 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:73 def autoloader=(_arg0); end # Private method that reloads constants autoloaded by the main autoloader. @@ -3993,12 +4274,12 @@ module ActiveSupport::Dependencies # reload. That involves more things, like deleting unloaded classes from the # internal state of the descendants tracker, or reloading routes. # - # pkg:gem/activesupport#lib/active_support/dependencies.rb:75 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:80 def clear; end # Private method that helps configuring the autoloaders. # - # pkg:gem/activesupport#lib/active_support/dependencies.rb:93 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:98 def eager_load?(path); end # pkg:gem/activesupport#lib/active_support/dependencies.rb:9 @@ -4022,14 +4303,14 @@ module ActiveSupport::Dependencies # Private method used by require_dependency. # - # pkg:gem/activesupport#lib/active_support/dependencies.rb:83 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:88 def search_for_file(relpath); end # Execute the supplied block while holding an exclusive lock, # preventing any other thread from being inside a #run_interlock # block at the same time. # - # pkg:gem/activesupport#lib/active_support/dependencies.rb:30 + # pkg:gem/activesupport#lib/active_support/dependencies.rb:35 def unload_interlock(&block); end end end @@ -4039,31 +4320,31 @@ class ActiveSupport::Dependencies::Interlock # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:8 def initialize; end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:32 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:37 def done_running; end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:24 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:29 def done_unloading; end # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:12 def loading(&block); end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:40 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:45 def permit_concurrent_loads(&block); end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:44 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:50 def raw_state(&block); end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:36 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:41 def running(&block); end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:28 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:33 def start_running; end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:20 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:25 def start_unloading; end - # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:16 + # pkg:gem/activesupport#lib/active_support/dependencies/interlock.rb:21 def unloading(&block); end end @@ -4685,11 +4966,11 @@ module ActiveSupport::Deprecation::Reporting # pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:140 def extract_callstack(callstack); end - # pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:155 + # pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:157 def ignored_callstack?(path); end end -# pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:153 +# pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:154 ActiveSupport::Deprecation::Reporting::LIB_DIR = T.let(T.unsafe(nil), String) # pkg:gem/activesupport#lib/active_support/deprecation/reporting.rb:152 @@ -5275,18 +5556,38 @@ end # pkg:gem/activesupport#lib/active_support/duration.rb:131 ActiveSupport::Duration::VARIABLE_PARTS = T.let(T.unsafe(nil), Array) -# pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:6 -module ActiveSupport::EachTimeWithZone - # pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:7 - def each(&block); end +# pkg:gem/activesupport#lib/active_support/editor.rb:6 +class ActiveSupport::Editor + # pkg:gem/activesupport#lib/active_support/editor.rb:48 + def initialize(url_pattern); end - # pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:12 - def step(n = T.unsafe(nil), &block); end + # pkg:gem/activesupport#lib/active_support/editor.rb:52 + def url_for(path, line); end - private + class << self + # Returns the current editor pattern if it is known. + # First check for the `RAILS_EDITOR` environment variable, and if it's + # missing, check for the `EDITOR` environment variable. + # + # pkg:gem/activesupport#lib/active_support/editor.rb:28 + def current; end + + # pkg:gem/activesupport#lib/active_support/editor.rb:39 + def find(name); end - # pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:18 - def ensure_iteration_allowed; end + # Registers a URL pattern for opening file in a given editor. + # This allows Rails to generate clickable links to control known editors. + # + # Example: + # + # ActiveSupport::Editor.register("myeditor", "myeditor://%s:%d") + # + # pkg:gem/activesupport#lib/active_support/editor.rb:17 + def register(name, url_pattern, aliases: T.unsafe(nil)); end + + # pkg:gem/activesupport#lib/active_support/editor.rb:43 + def reset; end + end end # = Encrypted Configuration @@ -5553,6 +5854,21 @@ class ActiveSupport::ErrorReporter # pkg:gem/activesupport#lib/active_support/error_reporter.rb:35 def initialize(*subscribers, logger: T.unsafe(nil)); end + # Add a middleware to modify the error context before it is sent to subscribers. + # + # Middleware is added to a stack of callables run on an error's execution context + # before passing to subscribers. Allows creation of entries in error context that + # are shared by all subscribers. + # + # A context middleware receives the same parameters as #report. + # It must return a hash - the middleware stack returns the hash after it has + # run through all middlewares. A middleware can mutate or replace the hash. + # + # Rails.error.add_middleware(-> (error, context) { context.merge({ foo: :bar }) }) + # + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:218 + def add_middleware(middleware); end + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:31 def debug_mode; end @@ -5565,7 +5881,7 @@ class ActiveSupport::ErrorReporter # This can be helpful for error reporting service integrations, when they wish # to handle any errors higher in the stack. # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:185 + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:186 def disable(subscriber); end # Evaluates the given block, reporting and swallowing any unhandled error. @@ -5606,7 +5922,7 @@ class ActiveSupport::ErrorReporter # source of the error. Subscribers can use this value to ignore certain # errors. Defaults to "application". # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:78 + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:79 def handle(*error_classes, severity: T.unsafe(nil), context: T.unsafe(nil), fallback: T.unsafe(nil), source: T.unsafe(nil)); end # pkg:gem/activesupport#lib/active_support/error_reporter.rb:31 @@ -5644,7 +5960,7 @@ class ActiveSupport::ErrorReporter # source of the error. Subscribers can use this value to ignore certain # errors. Defaults to "application". # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:114 + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:115 def record(*error_classes, severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end # Report an error directly to subscribers. You can use this method when the @@ -5659,7 +5975,7 @@ class ActiveSupport::ErrorReporter # Otherwise you can use #unexpected to report an error which does accept a # string argument. # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:216 + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:233 def report(error, handled: T.unsafe(nil), severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end # Update the execution context that is accessible to error subscribers. Any @@ -5668,7 +5984,7 @@ class ActiveSupport::ErrorReporter # # Rails.error.set_context(section: "checkout", user_id: @user.id) # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:201 + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:202 def set_context(*, **, &); end # Register a new error subscriber. The subscriber must respond to @@ -5677,64 +5993,540 @@ class ActiveSupport::ErrorReporter # # The +report+ method should never raise an error. # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:161 - def subscribe(subscriber); end + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:162 + def subscribe(subscriber); end + + # Either report the given error when in production, or raise it when in development or test. + # + # When called in production, after the error is reported, this method will return + # nil and execution will continue. + # + # When called in development, the original error is wrapped in a different error class to ensure + # it's not being rescued higher in the stack and will be surfaced to the developer. + # + # This method is intended for reporting violated assertions about preconditions, or similar + # cases that can and should be gracefully handled in production, but that aren't supposed to happen. + # + # The error can be either an exception instance or a String. + # + # example: + # + # def edit + # if published? + # Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible") + # return false + # end + # # ... + # end + # + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:146 + def unexpected(error, severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end + + # Unregister an error subscriber. Accepts either a subscriber or a class. + # + # subscriber = MyErrorSubscriber.new + # Rails.error.subscribe(subscriber) + # + # Rails.error.unsubscribe(subscriber) + # # or + # Rails.error.unsubscribe(MyErrorSubscriber) + # + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:177 + def unsubscribe(subscriber); end + + private + + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:278 + def ensure_backtrace(error); end +end + +# pkg:gem/activesupport#lib/active_support/error_reporter.rb:29 +ActiveSupport::ErrorReporter::DEFAULT_RESCUE = T.let(T.unsafe(nil), Array) + +# pkg:gem/activesupport#lib/active_support/error_reporter.rb:28 +ActiveSupport::ErrorReporter::DEFAULT_SOURCE = T.let(T.unsafe(nil), String) + +# pkg:gem/activesupport#lib/active_support/error_reporter.rb:298 +class ActiveSupport::ErrorReporter::ErrorContextMiddlewareStack + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:299 + def initialize; end + + # Run all middlewares in the stack + # + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:313 + def execute(error, handled:, severity:, context:, source:); end + + # Add a middleware to the error context stack. + # + # pkg:gem/activesupport#lib/active_support/error_reporter.rb:304 + def use(middleware); end +end + +# pkg:gem/activesupport#lib/active_support/error_reporter.rb:27 +ActiveSupport::ErrorReporter::SEVERITIES = T.let(T.unsafe(nil), Array) + +# pkg:gem/activesupport#lib/active_support/error_reporter.rb:33 +class ActiveSupport::ErrorReporter::UnexpectedError < ::Exception; end + +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:49 +class ActiveSupport::EventContext + class << self + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:65 + def clear; end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:54 + def context; end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:58 + def set_context(context_hash); end + end +end + +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:50 +ActiveSupport::EventContext::EMPTY_CONTEXT = T.let(T.unsafe(nil), Hash) + +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:51 +ActiveSupport::EventContext::FIBER_KEY = T.let(T.unsafe(nil), Symbol) + +# = Active Support \Event Reporter +# +# +ActiveSupport::EventReporter+ provides an interface for reporting structured events to subscribers. +# +# To report an event, you can use the +notify+ method: +# +# Rails.event.notify("user_created", { id: 123 }) +# # Emits event: +# # { +# # name: "user_created", +# # payload: { id: 123 }, +# # timestamp: 1738964843208679035, +# # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } +# # } +# +# The +notify+ API can receive either an event name and a payload hash, or an event object. Names are coerced to strings. +# +# === Event Objects +# +# If an event object is passed to the +notify+ API, it will be passed through to subscribers as-is, and the name of the +# object's class will be used as the event name. +# +# class UserCreatedEvent +# def initialize(id:, name:) +# @id = id +# @name = name +# end +# +# def serialize +# { +# id: @id, +# name: @name +# } +# end +# end +# +# Rails.event.notify(UserCreatedEvent.new(id: 123, name: "John Doe")) +# # Emits event: +# # { +# # name: "UserCreatedEvent", +# # payload: #, +# # timestamp: 1738964843208679035, +# # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } +# # } +# +# An event is any Ruby object representing a schematized event. While payload hashes allow arbitrary, +# implicitly-structured data, event objects are intended to enforce a particular schema. +# +# Subscribers are responsible for serializing event objects. +# +# === Subscribers +# +# Subscribers must implement the +emit+ method, which will be called with the event hash. +# +# The event hash has the following keys: +# +# name: String (The name of the event) +# payload: Hash, Object (The payload of the event, or the event object itself) +# tags: Hash (The tags of the event) +# context: Hash (The context of the event) +# timestamp: Integer (The timestamp of the event, in nanoseconds) +# source_location: Hash (The source location of the event, containing the filepath, lineno, and label) +# +# Subscribers are responsible for encoding events to their desired format before emitting them to their +# target destination, such as a streaming platform, a log device, or an alerting service. +# +# class JSONEventSubscriber +# def emit(event) +# json_data = JSON.generate(event) +# LogExporter.export(json_data) +# end +# end +# +# class LogSubscriber +# def emit(event) +# payload = event[:payload].map { |key, value| "#{key}=#{value}" }.join(" ") +# source_location = event[:source_location] +# log = "[#{event[:name]}] #{payload} at #{source_location[:filepath]}:#{source_location[:lineno]}" +# Rails.logger.info(log) +# end +# end +# +# Note that event objects are passed through to subscribers as-is, and may need to be serialized before being encoded: +# +# class UserCreatedEvent +# def initialize(id:, name:) +# @id = id +# @name = name +# end +# +# def serialize +# { +# id: @id, +# name: @name +# } +# end +# end +# +# class LogSubscriber +# def emit(event) +# payload = event[:payload] +# json_data = JSON.generate(payload.serialize) +# LogExporter.export(json_data) +# end +# end +# +# ==== Filtered Subscriptions +# +# Subscribers can be configured with an optional filter proc to only receive a subset of events: +# +# # Only receive events with names starting with "user." +# Rails.event.subscribe(user_subscriber) { |event| event[:name].start_with?("user.") } +# +# # Only receive events with specific payload types +# Rails.event.subscribe(audit_subscriber) { |event| event[:payload].is_a?(AuditEvent) } +# +# === Debug Events +# +# You can use the +debug+ method to report an event that will only be reported if the +# event reporter is in debug mode: +# +# Rails.event.debug("my_debug_event", { foo: "bar" }) +# +# === Tags +# +# To add additional context to an event, separate from the event payload, you can add +# tags via the +tagged+ method: +# +# Rails.event.tagged("graphql") do +# Rails.event.notify("user_created", { id: 123 }) +# end +# +# # Emits event: +# # { +# # name: "user_created", +# # payload: { id: 123 }, +# # tags: { graphql: true }, +# # context: {}, +# # timestamp: 1738964843208679035, +# # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } +# # } +# +# === Context Store +# +# You may want to attach metadata to every event emitted by the reporter. While tags +# provide domain-specific context for a series of events, context is scoped to the job / request +# and should be used for metadata associated with the execution context. +# Context can be set via the +set_context+ method: +# +# Rails.event.set_context(request_id: "abcd123", user_agent: "TestAgent") +# Rails.event.notify("user_created", { id: 123 }) +# +# # Emits event: +# # { +# # name: "user_created", +# # payload: { id: 123 }, +# # tags: {}, +# # context: { request_id: "abcd123", user_agent: "TestAgent" }, +# # timestamp: 1738964843208679035, +# # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } +# # } +# +# Context is reset automatically before and after each request. +# +# A custom context store can be configured via +config.active_support.event_reporter_context_store+. +# +# # config/application.rb +# config.active_support.event_reporter_context_store = CustomContextStore +# +# class CustomContextStore +# class << self +# def context +# # Return the context. +# end +# +# def set_context(context_hash) +# # Append context_hash to the existing context store. +# end +# +# def clear +# # Delete the stored context. +# end +# end +# end +# +# The Event Reporter standardizes on symbol keys for all payload data, tags, and context store entries. +# String keys are automatically converted to symbols for consistency. +# +# Rails.event.notify("user.created", { "id" => 123 }) +# # Emits event: +# # { +# # name: "user.created", +# # payload: { id: 123 }, +# # } +# +# === Security +# +# When reporting events, Hash-based payloads are automatically filtered to remove sensitive data based on {Rails.application.filter_parameters}[https://guides.rubyonrails.org/configuring.html#config-filter-parameters]. +# +# If an {event object}[rdoc-ref:EventReporter@Event+Objects] is given instead, subscribers will need to filter sensitive data themselves, e.g. with ActiveSupport::ParameterFilter. +# +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:271 +class ActiveSupport::EventReporter + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:286 + def initialize(*subscribers, raise_on_error: T.unsafe(nil)); end + + # Clears all context data. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:525 + def clear_context; end + + # Returns the current context data. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:530 + def context; end + + # Report an event only when in debug mode. For example: + # + # Rails.event.debug("sql.query", { sql: "SELECT * FROM users" }) + # + # ==== Arguments + # + # * +:payload+ - The event payload when using string/symbol event names. + # + # * +:caller_depth+ - The stack depth to use for source location (default: 1). + # + # * +:kwargs+ - Additional payload data when using string/symbol event names. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:435 + def debug(name_or_object, payload = T.unsafe(nil), caller_depth: T.unsafe(nil), **kwargs); end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:276 + def debug_mode=(_arg0); end + + # Check if debug mode is currently enabled. Debug mode is enabled on the reporter + # via +with_debug+, and in local environments. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:420 + def debug_mode?; end + + # Reports an event to all registered subscribers. An event name and payload can be provided: + # + # Rails.event.notify("user.created", { id: 123 }) + # # Emits event: + # # { + # # name: "user.created", + # # payload: { id: 123 }, + # # tags: {}, + # # context: {}, + # # timestamp: 1738964843208679035, + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # Alternatively, an event object can be provided: + # + # Rails.event.notify(UserCreatedEvent.new(id: 123)) + # # Emits event: + # # { + # # name: "UserCreatedEvent", + # # payload: #, + # # tags: {}, + # # context: {}, + # # timestamp: 1738964843208679035, + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # ==== Arguments + # + # * +:payload+ - The event payload when using string/symbol event names. + # + # * +:caller_depth+ - The stack depth to use for source location (default: 1). + # + # * +:kwargs+ - Additional payload data when using string/symbol event names. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:363 + def notify(name_or_object, payload = T.unsafe(nil), caller_depth: T.unsafe(nil), **kwargs); end + + # Sets whether to raise an error if a subscriber raises an error during + # event emission, or when unexpected arguments are passed to +notify+. + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:274 + def raise_on_error=(_arg0); end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:534 + def reload_payload_filter; end + + # Sets context data that will be included with all events emitted by the reporter. + # Context data should be scoped to the job or request, and is reset automatically + # before and after each request and job. + # + # Rails.event.set_context(user_agent: "TestAgent") + # Rails.event.set_context(job_id: "abc123") + # Rails.event.tagged("graphql") do + # Rails.event.notify("user_created", { id: 123 }) + # end + # + # # Emits event: + # # { + # # name: "user_created", + # # payload: { id: 123 }, + # # tags: { graphql: true }, + # # context: { user_agent: "TestAgent", job_id: "abc123" }, + # # timestamp: 1738964843208679035 + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:520 + def set_context(context); end - # Either report the given error when in production, or raise it when in development or test. + # Registers a new event subscriber. The subscriber must respond to # - # When called in production, after the error is reported, this method will return - # nil and execution will continue. + # emit(event: Hash) # - # When called in development, the original error is wrapped in a different error class to ensure - # it's not being rescued higher in the stack and will be surfaced to the developer. + # The event hash will have the following keys: # - # This method is intended for reporting violated assertions about preconditions, or similar - # cases that can and should be gracefully handled in production, but that aren't supposed to happen. + # name: String (The name of the event) + # payload: Hash, Object (The payload of the event, or the event object itself) + # tags: Hash (The tags of the event) + # context: Hash (The context of the event) + # timestamp: Integer (The timestamp of the event, in nanoseconds) + # source_location: Hash (The source location of the event, containing the filepath, lineno, and label) # - # The error can be either an exception instance or a String. + # An optional filter proc can be provided to only receive a subset of events: # - # example: + # Rails.event.subscribe(subscriber) { |event| event[:name].start_with?("user.") } + # Rails.event.subscribe(subscriber) { |event| event[:payload].is_a?(UserEvent) } # - # def edit - # if published? - # Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible") - # return false - # end - # # ... + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:311 + def subscribe(subscriber, &filter); end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:278 + def subscribers; end + + # Add tags to events to supply additional context. Tags operate in a stack-oriented manner, + # so all events emitted within the block inherit the same set of tags. For example: + # + # Rails.event.tagged("graphql") do + # Rails.event.notify("user.created", { id: 123 }) + # end + # + # # Emits event: + # # { + # # name: "user.created", + # # payload: { id: 123 }, + # # tags: { graphql: true }, + # # context: {}, + # # timestamp: 1738964843208679035, + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # Tags can be provided as arguments or as keyword arguments, and can be nested: + # + # Rails.event.tagged("graphql") do + # # Other code here... + # Rails.event.tagged(section: "admin") do + # Rails.event.notify("user.created", { id: 123 }) # end + # end # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:145 - def unexpected(error, severity: T.unsafe(nil), context: T.unsafe(nil), source: T.unsafe(nil)); end + # # Emits event: + # # { + # # name: "user.created", + # # payload: { id: 123 }, + # # tags: { section: "admin", graphql: true }, + # # context: {}, + # # timestamp: 1738964843208679035, + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # The +tagged+ API can also receive a tag object: + # + # graphql_tag = GraphqlTag.new(operation_name: "user_created", operation_type: "mutation") + # Rails.event.tagged(graphql_tag) do + # Rails.event.notify("user.created", { id: 123 }) + # end + # + # # Emits event: + # # { + # # name: "user.created", + # # payload: { id: 123 }, + # # tags: { "GraphqlTag": # }, + # # context: {}, + # # timestamp: 1738964843208679035, + # # source_location: { filepath: "path/to/file.rb", lineno: 123, label: "UserService#create" } + # # } + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:497 + def tagged(*args, **kwargs, &block); end - # Unregister an error subscriber. Accepts either a subscriber or a class. + # Unregister an event subscriber. Accepts either a subscriber or a class. # - # subscriber = MyErrorSubscriber.new - # Rails.error.subscribe(subscriber) + # subscriber = MyEventSubscriber.new + # Rails.event.subscribe(subscriber) # - # Rails.error.unsubscribe(subscriber) + # Rails.event.unsubscribe(subscriber) # # or - # Rails.error.unsubscribe(MyErrorSubscriber) + # Rails.event.unsubscribe(MyEventSubscriber) # - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:176 + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:326 def unsubscribe(subscriber); end + # Temporarily enables debug mode for the duration of the block. + # Calls to +debug+ will only be reported if debug mode is enabled. + # + # Rails.event.with_debug do + # Rails.event.debug("sql.query", { sql: "SELECT * FROM users" }) + # end + # + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:410 + def with_debug; end + private - # pkg:gem/activesupport#lib/active_support/error_reporter.rb:252 - def ensure_backtrace(error); end -end + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:544 + def context_store; end -# pkg:gem/activesupport#lib/active_support/error_reporter.rb:29 -ActiveSupport::ErrorReporter::DEFAULT_RESCUE = T.let(T.unsafe(nil), Array) + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:579 + def handle_unexpected_args(name_or_object, payload, kwargs); end -# pkg:gem/activesupport#lib/active_support/error_reporter.rb:28 -ActiveSupport::ErrorReporter::DEFAULT_SOURCE = T.let(T.unsafe(nil), String) + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:548 + def payload_filter; end -# pkg:gem/activesupport#lib/active_support/error_reporter.rb:27 -ActiveSupport::ErrorReporter::SEVERITIES = T.let(T.unsafe(nil), Array) + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:540 + def raise_on_error?; end -# pkg:gem/activesupport#lib/active_support/error_reporter.rb:33 -class ActiveSupport::ErrorReporter::UnexpectedError < ::Exception; end + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:555 + def resolve_name(name_or_object); end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:564 + def resolve_payload(name_or_object, payload, **kwargs); end + + class << self + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:281 + def context_store; end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:281 + def context_store=(_arg0); end + end +end # Allows you to "listen" to changes in a file system. # The evented file updater does not hit disk when checking for updates. @@ -5784,74 +6576,113 @@ class ActiveSupport::EventedFileUpdateChecker::Core # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:75 def initialize(files, dirs); end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:142 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:146 def changed(modified, added, removed); end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:176 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:180 def common_path(paths); end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:170 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:174 def directories_to_watch; end # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:73 def files; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:98 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:102 def finalizer; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:136 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:140 def normalize_dirs!; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:127 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:131 def restart; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:132 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:136 def restart?; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:111 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:115 def start; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:123 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:127 def stop; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:105 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:109 def thread_safely; end # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:73 def updated; end - # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:148 + # pkg:gem/activesupport#lib/active_support/evented_file_update_checker.rb:152 def watching?(file); end end # pkg:gem/activesupport#lib/active_support/execution_context.rb:4 module ActiveSupport::ExecutionContext class << self - # pkg:gem/activesupport#lib/active_support/execution_context.rb:34 + # pkg:gem/activesupport#lib/active_support/execution_context.rb:76 def []=(key, value); end - # pkg:gem/activesupport#lib/active_support/execution_context.rb:7 + # pkg:gem/activesupport#lib/active_support/execution_context.rb:47 def after_change(&block); end - # pkg:gem/activesupport#lib/active_support/execution_context.rb:43 + # pkg:gem/activesupport#lib/active_support/execution_context.rb:103 def clear; end + # pkg:gem/activesupport#lib/active_support/execution_context.rb:111 + def current_attributes_instances; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:107 + def flush; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:45 + def nestable; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:45 + def nestable=(_arg0); end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:94 + def pop; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:85 + def push; end + # Updates the execution context. If a block is given, it resets the provided keys to their # previous value once the block exits. # - # pkg:gem/activesupport#lib/active_support/execution_context.rb:13 + # pkg:gem/activesupport#lib/active_support/execution_context.rb:53 def set(**options); end - # pkg:gem/activesupport#lib/active_support/execution_context.rb:39 + # pkg:gem/activesupport#lib/active_support/execution_context.rb:81 def to_h; end private - # pkg:gem/activesupport#lib/active_support/execution_context.rb:48 - def store; end + # pkg:gem/activesupport#lib/active_support/execution_context.rb:116 + def record; end end end +# pkg:gem/activesupport#lib/active_support/execution_context.rb:5 +class ActiveSupport::ExecutionContext::Record + # pkg:gem/activesupport#lib/active_support/execution_context.rb:8 + def initialize; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:6 + def current_attributes_instances; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:27 + def flush; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:21 + def pop; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:14 + def push; end + + # pkg:gem/activesupport#lib/active_support/execution_context.rb:6 + def store; end +end + # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:7 class ActiveSupport::ExecutionWrapper include ::ActiveSupport::Callbacks @@ -5868,10 +6699,16 @@ class ActiveSupport::ExecutionWrapper def _run_callbacks; end # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:15 - def _run_complete_callbacks(&block); end + def _run_complete_callbacks; end + + # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:15 + def _run_complete_callbacks!(&block); end # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:14 - def _run_run_callbacks(&block); end + def _run_run_callbacks; end + + # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:14 + def _run_run_callbacks!(&block); end # pkg:gem/activesupport#lib/active_support/execution_wrapper.rb:141 def complete; end @@ -6083,30 +6920,30 @@ class ActiveSupport::FileUpdateChecker # Executes the given block and updates the latest watched files and # timestamp. # - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:82 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:85 def execute; end # Execute the block given if updated. # - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:92 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:95 def execute_if_updated; end # Check if any of the entries were updated. If so, the watched and/or # updated_at values are cached until the block is executed via +execute+ # or +execute_if_updated+. # - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:63 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:66 def updated?; end private - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:158 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:160 def compile_ext(array); end - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:144 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:147 def compile_glob(hash); end - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:154 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:156 def escape(key); end # This method returns the maximum mtime of the files in +paths+, or +nil+ @@ -6117,13 +6954,13 @@ class ActiveSupport::FileUpdateChecker # healthy to consider this edge case because with mtimes in the future # reloading is not triggered. # - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:122 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:125 def max_mtime(paths); end - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:111 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:114 def updated_at(paths); end - # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:103 + # pkg:gem/activesupport#lib/active_support/file_update_checker.rb:106 def watched; end end @@ -6247,7 +7084,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # counters[:foo] # => 1 # counters[:zoo] # => nil # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:168 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:184 def [](key); end # Assigns a new value to the hash: @@ -6257,7 +7094,10 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # # This value can be later fetched using either +:key+ or 'key'. # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:98 + # If the value is a Hash or contains one or multiple Hashes, they will be + # converted to +HashWithIndifferentAccess+. + # + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:101 def []=(key, value); end # Same as Hash#assoc where the key passed as argument can be @@ -6270,13 +7110,13 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # counters.assoc(:foo) # => ["foo", 1] # counters.assoc(:zoo) # => nil # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:181 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:197 def assoc(key); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:374 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:391 def compact; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:318 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:334 def deep_symbolize_keys; end # Same as Hash#default where the key passed as argument can be @@ -6290,12 +7130,12 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash.default('foo') # => 'foo' # hash.default(:foo) # => 'foo' # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:223 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:239 def default(key = T.unsafe(nil)); end # Removes the specified key from the hash. # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:301 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:317 def delete(key); end # Same as Hash#dig where the key passed as argument can be @@ -6308,7 +7148,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # counters.dig(:foo, :bar) # => 1 # counters.dig(:zoo) # => nil # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:208 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:224 def dig(*args); end # Returns a shallow copy of the hash. @@ -6320,7 +7160,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash[:a][:c] # => "c" # dup[:a][:c] # => "c" # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:264 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:280 def dup; end # Returns a hash with indifferent access that includes everything except given keys. @@ -6328,7 +7168,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash.except(:a, "b") # => {c: 10}.with_indifferent_access # hash # => { a: "x", b: "y", c: 10 }.with_indifferent_access # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:309 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:325 def except(*keys); end # Returns +true+ so that Array#extract_options! finds members of @@ -6348,7 +7188,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # counters.fetch(:bar) { |key| 0 } # => 0 # counters.fetch(:zoo) # => KeyError: key not found: "zoo" # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:195 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:211 def fetch(key, *extras); end # Returns an array of the values at the specified indices, but also @@ -6361,13 +7201,16 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash.fetch_values('a', 'c') { |key| 'z' } # => ["x", "z"] # hash.fetch_values('a', 'c') # => KeyError: key not found: "c" # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:251 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:267 def fetch_values(*indices, &block); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:156 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:341 + def filter(*args, &block); end + + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:172 def has_key?(key); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:155 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:171 def include?(key); end # Checks the hash for a key matching the argument passed in: @@ -6377,20 +7220,20 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash.key?(:key) # => true # hash.key?('key') # => true # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:151 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:167 def key?(key); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:157 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:173 def member?(key); end # This method has the same semantics of +update+, except it does not # modify the receiver but rather returns a new hash with indifferent # access with the result of the merge. # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:271 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:287 def merge(*hashes, &block); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:143 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:159 def merge!(*other_hashes, &block); end # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:66 @@ -6402,7 +7245,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:89 def regular_writer(_arg0, _arg1); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:326 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:343 def reject(*args, &block); end # Replaces the contents of this hash with other_hash. @@ -6410,7 +7253,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # h = { "a" => 100, "b" => 200 } # h.replace({ "c" => 300, "d" => 400 }) # => {"c"=>300, "d"=>400} # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:296 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:312 def replace(other_hash); end # Like +merge+ but the other way around: Merges the receiver into the @@ -6420,50 +7263,61 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash['a'] = nil # hash.reverse_merge(a: 0, b: 1) # => {"a"=>nil, "b"=>1} # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:281 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:297 def reverse_merge(other_hash); end # Same semantics as +reverse_merge+ but modifies the receiver in-place. # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:287 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:303 def reverse_merge!(other_hash); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:321 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:337 def select(*args, &block); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:364 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:381 def slice(*keys); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:369 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:386 def slice!(*keys); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:102 - def store(key, value); end + # Assigns a new value to the hash: + # + # hash = ActiveSupport::HashWithIndifferentAccess.new + # hash[:key] = 'value' + # + # This value can be later fetched using either +:key+ or 'key'. + # + # If the value is a Hash or contains one or multiple Hashes, they will be + # converted to +HashWithIndifferentAccess+. unless `convert_value: false` + # is set. + # + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:115 + def store(key, value, convert_value: T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:316 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:332 def symbolize_keys; end # Convert to a regular hash with string keys. # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:379 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:396 def to_hash; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:317 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:333 def to_options; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:319 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:335 def to_options!; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:385 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:402 def to_proc; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:338 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:355 def transform_keys(hash = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:350 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:367 def transform_keys!(hash = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:331 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:348 def transform_values(&block); end # Updates the receiver in-place, merging in the hashes passed as arguments: @@ -6495,7 +7349,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash_2['key'] = 12 # hash_1.update(hash_2) { |key, old, new| old + new } # => {"key"=>22} # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:132 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:148 def update(*other_hashes, &block); end # Returns an array of the values at the specified indices: @@ -6505,36 +7359,39 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash # hash[:b] = 'y' # hash.values_at('a', 'b') # => ["x", "y"] # - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:237 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:253 def values_at(*keys); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:284 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:300 def with_defaults(other_hash); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:290 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:306 def with_defaults!(other_hash); end # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:62 def with_indifferent_access; end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:312 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:328 def without(*keys); end private - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:390 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:407 + def cast(other); end + + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:411 def convert_key(key); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:394 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:415 def convert_value(value, conversion: T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:407 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:428 def convert_value_to_hash(value); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:418 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:439 def copy_defaults(target); end - # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:427 + # pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:448 def update_with_single_argument(other_hash, block); end class << self @@ -6543,7 +7400,7 @@ class ActiveSupport::HashWithIndifferentAccess < ::Hash end end -# pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:336 +# pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:353 ActiveSupport::HashWithIndifferentAccess::NOT_GIVEN = T.let(T.unsafe(nil), Object) # pkg:gem/activesupport#lib/active_support/html_safe_translation.rb:4 @@ -6581,7 +7438,7 @@ end # require it for your application or wish to define rules for languages other # than English, please correct or add them yourself (explained below). # -# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:7 +# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:8 module ActiveSupport::Inflector extend ::ActiveSupport::Inflector @@ -6731,7 +7588,7 @@ module ActiveSupport::Inflector # inflect.uncountable 'rails' # end # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:266 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:283 def inflections(locale = T.unsafe(nil)); end # Returns the suffix that should be added to a number to denote the position @@ -6771,6 +7628,11 @@ module ActiveSupport::Inflector # parameterize("Donald E. Knuth", separator: '_') # => "donald_e_knuth" # parameterize("^très|Jolie__ ", separator: '_') # => "tres_jolie" # + # To remove the unwanted characters instead of replacing them, pass an + # empty separator. +nil+ is treated the same way. + # + # parameterize("Donald E. Knuth", separator: '') # => "donaldeknuth" + # # To preserve the case of the characters in a string, use the +preserve_case+ argument. # # parameterize("Donald E. Knuth", preserve_case: true) # => "Donald-E-Knuth" @@ -6787,7 +7649,7 @@ module ActiveSupport::Inflector # By default, this parameter is set to nil and it will use # the configured I18n.locale. # - # pkg:gem/activesupport#lib/active_support/inflector/transliterate.rb:123 + # pkg:gem/activesupport#lib/active_support/inflector/transliterate.rb:131 def parameterize(string, separator: T.unsafe(nil), preserve_case: T.unsafe(nil), locale: T.unsafe(nil)); end # Returns the plural form of the word in the string. @@ -6996,9 +7858,9 @@ ActiveSupport::Inflector::ALLOWED_ENCODINGS_FOR_TRANSLITERATE = T.let(T.unsafe(n # singularization rules that is runs. This guarantees that your rules run # before any of the rules that may already have been loaded. # -# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:30 +# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:31 class ActiveSupport::Inflector::Inflections - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:80 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:97 def initialize; end # Specifies a new acronym. An acronym must be specified as it will appear @@ -7051,16 +7913,16 @@ class ActiveSupport::Inflector::Inflections # underscore 'McDonald' # => 'mcdonald' # camelize 'mcdonald' # => 'McDonald' # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:142 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:159 def acronym(word); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:76 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93 def acronyms; end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:78 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:95 def acronyms_camelize_regex; end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:78 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:95 def acronyms_underscore_regex; end # Clears the loaded inflections within a given scope (default is @@ -7071,7 +7933,7 @@ class ActiveSupport::Inflector::Inflections # clear :all # clear :plurals # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:231 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:248 def clear(scope = T.unsafe(nil)); end # Specifies a humanized form of a string by a regular expression rule or @@ -7083,10 +7945,10 @@ class ActiveSupport::Inflector::Inflections # human /_cnt$/i, '\1_count' # human 'legacy_col_person_name', 'Name' # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:220 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:237 def human(rule, replacement); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:76 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93 def humans; end # Specifies a new irregular that applies to both pluralization and @@ -7097,7 +7959,7 @@ class ActiveSupport::Inflector::Inflections # irregular 'cactus', 'cacti' # irregular 'person', 'people' # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:174 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:191 def irregular(singular, plural); end # Specifies a new pluralization rule and its replacement. The rule can @@ -7105,10 +7967,10 @@ class ActiveSupport::Inflector::Inflections # always be a string that may include references to the matched data from # the rule. # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:151 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:168 def plural(rule, replacement); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:76 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93 def plurals; end # Specifies a new singularization rule and its replacement. The rule can @@ -7116,10 +7978,10 @@ class ActiveSupport::Inflector::Inflections # always be a string that may include references to the matched data from # the rule. # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:161 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:178 def singular(rule, replacement); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:76 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93 def singulars; end # Specifies words that are uncountable and should not be inflected. @@ -7128,52 +7990,73 @@ class ActiveSupport::Inflector::Inflections # uncountable 'money', 'information' # uncountable %w( money information rice ) # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:208 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:225 def uncountable(*words); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:76 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:93 def uncountables; end private - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:250 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:267 def define_acronym_regex_patterns; end # Private, for the test suite. # - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:86 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:103 def initialize_dup(orig); end class << self - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:65 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:77 def instance(locale = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:69 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:83 def instance_or_fallback(locale); end end end -# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:33 -class ActiveSupport::Inflector::Inflections::Uncountables < ::Array - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:34 +# pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:35 +class ActiveSupport::Inflector::Inflections::Uncountables + include ::Enumerable + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:40 def initialize; end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:44 - def <<(*word); end + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:50 + def <<(word); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:48 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def ==(arg); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:61 def add(words); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:39 + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:45 def delete(entry); end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:55 - def uncountable?(str); end + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def each(*, **, &); end - private + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def empty?(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:57 + def flatten; end - # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:60 - def to_regex(string); end + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def pop(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def to_a(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def to_ary(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:38 + def to_s(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/inflector/inflections.rb:68 + def uncountable?(str); end end # = Inheritable Options @@ -7237,19 +8120,19 @@ end # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:4 module ActiveSupport::IsolatedExecutionState class << self - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:35 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:31 def [](key); end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:39 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:37 def []=(key, value); end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:51 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:50 def clear; end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:55 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:54 def context; end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:47 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:46 def delete(key); end # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:11 @@ -7258,22 +8141,14 @@ module ActiveSupport::IsolatedExecutionState # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:13 def isolation_level=(level); end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:43 + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:42 def key?(key); end # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:11 def scope; end - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:59 - def share_with(other, except: T.unsafe(nil)); end - - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:31 - def unique_id; end - - private - - # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:69 - def state; end + # pkg:gem/activesupport#lib/active_support/isolated_execution_state.rb:58 + def share_with(other, except: T.unsafe(nil), &block); end end end @@ -7289,9 +8164,9 @@ module ActiveSupport::JSON # # => 2.39 # # pkg:gem/activesupport#lib/active_support/json/decoding.rb:24 - def decode(json); end + def decode(json, options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:43 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:56 def dump(value, options = T.unsafe(nil)); end # Dumps objects in JSON (JavaScript Object Notation). @@ -7300,8 +8175,8 @@ module ActiveSupport::JSON # ActiveSupport::JSON.encode({ team: 'rails', players: '36' }) # # => "{\"team\":\"rails\",\"players\":\"36\"}" # - # Generates JSON that is safe to include in JavaScript as it escapes - # U+2028 (Line Separator) and U+2029 (Paragraph Separator): + # By default, it generates JSON that is safe to include in JavaScript, as + # it escapes U+2028 (Line Separator) and U+2029 (Paragraph Separator): # # ActiveSupport::JSON.encode({ key: "\u2028" }) # # => "{\"key\":\"\\u2028\"}" @@ -7312,17 +8187,23 @@ module ActiveSupport::JSON # ActiveSupport::JSON.encode({ key: "<>&" }) # # => "{\"key\":\"\\u003c\\u003e\\u0026\"}" # - # This can be changed with the +escape_html_entities+ option, or the + # This behavior can be changed with the +escape_html_entities+ option, or the # global escape_html_entities_in_json configuration option. # # ActiveSupport::JSON.encode({ key: "<>&" }, escape_html_entities: false) # # => "{\"key\":\"<>&\"}" # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:40 + # For performance reasons, you can set the +escape+ option to false, + # which will skip all escaping: + # + # ActiveSupport::JSON.encode({ key: "\u2028<>&" }, escape: false) + # # => "{\"key\":\"\u2028<>&\"}" + # + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:47 def encode(value, options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/json/decoding.rb:33 - def load(json); end + # pkg:gem/activesupport#lib/active_support/json/decoding.rb:37 + def load(json, options = T.unsafe(nil)); end # Returns the class of the error that will be raised when there is an # error in decoding JSON. Using this method means you won't directly @@ -7335,12 +8216,12 @@ module ActiveSupport::JSON # Rails.logger.warn("Attempted to decode invalid JSON: #{some_string}") # end # - # pkg:gem/activesupport#lib/active_support/json/decoding.rb:45 + # pkg:gem/activesupport#lib/active_support/json/decoding.rb:49 def parse_error; end private - # pkg:gem/activesupport#lib/active_support/json/decoding.rb:50 + # pkg:gem/activesupport#lib/active_support/json/decoding.rb:54 def convert_dates_from(data); end end end @@ -7353,70 +8234,117 @@ ActiveSupport::JSON::DATETIME_REGEX = T.let(T.unsafe(nil), Regexp) # pkg:gem/activesupport#lib/active_support/json/decoding.rb:13 ActiveSupport::JSON::DATE_REGEX = T.let(T.unsafe(nil), Regexp) -# pkg:gem/activesupport#lib/active_support/json/encoding.rb:46 +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:59 module ActiveSupport::JSON::Encoding class << self + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:251 + def encode_without_escape(value); end + + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:247 + def encode_without_options(value); end + # If true, encode >, <, & as escaped unicode sequences (e.g. > as \u003e) # as a safety measure. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:121 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:224 def escape_html_entities_in_json; end # If true, encode >, <, & as escaped unicode sequences (e.g. > as \u003e) # as a safety measure. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:121 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:224 def escape_html_entities_in_json=(_arg0); end - # Sets the encoder used by \Rails to encode Ruby objects into JSON strings - # in +Object#to_json+ and +ActiveSupport::JSON.encode+. + # If true, encode LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) + # as escaped unicode sequences ('\u2028' and '\u2029'). + # Historically these characters were not valid inside JavaScript strings + # but that changed in ECMAScript 2019. As such it's no longer a concern in + # modern browsers: https://caniuse.com/mdn-javascript_builtins_json_json_superset. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:129 - def json_encoder; end + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:231 + def escape_js_separators_in_json; end + + # If true, encode LINE SEPARATOR (U+2028) and PARAGRAPH SEPARATOR (U+2029) + # as escaped unicode sequences ('\u2028' and '\u2029'). + # Historically these characters were not valid inside JavaScript strings + # but that changed in ECMAScript 2019. As such it's no longer a concern in + # modern browsers: https://caniuse.com/mdn-javascript_builtins_json_json_superset. + # + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:231 + def escape_js_separators_in_json=(_arg0); end # Sets the encoder used by \Rails to encode Ruby objects into JSON strings # in +Object#to_json+ and +ActiveSupport::JSON.encode+. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:129 - def json_encoder=(_arg0); end + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:239 + def json_encoder; end + + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:241 + def json_encoder=(encoder); end # Sets the precision of encoded time values. # Defaults to 3 (equivalent to millisecond precision) # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:125 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:235 def time_precision; end # Sets the precision of encoded time values. # Defaults to 3 (equivalent to millisecond precision) # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:125 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:235 def time_precision=(_arg0); end # If true, use ISO 8601 format for dates and times. Otherwise, fall back # to the Active Support legacy format. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:117 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:220 def use_standard_json_time_format; end # If true, use ISO 8601 format for dates and times. Otherwise, fall back # to the Active Support legacy format. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:117 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:220 def use_standard_json_time_format=(_arg0); end end end -# pkg:gem/activesupport#lib/active_support/json/encoding.rb:47 +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:63 +ActiveSupport::JSON::Encoding::ESCAPED_CHARS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:72 +ActiveSupport::JSON::Encoding::FULL_ESCAPE_REGEX = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:71 +ActiveSupport::JSON::Encoding::HTML_ENTITIES_REGEX = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:150 +class ActiveSupport::JSON::Encoding::JSONGemCoderEncoder + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:183 + def initialize(options = T.unsafe(nil)); end + + # Encode the given object into a JSON string + # + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:195 + def encode(value); end +end + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:152 +ActiveSupport::JSON::Encoding::JSONGemCoderEncoder::CODER = T.let(T.unsafe(nil), JSON::Coder) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:151 +ActiveSupport::JSON::Encoding::JSONGemCoderEncoder::JSON_NATIVE_TYPES = T.let(T.unsafe(nil), Array) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:75 class ActiveSupport::JSON::Encoding::JSONGemEncoder - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:50 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:78 def initialize(options = T.unsafe(nil)); end # Encode the given object into a JSON string # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:55 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:83 def encode(value); end - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:48 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:76 def options; end private @@ -7435,15 +8363,24 @@ class ActiveSupport::JSON::Encoding::JSONGemEncoder # to +object.as_json+, not any of this method's recursive +#as_json+ # calls. # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:88 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:118 def jsonify(value); end # Encode a "jsonified" Ruby data structure using the JSON gem # - # pkg:gem/activesupport#lib/active_support/json/encoding.rb:109 + # pkg:gem/activesupport#lib/active_support/json/encoding.rb:143 def stringify(jsonified); end end +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:73 +ActiveSupport::JSON::Encoding::JS_SEPARATORS_REGEX = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:60 +ActiveSupport::JSON::Encoding::U2028 = T.let(T.unsafe(nil), String) + +# pkg:gem/activesupport#lib/active_support/json/encoding.rb:61 +ActiveSupport::JSON::Encoding::U2029 = T.let(T.unsafe(nil), String) + # = Key Generator # # KeyGenerator is a simple wrapper around OpenSSL's implementation of PBKDF2. @@ -7623,34 +8560,31 @@ class ActiveSupport::LogSubscriber < ::ActiveSupport::Subscriber # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:83 def colorize_logging=(val); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def debug(progname = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def error(progname = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:158 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:152 def event_levels=(_arg0); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def fatal(progname = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def info(progname = T.unsafe(nil), &block); end # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:138 def logger; end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:152 - def publish_event(event); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:142 def silenced?(event); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def unknown(progname = T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:162 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:156 def warn(progname = T.unsafe(nil), &block); end private @@ -7659,13 +8593,13 @@ class ActiveSupport::LogSubscriber < ::ActiveSupport::Subscriber # by specifying bold, italic, or underline options. Inspired by Highline, # this method will automatically clear formatting at the end of the returned String. # - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:172 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:166 def color(text, color, mode_options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:186 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:180 def log_exception(name, e); end - # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:180 + # pkg:gem/activesupport#lib/active_support/log_subscriber.rb:174 def mode_from(options); end class << self @@ -8136,7 +9070,7 @@ ActiveSupport::MessageEncryptor::SEPARATOR = T.let(T.unsafe(nil), String) class ActiveSupport::MessageEncryptors < ::ActiveSupport::Messages::RotationCoordinator private - # pkg:gem/activesupport#lib/active_support/message_encryptors.rb:135 + # pkg:gem/activesupport#lib/active_support/message_encryptors.rb:187 def build(salt, secret_generator:, secret_generator_options:, **options); end end @@ -8468,7 +9402,7 @@ ActiveSupport::MessageVerifier::SEPARATOR_LENGTH = T.let(T.unsafe(nil), Integer) class ActiveSupport::MessageVerifiers < ::ActiveSupport::Messages::RotationCoordinator private - # pkg:gem/activesupport#lib/active_support/message_verifiers.rb:133 + # pkg:gem/activesupport#lib/active_support/message_verifiers.rb:185 def build(salt, secret_generator:, secret_generator_options:, **options); end end @@ -8612,16 +9546,19 @@ class ActiveSupport::Messages::RotationCoordinator # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:22 def []=(salt, codec); end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:39 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:48 def clear_rotations; end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:45 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:54 def on_rotation(&callback); end + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:35 + def prepend(**options, &block); end + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:26 def rotate(**options, &block); end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:35 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:44 def rotate_defaults; end # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:8 @@ -8632,16 +9569,16 @@ class ActiveSupport::Messages::RotationCoordinator private - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:88 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:97 def build(salt, secret_generator:, secret_generator_options:, **options); end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:76 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:85 def build_with_rotations(salt); end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:51 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:60 def changing_configuration!; end - # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:62 + # pkg:gem/activesupport#lib/active_support/messages/rotation_coordinator.rb:71 def normalize_options(options); end end @@ -8664,11 +9601,14 @@ module ActiveSupport::Messages::Rotator private - # pkg:gem/activesupport#lib/active_support/messages/rotator.rb:49 + # pkg:gem/activesupport#lib/active_support/messages/rotator.rb:54 def build_rotation(*args, **options); end - # pkg:gem/activesupport#lib/active_support/messages/rotator.rb:53 + # pkg:gem/activesupport#lib/active_support/messages/rotator.rb:58 def catch_rotation_error(&block); end + + # pkg:gem/activesupport#lib/active_support/messages/rotator.rb:48 + def initialize_dup(*); end end # pkg:gem/activesupport#lib/active_support/messages/serializer_with_fallback.rb:8 @@ -8801,7 +9741,7 @@ module ActiveSupport::Multibyte class << self # Returns the current proxy class. # - # pkg:gem/activesupport#lib/active_support/multibyte.rb:19 + # pkg:gem/activesupport#lib/active_support/multibyte.rb:23 def proxy_class; end # The proxy class returned when calling mb_chars. You can use this accessor @@ -8861,7 +9801,7 @@ class ActiveSupport::Multibyte::Chars # Creates a new Chars instance by wrapping _string_. # # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:56 - def initialize(string); end + def initialize(string, deprecation: T.unsafe(nil)); end # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:53 def <=>(*, **, &); end @@ -8872,7 +9812,7 @@ class ActiveSupport::Multibyte::Chars # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:53 def acts_like_string?(*, **, &); end - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:164 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:171 def as_json(options = T.unsafe(nil)); end # Performs composition on all the characters. @@ -8880,7 +9820,7 @@ class ActiveSupport::Multibyte::Chars # 'é'.length # => 1 # 'é'.mb_chars.compose.to_s.length # => 1 # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:143 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:150 def compose; end # Performs canonical decomposition on all the characters. @@ -8888,7 +9828,7 @@ class ActiveSupport::Multibyte::Chars # 'é'.length # => 1 # 'é'.mb_chars.decompose.to_s.length # => 2 # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:135 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:142 def decompose; end # Returns the number of grapheme clusters in the string. @@ -8896,7 +9836,7 @@ class ActiveSupport::Multibyte::Chars # 'क्षि'.mb_chars.length # => 4 # 'क्षि'.mb_chars.grapheme_length # => 2 # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:151 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:158 def grapheme_length; end # Limits the byte size of the string to a number of bytes without breaking @@ -8905,7 +9845,7 @@ class ActiveSupport::Multibyte::Chars # # 'こんにちは'.mb_chars.limit(7).to_s # => "こん" # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:118 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:125 def limit(limit); end # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:53 @@ -8913,17 +9853,17 @@ class ActiveSupport::Multibyte::Chars # Forward all undefined methods to the wrapped string. # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:65 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:72 def method_missing(method, *, **, &); end # Reverses all characters in the string. # # 'Café'.mb_chars.reverse.to_s # => 'éfaC' # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:109 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:116 def reverse; end - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:169 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:176 def reverse!(*args); end # Works like String#slice!, but returns an instance of @@ -8936,7 +9876,7 @@ class ActiveSupport::Multibyte::Chars # string.mb_chars.slice!(0..3) # => # # string # => 'me' # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:99 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:106 def slice!(*args); end # Works just like String#split, with the exception that the items @@ -8945,7 +9885,7 @@ class ActiveSupport::Multibyte::Chars # # 'Café périferôl'.mb_chars.split(/é/).map { |part| part.upcase.to_s } # => ["CAF", " P", "RIFERÔL"] # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:86 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:93 def split(*args); end # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent @@ -8954,13 +9894,13 @@ class ActiveSupport::Multibyte::Chars # Passing +true+ will forcibly tidy all bytes, assuming that the string's # encoding is entirely CP1252 or ISO-8859-1. # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:160 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:167 def tidy_bytes(force = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:169 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:176 def tidy_bytes!(*args); end - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:129 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:136 def titlecase; end # Capitalizes the first letter of every word, when possible. @@ -8968,7 +9908,7 @@ class ActiveSupport::Multibyte::Chars # "ÉL QUE SE ENTERÓ".mb_chars.titleize.to_s # => "Él Que Se Enteró" # "日本語".mb_chars.titleize.to_s # => "日本語" # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:126 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:133 def titleize; end # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:50 @@ -8982,14 +9922,14 @@ class ActiveSupport::Multibyte::Chars private - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:176 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:183 def chars(string); end # Returns +true+ if _obj_ responds to the given method. Private methods # are included in the search only if the optional second parameter # evaluates to +true+. # - # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:77 + # pkg:gem/activesupport#lib/active_support/multibyte/chars.rb:84 def respond_to_missing?(method, include_private); end end @@ -9208,8 +10148,8 @@ ActiveSupport::Multibyte::Unicode::UNICODE_VERSION = T.let(T.unsafe(nil), String # # subscriber = ActiveSupport::Notifications.subscribe(/render/) { } # ActiveSupport::Notifications.unsubscribe('render_template.action_view') -# subscriber.matches?('render_template.action_view') # => false -# subscriber.matches?('render_partial.action_view') # => true +# subscriber.subscribed_to?('render_template.action_view') # => false +# subscriber.subscribed_to?('render_partial.action_view') # => true # # == Default Queue # @@ -9389,98 +10329,101 @@ end # # This class is thread safe. All methods are reentrant. # -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:49 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:55 class ActiveSupport::Notifications::Fanout include ::ActiveSupport::Notifications::FanoutIteration - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:50 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:56 def initialize; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:297 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:319 def all_listeners_for(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:272 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:286 def build_handle(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:101 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:106 def clear_cache(key = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:283 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:305 def finish(name, id, payload, listeners = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:187 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:190 + def group_listeners(listeners); end + + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:196 def groups_for(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:59 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:64 def inspect; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:306 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:328 def listeners_for(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:310 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:332 def listening?(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:289 - def publish(name, *args); end + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:311 + def publish(name, *, **, &); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:293 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:315 def publish_event(event); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:276 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:298 def start(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:64 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:69 def subscribe(pattern = T.unsafe(nil), callable = T.unsafe(nil), monotonic: T.unsafe(nil), &block); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:81 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:86 def unsubscribe(subscriber_or_name); end # This is a sync queue, so there is no waiting. # - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:315 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:337 def wait; end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:113 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:116 class ActiveSupport::Notifications::Fanout::BaseGroup include ::ActiveSupport::Notifications::FanoutIteration - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:116 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:119 def initialize(listeners, name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:120 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:123 def each(&block); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:125 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:128 class ActiveSupport::Notifications::Fanout::BaseTimeGroup < ::ActiveSupport::Notifications::Fanout::BaseGroup - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:130 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:133 def finish(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:126 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:129 def start(name, id, payload); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:166 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:169 class ActiveSupport::Notifications::Fanout::EventObjectGroup < ::ActiveSupport::Notifications::Fanout::BaseGroup - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:172 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:175 def finish(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:167 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:170 def start(name, id, payload); end private - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:182 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:185 def build_event(name, id, payload); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:152 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:155 class ActiveSupport::Notifications::Fanout::EventedGroup < ::ActiveSupport::Notifications::Fanout::BaseGroup - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:159 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:162 def finish(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:153 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:156 def start(name, id, payload); end end @@ -9499,138 +10442,152 @@ end # handle.finish # end # -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:227 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:230 class ActiveSupport::Notifications::Fanout::Handle include ::ActiveSupport::Notifications::FanoutIteration - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:230 - def initialize(notifier, name, id, payload); end + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:233 + def initialize(notifier, name, id, groups, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:249 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:250 def finish; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:253 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:254 def finish_with_values(name, id, payload); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:240 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:241 def start; end private - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:263 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:264 def ensure_state!(expected); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:138 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:141 class ActiveSupport::Notifications::Fanout::MonotonicTimedGroup < ::ActiveSupport::Notifications::Fanout::BaseTimeGroup private - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:140 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:143 def now; end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:318 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:271 +module ActiveSupport::Notifications::Fanout::NullHandle + extend ::ActiveSupport::Notifications::Fanout::NullHandle + + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:277 + def finish; end + + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:280 + def finish_with_values(_name, _id, _payload); end + + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:274 + def start; end +end + +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:340 module ActiveSupport::Notifications::Fanout::Subscribers class << self - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:319 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:341 def new(pattern, listener, monotonic); end end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:433 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:455 class ActiveSupport::Notifications::Fanout::Subscribers::EventObject < ::ActiveSupport::Notifications::Fanout::Subscribers::Evented - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:434 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:456 def group_class; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:438 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:460 def publish_event(event); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:375 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:397 class ActiveSupport::Notifications::Fanout::Subscribers::Evented - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:378 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:400 def initialize(pattern, delegate); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:376 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:398 def delegate; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:386 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:408 def group_class; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:376 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:398 def pattern; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:390 - def publish(name, *args); end + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:412 + def publish(*, **, &); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:396 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:418 def publish_event(event); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:376 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:398 def silenceable; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:404 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:426 def silenced?(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:408 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:430 def subscribed_to?(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:412 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:434 def unsubscribe!(name); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:338 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:360 class ActiveSupport::Notifications::Fanout::Subscribers::Matcher - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:351 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:373 def initialize(pattern); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:360 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:382 def ===(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:339 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:361 def exclusions; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:339 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:361 def pattern; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:356 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:378 def unsubscribe!(name); end class << self - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:341 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:363 def wrap(pattern); end end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:364 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:386 class ActiveSupport::Notifications::Fanout::Subscribers::Matcher::AllMessages - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:365 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:387 def ===(name); end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:369 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:391 def unsubscribe!(*); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:427 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:449 class ActiveSupport::Notifications::Fanout::Subscribers::MonotonicTimed < ::ActiveSupport::Notifications::Fanout::Subscribers::Timed - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:428 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:450 def group_class; end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:417 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:439 class ActiveSupport::Notifications::Fanout::Subscribers::Timed < ::ActiveSupport::Notifications::Fanout::Subscribers::Evented - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:418 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:440 def group_class; end - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:422 - def publish(name, *args); end + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:444 + def publish(*, **, &); end end -# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:145 +# pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:148 class ActiveSupport::Notifications::Fanout::TimedGroup < ::ActiveSupport::Notifications::Fanout::BaseTimeGroup private - # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:147 + # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:150 def now; end end @@ -9639,7 +10596,7 @@ module ActiveSupport::Notifications::FanoutIteration private # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:20 - def iterate_guarding_exceptions(collection); end + def iterate_guarding_exceptions(collection, &block); end end # pkg:gem/activesupport#lib/active_support/notifications/fanout.rb:8 @@ -10192,10 +11149,10 @@ end # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:12 class ActiveSupport::NumberHelper::NumberConverter - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:124 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:127 def initialize(number, options); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:130 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:133 def execute; end # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:14 @@ -10224,32 +11181,32 @@ class ActiveSupport::NumberHelper::NumberConverter private - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:149 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:152 def default_format_options; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:174 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:177 def default_value(key); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:145 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:148 def format_options; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:155 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:158 def i18n_format_options; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:141 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:144 def options; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:170 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:173 def translate_in_locale(key, **i18n_options); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:166 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:169 def translate_number_value_with_default(key, **i18n_options); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:178 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:181 def valid_bigdecimal; end class << self - # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:120 + # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:123 def convert(number, options); end # pkg:gem/activesupport#lib/active_support/number_helper/number_converter.rb:14 @@ -10315,15 +11272,15 @@ end # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:7 class ActiveSupport::NumberHelper::NumberToDelimitedConverter < ::ActiveSupport::NumberHelper::NumberConverter - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:12 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:10 def convert; end private - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:40 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:39 def delimiter_pattern; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:17 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:15 def parts; end class << self @@ -10337,9 +11294,6 @@ class ActiveSupport::NumberHelper::NumberToDelimitedConverter < ::ActiveSupport: end end -# pkg:gem/activesupport#lib/active_support/number_helper/number_to_delimited_converter.rb:10 -ActiveSupport::NumberHelper::NumberToDelimitedConverter::DEFAULT_DELIMITER_REGEX = T.let(T.unsafe(nil), Regexp) - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_human_converter.rb:7 class ActiveSupport::NumberHelper::NumberToHumanConverter < ::ActiveSupport::NumberHelper::NumberConverter # pkg:gem/activesupport#lib/active_support/number_helper/number_to_human_converter.rb:15 @@ -10459,20 +11413,17 @@ class ActiveSupport::NumberHelper::NumberToPhoneConverter < ::ActiveSupport::Num # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:31 def convert_without_area_code(number); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:47 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:43 def country_code(code); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:43 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:39 def delimiter; end - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:51 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:47 def phone_ext(ext); end - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:55 + # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:51 def regexp_pattern(default_pattern); end - - # pkg:gem/activesupport#lib/active_support/number_helper/number_to_phone_converter.rb:39 - def start_with_delimiter?(number); end end # pkg:gem/activesupport#lib/active_support/number_helper/number_to_rounded_converter.rb:7 @@ -10915,10 +11866,19 @@ class ActiveSupport::Reloader < ::ActiveSupport::ExecutionWrapper def _prepare_callbacks; end # pkg:gem/activesupport#lib/active_support/reloader.rb:31 - def _run_class_unload_callbacks(&block); end + def _run_class_unload_callbacks; end + + # pkg:gem/activesupport#lib/active_support/reloader.rb:31 + def _run_class_unload_callbacks!(&block); end # pkg:gem/activesupport#lib/active_support/reloader.rb:29 - def _run_prepare_callbacks(&block); end + def _run_prepare_callbacks; end + + # pkg:gem/activesupport#lib/active_support/reloader.rb:29 + def _run_prepare_callbacks!(&block); end + + # pkg:gem/activesupport#lib/active_support/reloader.rb:48 + def _run_run_callbacks(&block); end # pkg:gem/activesupport#lib/active_support/reloader.rb:85 def check; end @@ -11158,129 +12118,132 @@ end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:19 class ActiveSupport::SafeBuffer < ::String # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:70 - def initialize(str = T.unsafe(nil)); end + def initialize(_str = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:123 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:124 def %(args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:116 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:115 def *(_); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:112 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:111 def +(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:86 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:85 def <<(value); end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:38 def [](*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:104 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:103 def []=(arg1, arg2, arg3 = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:88 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:147 + def as_json(*); end + + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:87 def bytesplice(*args, value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def capitalize(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def capitalize!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def chomp(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def chomp!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def chop(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def chop!(*args); end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:59 def chr; end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:80 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:79 def concat(value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete_prefix(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete_prefix!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete_suffix(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def delete_suffix!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def downcase(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def downcase!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:148 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:155 def encode_with(coder); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:168 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:175 def gsub(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:168 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:175 def gsub!(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:137 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:139 def html_safe?; end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:92 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:91 def insert(index, value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def lstrip(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def lstrip!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def next(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def next!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:96 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:95 def prepend(value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:100 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:99 def replace(value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def reverse(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def reverse!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def rstrip(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def rstrip!(*args); end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:65 def safe_concat(value); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def scrub(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def scrub!(*args); end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:49 @@ -11289,84 +12252,89 @@ class ActiveSupport::SafeBuffer < ::String # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:51 def slice!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def squeeze(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def squeeze!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def strip(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def strip!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:168 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:175 def sub(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:168 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:175 def sub!(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def succ(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def succ!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def swapcase(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def swapcase!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:144 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:151 def to_param; end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:140 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:143 def to_s; end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def tr(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def tr!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def tr_s(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def tr_s!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def unicode_normalize(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def unicode_normalize!(*args); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def upcase(*args, &block); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:154 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:161 def upcase!(*args); end + protected + + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:202 + def mark_unsafe!; end + private - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:195 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:207 def explicit_html_escape_interpolated_argument(arg); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:199 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:211 def implicit_html_escape_interpolated_argument(arg); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:75 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:74 def initialize_copy(other); end # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:28 def original_concat(*_arg0); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:207 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:219 def set_block_back_references(block, match_data); end - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:213 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:225 def string_into_safe_buffer(new_string, is_html_safe); end end @@ -11431,7 +12399,12 @@ class ActiveSupport::SecureCompareRotator::InvalidMatch < ::StandardError; end module ActiveSupport::SecurityUtils private - # pkg:gem/activesupport#lib/active_support/security_utils.rb:11 + # Constant time string comparison, for fixed length strings. + # + # The values compared should be of fixed length, such as strings + # that have already been processed by HMAC. Raises in case of length mismatch. + # + # pkg:gem/activesupport#lib/active_support/security_utils.rb:10 def fixed_length_secure_compare(a, b); end # Secure string comparison for strings of variable length. @@ -11441,14 +12414,14 @@ module ActiveSupport::SecurityUtils # the secret length. This should be considered when using secure_compare # to compare weak, short secrets to user input. # - # pkg:gem/activesupport#lib/active_support/security_utils.rb:33 + # pkg:gem/activesupport#lib/active_support/security_utils.rb:32 def secure_compare(a, b); end class << self - # pkg:gem/activesupport#lib/active_support/security_utils.rb:25 + # pkg:gem/activesupport#lib/active_support/security_utils.rb:24 def fixed_length_secure_compare(a, b); end - # pkg:gem/activesupport#lib/active_support/security_utils.rb:36 + # pkg:gem/activesupport#lib/active_support/security_utils.rb:35 def secure_compare(a, b); end end end @@ -11482,6 +12455,100 @@ class ActiveSupport::StringInquirer < ::String def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end end +# = Active Support Structured Event \Subscriber +# +# +ActiveSupport::StructuredEventSubscriber+ consumes ActiveSupport::Notifications +# in order to emit structured events via +Rails.event+. +# +# An example would be the Action Controller structured event subscriber, responsible for +# emitting request processing events: +# +# module ActionController +# class StructuredEventSubscriber < ActiveSupport::StructuredEventSubscriber +# attach_to :action_controller +# +# def start_processing(event) +# emit_event("controller.request_started", +# controller: event.payload[:controller], +# action: event.payload[:action], +# format: event.payload[:format] +# ) +# end +# end +# end +# +# After configured, whenever a "start_processing.action_controller" notification is published, +# it will properly dispatch the event (+ActiveSupport::Notifications::Event+) to the +start_processing+ method. +# The subscriber can then emit a structured event via the +emit_event+ method. +# +# pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:31 +class ActiveSupport::StructuredEventSubscriber < ::ActiveSupport::Subscriber + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:56 + def initialize; end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:88 + def call(event); end + + # Like +emit_event+, but only emits when the event reporter is in debug mode + # + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:82 + def emit_debug_event(name, payload = T.unsafe(nil), caller_depth: T.unsafe(nil), **kwargs); end + + # Emit a structured event via Rails.event.notify. + # + # ==== Arguments + # + # * +name+ - The event name as a string or symbol + # * +payload+ - The event payload as a hash or object + # * +caller_depth+ - Stack depth for source location (default: 1) + # * +kwargs+ - Additional payload data merged with the payload hash + # + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:75 + def emit_event(name, payload = T.unsafe(nil), caller_depth: T.unsafe(nil), **kwargs); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:61 + def silenced?(event); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:65 + def silenced_events=(_arg0); end + + private + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:95 + def handle_event_error(name, error); end + + class << self + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:37 + def attach_to(*, **, &); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:32 + def debug_methods; end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:32 + def debug_methods=(value); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:32 + def debug_methods?; end + + private + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:32 + def __class_attr_debug_methods; end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:32 + def __class_attr_debug_methods=(new_value); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:50 + def debug_only(method); end + + # pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:44 + def set_silenced_events; end + end +end + +# pkg:gem/activesupport#lib/active_support/structured_event_subscriber.rb:34 +ActiveSupport::StructuredEventSubscriber::DEBUG_CHECK = T.let(T.unsafe(nil), Proc) + # = Active Support \Subscriber # # +ActiveSupport::Subscriber+ is an object set to consume @@ -11520,9 +12587,6 @@ class ActiveSupport::Subscriber # pkg:gem/activesupport#lib/active_support/subscriber.rb:70 def patterns; end - # pkg:gem/activesupport#lib/active_support/subscriber.rb:70 - def publish_event(event); end - class << self # Attach the subscriber to a namespace. # @@ -11586,17 +12650,23 @@ class ActiveSupport::SyntaxErrorProxy # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:11 def backtrace; end - # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:34 + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:41 def backtrace_locations; end private - # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:47 + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:54 def parse_message_for_trace; end end # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:15 class ActiveSupport::SyntaxErrorProxy::BacktraceLocation < ::Struct + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:25 + def absolute_path; end + + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:22 + def base_label; end + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:19 def label; end @@ -11604,15 +12674,37 @@ class ActiveSupport::SyntaxErrorProxy::BacktraceLocation < ::Struct def spot(_); end end -# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:23 +# pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:30 class ActiveSupport::SyntaxErrorProxy::BacktraceLocationProxy - # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:24 + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:31 def initialize(loc, ex); end - # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:29 + # pkg:gem/activesupport#lib/active_support/syntax_error_proxy.rb:36 def spot(_); end end +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:6 +class ActiveSupport::TagStack + class << self + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:11 + def tags; end + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:15 + def with_tags(*args, **kwargs); end + + private + + # pkg:gem/activesupport#lib/active_support/event_reporter.rb:30 + def resolve_tags(args, kwargs); end + end +end + +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:7 +ActiveSupport::TagStack::EMPTY_TAGS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/activesupport#lib/active_support/event_reporter.rb:8 +ActiveSupport::TagStack::FIBER_KEY = T.let(T.unsafe(nil), Symbol) + # = Active Support Tagged Logging # # Wraps any standard Logger object to provide tagging capabilities. @@ -11735,7 +12827,7 @@ class ActiveSupport::TaggedLogging::TagStack def tags; end end -# pkg:gem/activesupport#lib/active_support/test_case.rb:21 +# pkg:gem/activesupport#lib/active_support/test_case.rb:23 class ActiveSupport::TestCase < ::Minitest::Test include ::ActiveSupport::Testing::SetupAndTeardown include ::ActiveSupport::Testing::TestsWithoutAssertions @@ -11743,6 +12835,8 @@ class ActiveSupport::TestCase < ::Minitest::Test include ::ActiveSupport::Callbacks include ::ActiveSupport::Testing::Assertions include ::ActiveSupport::Testing::ErrorReporterAssertions + include ::ActiveSupport::Testing::EventReporterAssertions + include ::ActiveSupport::Testing::NotificationAssertions include ::ActiveSupport::Testing::Deprecation include ::ActiveSupport::Testing::ConstantStubbing include ::ActiveSupport::Testing::TimeHelpers @@ -11752,108 +12846,130 @@ class ActiveSupport::TestCase < ::Minitest::Test extend ::ActiveSupport::Testing::SetupAndTeardown::ClassMethods extend ::ActiveSupport::Testing::Declarative - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def __callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 - def _run_setup_callbacks(&block); end + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 + def _run_setup_callbacks; end + + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 + def _run_setup_callbacks!(&block); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 - def _run_teardown_callbacks(&block); end + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 + def _run_teardown_callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 + def _run_teardown_callbacks!(&block); end + + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _setup_callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _teardown_callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:247 + # pkg:gem/activesupport#lib/active_support/test_case.rb:302 def assert_no_match(matcher, obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:170 + # pkg:gem/activesupport#lib/active_support/test_case.rb:225 def assert_not_empty(obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:181 + # pkg:gem/activesupport#lib/active_support/test_case.rb:236 def assert_not_equal(exp, act, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:192 + # pkg:gem/activesupport#lib/active_support/test_case.rb:247 def assert_not_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:203 + # pkg:gem/activesupport#lib/active_support/test_case.rb:258 def assert_not_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:214 + # pkg:gem/activesupport#lib/active_support/test_case.rb:269 def assert_not_includes(collection, obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:225 + # pkg:gem/activesupport#lib/active_support/test_case.rb:280 def assert_not_instance_of(cls, obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:236 + # pkg:gem/activesupport#lib/active_support/test_case.rb:291 def assert_not_kind_of(cls, obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:258 + # pkg:gem/activesupport#lib/active_support/test_case.rb:313 def assert_not_nil(obj, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:269 + # pkg:gem/activesupport#lib/active_support/test_case.rb:324 def assert_not_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:280 + # pkg:gem/activesupport#lib/active_support/test_case.rb:335 def assert_not_predicate(o1, op, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:291 + # pkg:gem/activesupport#lib/active_support/test_case.rb:346 def assert_not_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:302 + # pkg:gem/activesupport#lib/active_support/test_case.rb:357 def assert_not_same(exp, act, msg = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def file_fixture_path; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def file_fixture_path?; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:306 + # pkg:gem/activesupport#lib/active_support/test_case.rb:361 def inspect; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:148 + # pkg:gem/activesupport#lib/active_support/test_case.rb:196 def method_name; end + # Returns the current parallel worker ID if tests are running in parallel + # + # pkg:gem/activesupport#lib/active_support/test_case.rb:199 + def parallel_worker_id; end + class << self - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def __callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def __callbacks=(value); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _setup_callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _setup_callbacks=(value); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _teardown_callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def _teardown_callbacks=(value); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def file_fixture_path; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def file_fixture_path=(value); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def file_fixture_path?; end + # Returns the current parallel worker ID if tests are running in parallel, + # nil otherwise. + # + # ActiveSupport::TestCase.parallel_worker_id # => 2 + # + # pkg:gem/activesupport#lib/active_support/test_case.rb:34 + def parallel_worker_id; end + + # pkg:gem/activesupport#lib/active_support/test_case.rb:38 + def parallel_worker_id=(value); end + # Parallelizes the test suite. # # Takes a +workers+ argument that controls how many times the process # is forked. For each process a new database will be created suffixed # with the worker number. # - # test-database-0 - # test-database-1 + # test-database_0 + # test-database_1 # # If ENV["PARALLEL_WORKERS"] is set the workers argument will be ignored # and the environment variable will be used instead. This is useful for CI @@ -11880,10 +12996,33 @@ class ActiveSupport::TestCase < ::Minitest::Test # number of tests to run is above the +threshold+ param. The default value is # 50, and it's configurable via +config.active_support.test_parallelization_threshold+. # - # pkg:gem/activesupport#lib/active_support/test_case.rb:87 - def parallelize(workers: T.unsafe(nil), with: T.unsafe(nil), threshold: T.unsafe(nil)); end + # If you want to skip Rails default creation of one database per process in favor of + # writing your own implementation, you can set +parallelize_databases+, or configure it + # via +config.active_support.parallelize_test_databases+. + # + # parallelize(workers: :number_of_processors, parallelize_databases: false) + # + # Note that your test suite may deadlock if you attempt to use only one database + # with multiple processes. + # + # pkg:gem/activesupport#lib/active_support/test_case.rb:113 + def parallelize(workers: T.unsafe(nil), with: T.unsafe(nil), threshold: T.unsafe(nil), parallelize_databases: T.unsafe(nil)); end + + # Before fork hook for parallel testing. This can be used to run anything + # before the processes are forked. + # + # In your +test_helper.rb+ add the following: + # + # class ActiveSupport::TestCase + # parallelize_before_fork do + # # run this before fork + # end + # end + # + # pkg:gem/activesupport#lib/active_support/test_case.rb:138 + def parallelize_before_fork(&block); end - # Set up hook for parallel testing. This can be used if you have multiple + # Setup hook for parallel testing. This can be used if you have multiple # databases or any behavior that needs to be run after the process is forked # but before the tests run. # @@ -11897,7 +13036,7 @@ class ActiveSupport::TestCase < ::Minitest::Test # end # end # - # pkg:gem/activesupport#lib/active_support/test_case.rb:107 + # pkg:gem/activesupport#lib/active_support/test_case.rb:155 def parallelize_setup(&block); end # Clean up hook for parallel testing. This can be used to drop databases @@ -11914,7 +13053,7 @@ class ActiveSupport::TestCase < ::Minitest::Test # end # end # - # pkg:gem/activesupport#lib/active_support/test_case.rb:124 + # pkg:gem/activesupport#lib/active_support/test_case.rb:172 def parallelize_teardown(&block); end # Returns the order in which test cases are run. @@ -11924,7 +13063,7 @@ class ActiveSupport::TestCase < ::Minitest::Test # Possible values are +:random+, +:parallel+, +:alpha+, +:sorted+. # Defaults to +:random+. # - # pkg:gem/activesupport#lib/active_support/test_case.rb:44 + # pkg:gem/activesupport#lib/active_support/test_case.rb:61 def test_order; end # Sets the order in which test cases are run. @@ -11937,26 +13076,26 @@ class ActiveSupport::TestCase < ::Minitest::Test # * +:sorted+ (to run tests alphabetically by method name) # * +:alpha+ (equivalent to +:sorted+) # - # pkg:gem/activesupport#lib/active_support/test_case.rb:34 + # pkg:gem/activesupport#lib/active_support/test_case.rb:51 def test_order=(new_order); end private - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def __class_attr___callbacks; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:151 + # pkg:gem/activesupport#lib/active_support/test_case.rb:204 def __class_attr___callbacks=(new_value); end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def __class_attr_file_fixture_path; end - # pkg:gem/activesupport#lib/active_support/test_case.rb:158 + # pkg:gem/activesupport#lib/active_support/test_case.rb:213 def __class_attr_file_fixture_path=(new_value); end end end -# pkg:gem/activesupport#lib/active_support/test_case.rb:22 +# pkg:gem/activesupport#lib/active_support/test_case.rb:24 ActiveSupport::TestCase::Assertion = Minitest::Assertion # pkg:gem/activesupport#lib/active_support/testing/tagged_logging.rb:4 @@ -11987,19 +13126,31 @@ module ActiveSupport::Testing::Assertions # # The keyword arguments +:from+ and +:to+ can be given to specify the # expected initial value and the expected value after the block was - # executed. + # executed. The comparison is done using case equality (===), which means + # you can specify patterns or classes: # + # # Exact value match # assert_changes :@object, from: nil, to: :foo do # @object = :foo # end # + # # Case equality + # assert_changes -> { user.token }, to: /\w{32}/ do + # user.generate_token + # end + # + # # Type check + # assert_changes -> { current_error }, from: nil, to: RuntimeError do + # raise "Oops" + # end + # # An error message can be specified. # # assert_changes -> { Status.all_good? }, 'Expected the status to be bad' do # post :create, params: { status: { incident: true } } # end # - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:196 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:212 def assert_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), to: T.unsafe(nil), &block); end # Test numeric difference between the return value of an expression as a @@ -12022,19 +13173,19 @@ module ActiveSupport::Testing::Assertions # post :delete, params: { id: ... } # end # - # An array of expressions can also be passed in and evaluated. + # An array of expressions can be passed in and evaluated. # # assert_difference [ 'Article.count', 'Post.count' ], 2 do # post :create, params: { article: {...} } # end # - # A hash of expressions/numeric differences can also be passed in and evaluated. + # A hash of expressions/numeric differences can be passed in and evaluated. # - # assert_difference ->{ Article.count } => 1, ->{ Notification.count } => 2 do + # assert_difference({ 'Article.count' => 1, 'Notification.count' => 2 }) do # post :create, params: { article: {...} } # end # - # A lambda or a list of lambdas can be passed in and evaluated: + # A lambda, a list of lambdas or a hash of lambdas/numeric differences can be passed in and evaluated: # # assert_difference ->{ Article.count }, 2 do # post :create, params: { article: {...} } @@ -12044,13 +13195,17 @@ module ActiveSupport::Testing::Assertions # post :create, params: { article: {...} } # end # + # assert_difference ->{ Article.count } => 1, ->{ Notification.count } => 2 do + # post :create, params: { article: {...} } + # end + # # An error message can be specified. # # assert_difference 'Article.count', -1, 'An Article should be destroyed' do # post :delete, params: { id: ... } # end # - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:101 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:105 def assert_difference(expression, *args, &block); end # Assertion that the result of evaluating an expression is not changed before @@ -12061,19 +13216,31 @@ module ActiveSupport::Testing::Assertions # end # # Provide the optional keyword argument +:from+ to specify the expected - # initial value. + # initial value. The comparison is done using case equality (===), which means + # you can specify patterns or classes: # + # # Exact value match # assert_no_changes -> { Status.all_good? }, from: true do # post :create, params: { status: { ok: true } } # end # + # # Case equality + # assert_no_changes -> { user.token }, from: /\w{32}/ do + # user.touch + # end + # + # # Type check + # assert_no_changes -> { current_error }, from: RuntimeError do + # retry_operation + # end + # # An error message can be specified. # # assert_no_changes -> { Status.all_good? }, 'Expected the status to be good' do # post :create, params: { status: { ok: false } } # end # - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:253 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:281 def assert_no_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), &block); end # Assertion that the numeric result of evaluating an expression is not @@ -12101,7 +13268,7 @@ module ActiveSupport::Testing::Assertions # post :create, params: { article: invalid_attributes } # end # - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:158 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:162 def assert_no_difference(expression, message = T.unsafe(nil), &block); end # Asserts that an expression is not truthy. Passes if +object+ is +nil+ or @@ -12146,10 +13313,10 @@ module ActiveSupport::Testing::Assertions private - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:288 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:316 def _assert_nothing_raised_or_warn(assertion, &block); end - # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:303 + # pkg:gem/activesupport#lib/active_support/testing/assertions.rb:331 def _callable_to_source_string(callable); end end @@ -12325,6 +13492,22 @@ module ActiveSupport::Testing::ErrorReporterAssertions # # pkg:gem/activesupport#lib/active_support/testing/error_reporter_assertions.rb:62 def assert_no_error_reported(&block); end + + # Captures reported errors from within the block that match the given + # error class. + # + # reports = capture_error_reports(IOError) do + # Rails.error.report(IOError.new("Oops")) + # Rails.error.report(IOError.new("Oh no")) + # Rails.error.report(StandardError.new) + # end + # + # assert_equal 2, reports.size + # assert_equal "Oops", reports.first.error.message + # assert_equal "Oh no", reports.last.error.message + # + # pkg:gem/activesupport#lib/active_support/testing/error_reporter_assertions.rb:118 + def capture_error_reports(error_class = T.unsafe(nil), &block); end end # pkg:gem/activesupport#lib/active_support/testing/error_reporter_assertions.rb:6 @@ -12396,6 +13579,133 @@ class ActiveSupport::Testing::ErrorReporterAssertions::ErrorCollector::Report < end end +# Provides test helpers for asserting on ActiveSupport::EventReporter events. +# +# pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:6 +module ActiveSupport::Testing::EventReporterAssertions + # Asserts that the block causes an event with the given name to be reported + # to +Rails.event+. + # + # Passes if the evaluated code in the yielded block reports a matching event. + # + # assert_event_reported("user.created") do + # Rails.event.notify("user.created", { id: 123 }) + # end + # + # To test further details about the reported event, you can specify payload and tag matchers. + # + # assert_event_reported("user.created", + # payload: { id: 123, name: "John Doe" }, + # tags: { request_id: /[0-9]+/ } + # ) do + # Rails.event.tagged(request_id: "123") do + # Rails.event.notify("user.created", { id: 123, name: "John Doe" }) + # end + # end + # + # The matchers support partial matching - only the specified keys need to match. + # + # assert_event_reported("user.created", payload: { id: 123 }) do + # Rails.event.notify("user.created", { id: 123, name: "John Doe" }) + # end + # + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:142 + def assert_event_reported(name, payload: T.unsafe(nil), tags: T.unsafe(nil), &block); end + + # Asserts that the provided events were reported, regardless of order. + # + # assert_events_reported([ + # { name: "user.created", payload: { id: 123 } }, + # { name: "email.sent", payload: { to: "user@example.com" } } + # ]) do + # create_user_and_send_welcome_email + # end + # + # Supports the same payload and tag matching as +assert_event_reported+. + # + # assert_events_reported([ + # { + # name: "process.started", + # payload: { id: 123 }, + # tags: { request_id: /[0-9]+/ } + # }, + # { name: "process.completed" } + # ]) do + # Rails.event.tagged(request_id: "456") do + # start_and_complete_process(123) + # end + # end + # + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:184 + def assert_events_reported(expected_events, &block); end + + # Asserts that the block does not cause an event to be reported to +Rails.event+. + # + # If no name is provided, passes if evaluated code in the yielded block reports no events. + # + # assert_no_event_reported do + # service_that_does_not_report_events.perform + # end + # + # If a name is provided, passes if evaluated code in the yielded block reports no events + # with that name. + # + # assert_no_event_reported("user.created") do + # service_that_does_not_report_events.perform + # end + # + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:101 + def assert_no_event_reported(name = T.unsafe(nil), payload: T.unsafe(nil), tags: T.unsafe(nil), &block); end + + # Allows debug events to be reported to +Rails.event+ for the duration of a given block. + # + # with_debug_event_reporting do + # service_that_reports_debug_events.perform + # end + # + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:222 + def with_debug_event_reporting(&block); end +end + +# pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:7 +module ActiveSupport::Testing::EventReporterAssertions::EventCollector + class << self + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:46 + def emit(event); end + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:53 + def record; end + + private + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:81 + def event_recorders; end + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:66 + def subscribe; end + end +end + +# pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:11 +class ActiveSupport::Testing::EventReporterAssertions::EventCollector::Event + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:14 + def initialize(event_data); end + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:12 + def event_data; end + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:18 + def inspect; end + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:22 + def matches?(name, payload, tags); end + + private + + # pkg:gem/activesupport#lib/active_support/testing/event_reporter_assertions.rb:34 + def matches_hash?(expected_hash, event_key); end +end + # Adds simple access to sample files called file fixtures. # File fixtures are normal files stored in # ActiveSupport::TestCase.file_fixture_path. @@ -12469,40 +13779,119 @@ ActiveSupport::Testing::Isolation::Subprocess::ORIG_ARGV = T.let(T.unsafe(nil), # pkg:gem/activesupport#lib/active_support/testing/isolation.rb:8 class ActiveSupport::Testing::Isolation::SubprocessCrashed < ::StandardError; end +# pkg:gem/activesupport#lib/active_support/testing/notification_assertions.rb:5 +module ActiveSupport::Testing::NotificationAssertions + # Assert no notifications were emitted for a given +pattern+. + # + # You can assert no notifications were emitted by passing a pattern, which accepts + # either a string or regexp, and a block. While the block is executed, if no + # matching notifications are emitted, the assertion will pass. + # + # assert_no_notifications("post.submitted") do + # post.destroy # => emits non-matching notification + # end + # + # pkg:gem/activesupport#lib/active_support/testing/notification_assertions.rb:66 + def assert_no_notifications(pattern = T.unsafe(nil), &block); end + + # Assert a notification was emitted with a given +pattern+ and optional +payload+. + # + # You can assert that a notification was emitted by passing a pattern, which accepts + # either a string or regexp, an optional payload, and a block. While the block + # is executed, if a matching notification is emitted, the assertion will pass + # and the notification will be returned. + # + # Note that the payload is matched as a subset, meaning that the notification must + # contain at least the specified keys and values, but may contain additional ones. + # + # assert_notification("post.submitted", title: "Cool Post") do + # post.submit(title: "Cool Post", body: "Cool Body") # => emits matching notification + # end + # + # Using the returned notification, you can make more customized assertions. + # + # notification = assert_notification("post.submitted", title: "Cool Post") do + # ActiveSupport::Notifications.instrument("post.submitted", title: "Cool Post", body: Body.new("Cool Body")) + # end + # + # assert_instance_of(Body, notification.payload[:body]) + # + # pkg:gem/activesupport#lib/active_support/testing/notification_assertions.rb:28 + def assert_notification(pattern, payload = T.unsafe(nil), &block); end + + # Assert the number of notifications emitted with a given +pattern+. + # + # You can assert the number of notifications emitted by passing a pattern, which accepts + # either a string or regexp, a count, and a block. While the block is executed, + # the number of matching notifications emitted will be counted. After the block's + # execution completes, the assertion will pass if the count matches. + # + # assert_notifications_count("post.submitted", 1) do + # post.submit(title: "Cool Post") # => emits matching notification + # end + # + # pkg:gem/activesupport#lib/active_support/testing/notification_assertions.rb:51 + def assert_notifications_count(pattern, count, &block); end + + # Capture emitted notifications, optionally filtered by a +pattern+. + # + # You can capture emitted notifications, optionally filtered by a pattern, + # which accepts either a string or regexp, and a block. + # + # notifications = capture_notifications("post.submitted") do + # post.submit(title: "Cool Post") # => emits matching notification + # end + # + # pkg:gem/activesupport#lib/active_support/testing/notification_assertions.rb:85 + def capture_notifications(pattern = T.unsafe(nil), &block); end +end + # pkg:gem/activesupport#lib/active_support/testing/parallelization/server.rb:8 class ActiveSupport::Testing::Parallelization - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:28 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:36 def initialize(worker_count); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:41 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:54 def <<(work); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:18 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:26 def after_fork_hooks; end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:26 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:43 + def before_fork; end + + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:18 + def before_fork_hooks; end + + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:34 def run_cleanup_hooks; end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:49 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:62 def shutdown; end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:45 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:58 def size; end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:35 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:47 def start; end class << self - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:14 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:22 def after_fork_hook(&blk); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:18 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:26 def after_fork_hooks; end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:22 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:14 + def before_fork_hook(&blk); end + + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:18 + def before_fork_hooks; end + + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:30 def run_cleanup_hook(&blk); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:26 + # pkg:gem/activesupport#lib/active_support/testing/parallelization.rb:34 def run_cleanup_hooks; end end end @@ -12579,7 +13968,7 @@ class ActiveSupport::Testing::Parallelization::Worker # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:42 def perform_job(job); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:90 + # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:92 def run_cleanup; end # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:60 @@ -12593,10 +13982,10 @@ class ActiveSupport::Testing::Parallelization::Worker private - # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:97 + # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:99 def add_setup_exception(result); end - # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:101 + # pkg:gem/activesupport#lib/active_support/testing/parallelization/worker.rb:103 def set_process_title(status); end end @@ -12822,12 +14211,16 @@ module ActiveSupport::Testing::TimeHelpers # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:69 def after_teardown; end - # Calls +travel_to+ with +Time.now+. Forwards optional with_usec argument. + # Calls +travel_to+ with +date_or_time+, which defaults to +Time.now+. + # Forwards optional with_usec argument. # # Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00 # freeze_time # sleep(1) # Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00 + # freeze_time Time.current + 1.day + # sleep(1) + # Time.current # => Mon, 10 Jul 2017 15:34:49 EST -05:00 # # This method also accepts a block, which will return the current time back to its original # state at the end of the block: @@ -12839,8 +14232,8 @@ module ActiveSupport::Testing::TimeHelpers # end # Time.current # => Sun, 09 Jul 2017 15:34:50 EST -05:00 # - # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:257 - def freeze_time(with_usec: T.unsafe(nil), &block); end + # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:261 + def freeze_time(date_or_time = T.unsafe(nil), with_usec: T.unsafe(nil), &block); end # Changes current time to the time in the future or in the past by a given time difference by # stubbing +Time.now+, +Date.today+, and +DateTime.now+. The stubs are automatically removed @@ -12937,13 +14330,13 @@ module ActiveSupport::Testing::TimeHelpers private - # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:266 + # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:270 def in_block; end - # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:266 + # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:270 def in_block=(_arg0); end - # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:262 + # pkg:gem/activesupport#lib/active_support/testing/time_helpers.rb:266 def simple_stubs; end end @@ -13006,7 +14399,7 @@ class ActiveSupport::TimeWithZone # now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:298 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:314 def +(other); end # Subtracts an interval of time and returns a new TimeWithZone object unless @@ -13032,17 +14425,17 @@ class ActiveSupport::TimeWithZone # # Time.zone.now - 1.day.ago # => 86399.999967 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:341 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:349 def -(other); end # Use the time in UTC for comparisons. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:231 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:247 def <=>(other); end # So that +self+ acts_like?(:time). # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:504 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:506 def acts_like_time?; end # Uses Date to provide precise Time calculations for years, months, and days @@ -13067,10 +14460,10 @@ class ActiveSupport::TimeWithZone # now.advance(months: 1) # => Tue, 02 Dec 2014 01:26:28.558049687 EST -05:00 # now.advance(years: 1) # => Mon, 02 Nov 2015 01:26:28.558049687 EST -05:00 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:430 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:438 def advance(options); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:235 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:251 def after?(_arg0); end # Subtracts an interval of time from the current object's time and returns @@ -13091,7 +14484,7 @@ class ActiveSupport::TimeWithZone # now.ago(24.hours) # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now.ago(1.day) # => Sun, 02 Nov 2014 00:26:28.725182881 EDT -04:00 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:369 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:377 def ago(other); end # Coerces time to a string for JSON encoding. The default format is ISO 8601. @@ -13107,21 +14500,21 @@ class ActiveSupport::TimeWithZone # Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").as_json # # => "2005/02/01 05:15:10 -1000" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:166 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:182 def as_json(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:234 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:250 def before?(_arg0); end # Returns true if the current object's time is within the specified # +min+ and +max+ time. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:239 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:255 def between?(min, max); end # An instance of ActiveSupport::TimeWithZone is never blank # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:515 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:517 def blank?; end # Returns a new +ActiveSupport::TimeWithZone+ where one or more of the elements have @@ -13142,13 +14535,13 @@ class ActiveSupport::TimeWithZone # t.change(offset: "-10:00") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00 # t.change(zone: "Hawaii") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:390 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:398 def change(options); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:66 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:72 def comparable_time; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def day; end # Returns true if the current time is within Daylight Savings \Time for the @@ -13158,15 +14551,15 @@ class ActiveSupport::TimeWithZone # Time.zone.parse("2012-5-30").dst? # => true # Time.zone.parse("2012-11-30").dst? # => false # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:94 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:100 def dst?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:178 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:194 def encode_with(coder); end # Returns +true+ if +other+ is equal to current object. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:274 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:290 def eql?(other); end # Returns a formatted string of the offset from UTC, or an alternative @@ -13178,42 +14571,42 @@ class ActiveSupport::TimeWithZone # Time.zone = 'UTC' # => "UTC" # Time.zone.now.formatted_offset(true, "0") # => "0" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:125 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:131 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:523 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:525 def freeze; end # Returns true if the current object's time is in the future. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:269 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:285 def future?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:67 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:73 def getgm; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:86 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:92 def getlocal(utc_offset = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:68 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:74 def getutc; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:108 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:114 def gmt?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:114 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:120 def gmt_offset; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:69 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:75 def gmtime; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:115 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:121 def gmtoff; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:278 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:294 def hash; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def hour; end # Returns a string of the object's date and time in the format used by @@ -13221,96 +14614,96 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.httpdate # => "Tue, 01 Jan 2013 04:39:43 GMT" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:186 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:202 def httpdate; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:316 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:324 def in(other); end # Returns the simultaneous time in Time.zone, or the specified zone. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:77 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:83 def in_time_zone(new_zone = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:174 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:190 def init_with(coder); end # Returns a string of the object's date, time, zone, and offset from UTC. # # Time.zone.now.inspect # => "2024-11-13 07:00:10.528054960 UTC +00:00" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:140 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:146 def inspect; end # Say we're a Time to thwart type checking. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:509 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:511 def is_a?(klass); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:97 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:103 def isdst; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:151 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:167 def iso8601(fraction_digits = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:512 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:514 def kind_of?(klass); end # Returns a Time instance of the simultaneous time in the system timezone. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:83 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:89 def localtime(utc_offset = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:529 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:531 def marshal_dump; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:533 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:535 def marshal_load(variables); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def mday; end # Send the missing method to +time+ instance, and wrap result in a new # TimeWithZone with the existing +time_zone+. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:553 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:555 def method_missing(*, **, &); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def min; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def mon; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def month; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:259 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:275 def next_day?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def nsec; end # Returns true if the current object's time is in the past. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:244 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:260 def past?; end # Returns the underlying +TZInfo::TimezonePeriod+. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:72 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:78 def period; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:519 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:521 def present?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:266 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:282 def prev_day?; end # respond_to_missing? is not called in some cases, such as when type conversion is # performed with Kernel#String # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:539 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:541 def respond_to?(sym, include_priv = T.unsafe(nil)); end # Returns a string of the object's date and time in the RFC 2822 standard @@ -13318,30 +14711,30 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:194 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:210 def rfc2822; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:152 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:168 def rfc3339(fraction_digits = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:197 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:213 def rfc822; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def sec; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:315 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:323 def since(other); end # Replaces %Z directive with +zone before passing to Time#strftime, # so that zone information is correct. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:225 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:241 def strftime(format); end # Returns a Time instance that represents the time in +time_zone+. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:58 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:64 def time; end # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:49 @@ -13353,10 +14746,10 @@ class ActiveSupport::TimeWithZone # now = Time.zone.now # => Tue, 18 Aug 2015 02:29:27.485278555 UTC +00:00 # now.to_a # => [27, 29, 2, 18, 8, 2015, 2, 230, false, "UTC"] # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:453 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:461 def to_a; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def to_date; end # Returns an instance of DateTime with the timezone's UTC offset @@ -13364,7 +14757,7 @@ class ActiveSupport::TimeWithZone # Time.zone.now.to_datetime # => Tue, 18 Aug 2015 02:32:20 +0000 # Time.current.in_time_zone('Hawaii').to_datetime # => Mon, 17 Aug 2015 16:32:20 -1000 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:486 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:494 def to_datetime; end # Returns the object's date and time as a floating-point number of seconds @@ -13372,10 +14765,10 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.to_f # => 1417709320.285418 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:461 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:469 def to_f; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:221 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:237 def to_formatted_s(format = T.unsafe(nil)); end # Returns a string of the object's date and time. @@ -13387,7 +14780,7 @@ class ActiveSupport::TimeWithZone # * :db - format outputs time in UTC :db time. See Time#to_fs(:db). # * Any key in +Time::DATE_FORMATS+ can be used. See active_support/core_ext/time/conversions.rb. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:212 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:228 def to_fs(format = T.unsafe(nil)); end # Returns the object's date and time as an integer number of seconds @@ -13395,7 +14788,7 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.to_i # => 1417709320 # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:469 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:477 def to_i; end # Returns the object's date and time as a rational number of seconds @@ -13403,42 +14796,42 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.to_r # => (708854548642709/500000) # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:478 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:486 def to_r; end # Returns a string of the object's date and time. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:200 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:216 def to_s; end # Returns an instance of +Time+, either with the same timezone as +self+, # with the same UTC offset as +self+ or in the local system timezone # depending on the setting of +ActiveSupport.to_time_preserves_timezone+. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:493 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:501 def to_time; end # Returns true if the current object's time falls within # the current day. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:250 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:266 def today?; end # Returns true if the current object's time falls within # the next day (tomorrow). # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:256 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:272 def tomorrow?; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:472 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:480 def tv_sec; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def usec; end # Returns a Time instance of the simultaneous time in the UTC timezone. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:63 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:69 def utc; end # Returns true if the current time zone is set to UTC. @@ -13448,15 +14841,15 @@ class ActiveSupport::TimeWithZone # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.now.utc? # => false # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:105 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:111 def utc?; end # Returns the offset from current time to UTC time in seconds. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:111 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:117 def utc_offset; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def wday; end # Returns a string of the object's date and time in the ISO 8601 standard @@ -13464,19 +14857,19 @@ class ActiveSupport::TimeWithZone # # Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:148 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:154 def xmlschema(fraction_digits = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def yday; end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:441 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:449 def year; end # Returns true if the current object's time falls within # the previous day (yesterday). # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:263 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:279 def yesterday?; end # Returns the time zone abbreviation. @@ -13484,37 +14877,37 @@ class ActiveSupport::TimeWithZone # Time.zone = 'Eastern Time (US & Canada)' # => "Eastern Time (US & Canada)" # Time.zone.now.zone # => "EST" # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:133 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:139 def zone; end private - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:589 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:593 def duration_of_variable_length?(obj); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:570 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:574 def get_period_and_ensure_valid_local_time(period); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:562 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:564 def incorporate_utc_offset(time, offset); end # Ensure proxy class responds to all methods that underlying time instance # responds to. # - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:547 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:549 def respond_to_missing?(sym, include_priv); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:583 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:587 def transfer_time_values_to_utc_constructor(time); end - # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:593 + # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:597 def wrap_with_time_zone(time); end end # pkg:gem/activesupport#lib/active_support/time_with_zone.rb:45 ActiveSupport::TimeWithZone::PRECISIONS = T.let(T.unsafe(nil), Hash) -# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:560 +# pkg:gem/activesupport#lib/active_support/time_with_zone.rb:562 ActiveSupport::TimeWithZone::SECONDS_PER_DAY = T.let(T.unsafe(nil), Integer) # = Active Support \Time Zone @@ -13548,22 +14941,22 @@ class ActiveSupport::TimeZone # :stopdoc: # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:309 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:310 def initialize(name, utc_offset = T.unsafe(nil), tzinfo = T.unsafe(nil)); end # Compare this time zone to the parameter. The two are compared first on # their offsets, and then by name. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:333 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:340 def <=>(zone); end # Compare #name and TZInfo identifier to a supplied regexp, returning +true+ # if a match is found. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:342 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:349 def =~(re); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:567 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:574 def abbr(time); end # \Method for creating new ActiveSupport::TimeWithZone instance in time zone @@ -13578,13 +14971,13 @@ class ActiveSupport::TimeZone # Time.zone = 'Hawaii' # => "Hawaii" # Time.at(946684800, 123456.789).nsec # => 123456789 # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:379 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:386 def at(*args); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:571 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:578 def dst?(time); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:579 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:586 def encode_with(coder); end # Returns a formatted string of the offset from UTC, or an alternative @@ -13594,10 +14987,10 @@ class ActiveSupport::TimeZone # zone.formatted_offset # => "-06:00" # zone.formatted_offset(false) # => "-0600" # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:327 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:334 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:575 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:582 def init_with(coder); end # \Method for creating new ActiveSupport::TimeWithZone instance in time zone @@ -13614,7 +15007,7 @@ class ActiveSupport::TimeZone # If the string is invalid then an +ArgumentError+ will be raised unlike +parse+ # which usually returns +nil+ when given an invalid date string. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:396 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:403 def iso8601(str); end # \Method for creating new ActiveSupport::TimeWithZone instance in time zone @@ -13623,22 +15016,22 @@ class ActiveSupport::TimeZone # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.local(2007, 2, 1, 15, 30, 45) # => Thu, 01 Feb 2007 15:30:45 HST -10:00 # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:363 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:370 def local(*args); end # Adjust the given time to the simultaneous time in UTC. Returns a # Time.utc() instance. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:551 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:558 def local_to_utc(time, dst = T.unsafe(nil)); end # Compare #name and TZInfo identifier to a supplied regexp, returning +true+ # if a match is found. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:348 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:355 def match?(re); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:296 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:297 def name; end # Returns an ActiveSupport::TimeWithZone instance representing the current @@ -13647,7 +15040,7 @@ class ActiveSupport::TimeZone # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.now # => Wed, 23 Jan 2008 20:24:27 HST -10:00 # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:516 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:523 def now; end # \Method for creating new ActiveSupport::TimeWithZone instance in time zone @@ -13669,16 +15062,16 @@ class ActiveSupport::TimeZone # # If the string is invalid then an +ArgumentError+ could be raised. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:453 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:460 def parse(str, now = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:559 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:566 def period_for_local(time, dst = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:555 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:562 def period_for_utc(time); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:563 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:570 def periods_for_local(time); end # \Method for creating new ActiveSupport::TimeWithZone instance in time zone @@ -13694,9 +15087,15 @@ class ActiveSupport::TimeZone # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.rfc3339('1999-12-31') # => ArgumentError: invalid date # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:469 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:476 def rfc3339(str); end + # Returns a standard time zone name defined by IANA + # https://www.iana.org/time-zones + # + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:319 + def standard_name; end + # Parses +str+ according to +format+ and returns an ActiveSupport::TimeWithZone. # # Assumes that +str+ is a time in the time zone +self+, @@ -13718,30 +15117,30 @@ class ActiveSupport::TimeZone # # Time.zone.strptime('Mar 2000', '%b %Y') # => Wed, 01 Mar 2000 00:00:00 HST -10:00 # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:507 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:514 def strptime(str, format, now = T.unsafe(nil)); end # Returns a textual representation of this time zone. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:354 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:361 def to_s; end # Returns the current date in this time zone. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:521 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:528 def today; end # Returns the next date in this time zone. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:526 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:533 def tomorrow; end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:297 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:298 def tzinfo; end # Returns the offset of this time zone from UTC in seconds. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:317 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:324 def utc_offset; end # Adjust the given time to the simultaneous time in the time zone @@ -13752,20 +15151,20 @@ class ActiveSupport::TimeZone # As of tzinfo 2, utc_to_local returns a Time with a non-zero utc_offset. # See the +utc_to_local_returns_utc_offset_times+ config for more info. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:542 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:549 def utc_to_local(time); end # Returns the previous date in this time zone. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:531 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:538 def yesterday; end private - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:585 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:592 def parts_to_time(parts, now); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:610 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:617 def time_now; end class << self @@ -13775,36 +15174,36 @@ class ActiveSupport::TimeZone # timezone to find. (The first one with that offset will be returned.) # Returns +nil+ if no such time zone is known to the system. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:232 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:233 def [](arg); end # Returns an array of all TimeZone objects. There are multiple # TimeZone objects per time zone, in many cases, to make it easier # for users to find their own time zone. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:223 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:224 def all; end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:265 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:266 def clear; end # A convenience method for returning a collection of TimeZone objects # for time zones in the country specified by its ISO 3166-1 Alpha2 code. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:260 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:261 def country_zones(country_code); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:211 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:212 def create(*_arg0); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:207 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:208 def find_tzinfo(name); end # Returns a TimeZone instance with the given name, or +nil+ if no # such TimeZone instance exists. (This exists to support the use of # this class with the +composed_of+ macro.) # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:216 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:217 def new(name); end # Assumes self represents an offset from UTC in seconds (as returned from @@ -13812,21 +15211,21 @@ class ActiveSupport::TimeZone # # ActiveSupport::TimeZone.seconds_to_utc_offset(-21_600) # => "-06:00" # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:199 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:200 def seconds_to_utc_offset(seconds, colon = T.unsafe(nil)); end # A convenience method for returning a collection of TimeZone objects # for time zones in the USA. # - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:254 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:255 def us_zones; end private - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:273 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:274 def load_country_zones(code); end - # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:287 + # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:288 def zones_map; end end end @@ -13836,10 +15235,10 @@ end # pkg:gem/activesupport#lib/active_support/values/time_zone.rb:33 ActiveSupport::TimeZone::MAPPING = T.let(T.unsafe(nil), Hash) -# pkg:gem/activesupport#lib/active_support/values/time_zone.rb:188 +# pkg:gem/activesupport#lib/active_support/values/time_zone.rb:189 ActiveSupport::TimeZone::UTC_OFFSET_WITHOUT_COLON = T.let(T.unsafe(nil), String) -# pkg:gem/activesupport#lib/active_support/values/time_zone.rb:187 +# pkg:gem/activesupport#lib/active_support/values/time_zone.rb:188 ActiveSupport::TimeZone::UTC_OFFSET_WITH_COLON = T.let(T.unsafe(nil), String) # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:35 @@ -13941,51 +15340,51 @@ end module ActiveSupport::XmlMini extend ::ActiveSupport::XmlMini - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:103 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:102 def backend; end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:107 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:106 def backend=(name); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:98 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:97 def depth; end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:98 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:97 def depth=(_arg0); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:101 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:100 def parse(*, **, &); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:154 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:153 def rename_key(key, options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:121 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:120 def to_tag(key, value, options); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:113 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:112 def with_backend(name); end private - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:165 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:164 def _dasherize(key); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:171 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:170 def _parse_binary(bin, entity); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:182 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:181 def _parse_file(file, entity); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:190 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:189 def _parse_hex_binary(bin); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:202 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:201 def cast_backend_name_to_module(name); end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:194 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:193 def current_thread_backend; end - # pkg:gem/activesupport#lib/active_support/xml_mini.rb:198 + # pkg:gem/activesupport#lib/active_support/xml_mini.rb:197 def current_thread_backend=(name); end end @@ -14013,7 +15412,7 @@ module ActiveSupport::XmlMini::FileLike def original_filename=(_arg0); end end -# pkg:gem/activesupport#lib/active_support/xml_mini.rb:67 +# pkg:gem/activesupport#lib/active_support/xml_mini.rb:66 ActiveSupport::XmlMini::PARSING = T.let(T.unsafe(nil), Hash) # pkg:gem/activesupport#lib/active_support/xml_mini.rb:39 @@ -14103,7 +15502,7 @@ end # pkg:gem/activesupport#lib/active_support/xml_mini/rexml.rb:11 ActiveSupport::XmlMini_REXML::CONTENT_KEY = T.let(T.unsafe(nil), String) -# pkg:gem/activesupport#lib/active_support/core_ext/object/blank.rb:95 +# pkg:gem/activesupport#lib/active_support/core_ext/array/extract.rb:3 class Array include ::Enumerable @@ -14344,7 +15743,7 @@ class Array # Calls to_param on all its elements and joins the result with # slashes. This is used by url_for in Action Pack. # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:43 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:48 def to_param; end # Converts an array into a string suitable for use as a URL query string, @@ -14352,7 +15751,7 @@ class Array # # ['Rails', 'coding'].to_query('hobbies') # => "hobbies%5B%5D=Rails&hobbies%5B%5D=coding" # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:51 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:56 def to_query(key); end # Converts the array to a comma-separated sentence where the last element is @@ -15295,35 +16694,14 @@ DateAndTime::Calculations::WEEKEND_DAYS = T.let(T.unsafe(nil), Array) # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:7 module DateAndTime::Compatibility - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:39 - def preserve_timezone; end - - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:56 + # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:21 def utc_to_local_returns_utc_offset_times; end class << self - # -- - # This re-implements the behaviour of the mattr_reader, instead - # of prepending on to it, to avoid overcomplicating a module that - # is in turn included in several places. This will all go away in - # Rails 8.0 anyway. - # - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:15 - def preserve_timezone; end - - # -- - # This re-implements the behaviour of the mattr_reader, instead - # of prepending on to it, to avoid overcomplicating a module that - # is in turn included in several places. This will all go away in - # Rails 8.0 anyway. - # - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:15 - def preserve_timezone=(val); end - - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:56 + # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:21 def utc_to_local_returns_utc_offset_times; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:56 + # pkg:gem/activesupport#lib/active_support/core_ext/date_and_time/compatibility.rb:21 def utc_to_local_returns_utc_offset_times=(val); end end end @@ -15362,7 +16740,7 @@ class DateTime < ::Date # Layers additional behavior on DateTime#<=> so that Time and # ActiveSupport::TimeWithZone instances can be compared with a DateTime. # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:208 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:209 def <=>(other); end # Duck-types as a Date-like class. See Object#acts_like?. @@ -15390,55 +16768,55 @@ class DateTime < ::Date # Returns a new DateTime representing the time a number of seconds ago. # Do not use this method in combination with x.months, use months_ago instead! # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:109 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:110 def ago(seconds); end # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:221 def as_json(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:127 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:128 def at_beginning_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:149 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:150 def at_beginning_of_hour; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:161 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:162 def at_beginning_of_minute; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:143 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:144 def at_end_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:155 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:156 def at_end_of_hour; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:167 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:168 def at_end_of_minute; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:135 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:136 def at_midday; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:137 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:138 def at_middle_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:126 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:127 def at_midnight; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:136 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:137 def at_noon; end # Returns a new DateTime representing the start of the day (0:00). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:122 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:123 def beginning_of_day; end # Returns a new DateTime representing the start of the hour (hh:00:00). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:146 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:147 def beginning_of_hour; end # Returns a new DateTime representing the start of the minute (hh:mm:00). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:158 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:159 def beginning_of_minute; end # No DateTime is ever blank: @@ -15470,17 +16848,17 @@ class DateTime < ::Date # Returns a new DateTime representing the end of the day (23:59:59). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:140 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:141 def end_of_day; end # Returns a new DateTime representing the end of the hour (hh:59:59). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:152 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:153 def end_of_hour; end # Returns a new DateTime representing the end of the minute (hh:mm:59). # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:164 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:165 def end_of_minute; end # Returns a formatted string of the offset from UTC, or an alternative @@ -15493,19 +16871,19 @@ class DateTime < ::Date # pkg:gem/activesupport#lib/active_support/core_ext/date_time/conversions.rb:53 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:192 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:193 def getgm; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:178 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:179 def getlocal(utc_offset = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:193 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:194 def getutc; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:194 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:195 def gmtime; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:119 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:120 def in(seconds); end # pkg:gem/activesupport#lib/active_support/core_ext/date_time/conversions.rb:62 @@ -15513,21 +16891,21 @@ class DateTime < ::Date # Returns a Time instance of the simultaneous time in the system timezone. # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:170 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:171 def localtime(utc_offset = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:133 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:134 def midday; end # Returns a new DateTime representing the middle of the day (12:00) # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:130 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:131 def middle_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:125 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:126 def midnight; end - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:134 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:135 def noon; end # Returns the fraction of a second as nanoseconds @@ -15565,7 +16943,7 @@ class DateTime < ::Date # instance time. Do not use this method in combination with x.months, use # months_since instead! # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:116 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:117 def since(seconds); end # Returns the fraction of a second as a +Rational+ @@ -15619,10 +16997,8 @@ class DateTime < ::Date # pkg:gem/activesupport#lib/active_support/core_ext/date_time/conversions.rb:86 def to_i; end - # Either return an instance of +Time+ with the same UTC offset - # as +self+ or an instance of +Time+ representing the same time - # in the local system timezone depending on the setting of - # on the setting of +ActiveSupport.to_time_preserves_timezone+. + # Return an instance of +Time+ with the same UTC offset + # as +self+. # # pkg:gem/activesupport#lib/active_support/core_ext/date_time/compatibility.rb:9 def to_time; end @@ -15637,17 +17013,17 @@ class DateTime < ::Date # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600 # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 UTC # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:184 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:185 def utc; end # Returns +true+ if offset == 0. # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:197 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:198 def utc?; end # Returns the offset value in seconds. # - # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:202 + # pkg:gem/activesupport#lib/active_support/core_ext/date_time/calculations.rb:203 def utc_offset; end private @@ -16036,9 +17412,9 @@ end # pkg:gem/activesupport#lib/active_support/core_ext/enumerable.rb:21 class Enumerable::SoleItemExpectedError < ::StandardError; end -# pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:256 +# pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:263 class Exception - # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:257 + # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:264 def as_json(options = T.unsafe(nil)); end end @@ -16061,7 +17437,7 @@ class FalseClass # Returns +self+. # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:35 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:40 def to_param; end end @@ -16356,7 +17732,7 @@ class Hash # pkg:gem/activesupport#lib/active_support/core_ext/hash/keys.rb:37 def to_options!; end - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:87 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:92 def to_param(namespace = T.unsafe(nil)); end # Returns a string representation of the receiver suitable for use as a URL @@ -16373,7 +17749,7 @@ class Hash # The string pairs "key=value" that conform the query string # are sorted lexicographically in ascending order. # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:76 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:81 def to_query(namespace = T.unsafe(nil)); end # Returns a string containing an XML representation of its receiver: @@ -16521,15 +17897,15 @@ end # :stopdoc: # -# pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:444 +# pkg:gem/activesupport#lib/active_support/hash_with_indifferent_access.rb:465 HashWithIndifferentAccess = ActiveSupport::HashWithIndifferentAccess # :enddoc: # -# pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:8 +# pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:9 module I18n; end -# pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:9 +# pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:10 class I18n::Railtie < ::Rails::Railtie class << self # pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:103 @@ -16540,7 +17916,7 @@ class I18n::Railtie < ::Rails::Railtie # Setup i18n configuration. # - # pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:35 + # pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:36 def initialize_i18n(app); end # pkg:gem/activesupport#lib/active_support/i18n_railtie.rb:84 @@ -17728,9 +19104,14 @@ class NilClass # Returns +self+. # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:21 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:26 def to_param; end + # Returns a CGI-escaped +key+. + # + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:21 + def to_query(key); end + # Calling +try+ on +nil+ always returns +nil+. # It becomes especially helpful when navigating through associations that may return +nil+. # @@ -18086,7 +19467,7 @@ class Object < ::BasicObject # end # end # - # C.new(0, 1).instance_variable_names # => ["@y", "@x"] + # C.new(0, 1).instance_variable_names # => ["@x", "@y"] # # pkg:gem/activesupport#lib/active_support/core_ext/object/instance_variables.rb:29 def instance_variable_names; end @@ -18307,9 +19688,9 @@ module Process end end -# pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:250 +# pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:257 class Process::Status - # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:251 + # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:258 def as_json(options = T.unsafe(nil)); end end @@ -18317,7 +19698,6 @@ end class Range include ::ActiveSupport::RangeWithFormat include ::ActiveSupport::CompareWithRange - include ::ActiveSupport::EachTimeWithZone include ::Enumerable # pkg:gem/activesupport#lib/active_support/core_ext/range/compare_range.rb:16 @@ -18326,10 +19706,7 @@ class Range # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:158 def as_json(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:7 - def each(&block); end - - # pkg:gem/activesupport#lib/active_support/core_ext/range/compare_range.rb:41 + # pkg:gem/activesupport#lib/active_support/core_ext/range/compare_range.rb:35 def include?(value); end # pkg:gem/activesupport#lib/active_support/core_ext/range/overlap.rb:39 @@ -18342,12 +19719,9 @@ class Range # (2..1).sole # => Enumerable::SoleItemExpectedError: no item found # (..1).sole # => Enumerable::SoleItemExpectedError: infinite range cannot represent a sole item # - # pkg:gem/activesupport#lib/active_support/core_ext/range/sole.rb:10 + # pkg:gem/activesupport#lib/active_support/core_ext/range/sole.rb:12 def sole; end - # pkg:gem/activesupport#lib/active_support/core_ext/range/each.rb:12 - def step(n = T.unsafe(nil), &block); end - # Optimize range sum to use arithmetic progression if a block is not given and # we have a range of numeric values. # @@ -18622,7 +19996,7 @@ class String # +raw+ helper in views. It is recommended that you use +sanitize+ instead of # this method. It should never be called on user input. # - # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:227 + # pkg:gem/activesupport#lib/active_support/core_ext/string/output_safety.rb:241 def html_safe; end # Capitalizes the first word, turns underscores into spaces, and (by default) strips a @@ -18711,7 +20085,7 @@ class String # utf_8_str.is_utf8? # => true # iso_str.is_utf8? # => false # - # pkg:gem/activesupport#lib/active_support/core_ext/string/multibyte.rb:48 + # pkg:gem/activesupport#lib/active_support/core_ext/string/multibyte.rb:57 def is_utf8?; end # Returns the last character of the string. If a limit is supplied, returns a substring @@ -19058,7 +20432,7 @@ class String # # Raises +ArgumentError+ when the bytesize of :omission exceeds truncate_to. # - # pkg:gem/activesupport#lib/active_support/core_ext/string/filters.rb:101 + # pkg:gem/activesupport#lib/active_support/core_ext/string/filters.rb:103 def truncate_bytes(truncate_to, omission: T.unsafe(nil)); end # Truncates a given +text+ after a given number of words (words_count): @@ -19076,7 +20450,7 @@ class String # 'And they found that many people were sleeping better.'.truncate_words(5, omission: '... (continued)') # # => "And they found that many... (continued)" # - # pkg:gem/activesupport#lib/active_support/core_ext/string/filters.rb:142 + # pkg:gem/activesupport#lib/active_support/core_ext/string/filters.rb:144 def truncate_words(words_count, options = T.unsafe(nil)); end # The reverse of +camelize+. Makes an underscored, lowercase form from the expression in the string. @@ -19163,13 +20537,13 @@ class Time include ::DateAndTime::Calculations include ::DateAndTime::Compatibility - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:305 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:302 def +(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:315 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:312 def -(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:345 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:342 def <=>(other); end # Duck-types as a Time-like class. See Object#acts_like?. @@ -19193,60 +20567,60 @@ class Time # largest to smallest. This order can affect the result around the end of a # month. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:194 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:197 def advance(options); end # Returns a new Time representing the time a number of seconds ago, this is basically a wrapper around the Numeric extension # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:220 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:224 def ago(seconds); end # pkg:gem/activesupport#lib/active_support/core_ext/object/json.rb:201 def as_json(options = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:243 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:240 def at_beginning_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:270 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:267 def at_beginning_of_hour; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:286 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:283 def at_beginning_of_minute; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:264 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:261 def at_end_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:280 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:277 def at_end_of_hour; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:295 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:292 def at_end_of_minute; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:251 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:248 def at_midday; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:253 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:250 def at_middle_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:242 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:239 def at_midnight; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:252 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:249 def at_noon; end # Returns a new Time representing the start of the day (0:00) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:238 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:235 def beginning_of_day; end # Returns a new Time representing the start of the hour (x:00) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:267 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:264 def beginning_of_hour; end # Returns a new Time representing the start of the minute (x:xx:00) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:283 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:280 def beginning_of_minute; end # No Time is blank: @@ -19271,43 +20645,43 @@ class Time # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, day: 1) # => Time.new(1981, 8, 1, 22, 35, 0) # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, hour: 0) # => Time.new(1981, 8, 29, 0, 0, 0) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:123 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:126 def change(options); end # Layers additional behavior on Time#<=> so that DateTime and ActiveSupport::TimeWithZone instances # can be chronologically compared with a Time # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:329 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:326 def compare_with_coercion(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:344 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:341 def compare_without_coercion(_arg0); end # Returns a new Time representing the end of the day, 23:59:59.999999 # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:256 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:253 def end_of_day; end # Returns a new Time representing the end of the hour, x:59:59.999999 # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:273 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:270 def end_of_hour; end # Returns a new Time representing the end of the minute, x:xx:59.999999 # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:289 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:286 def end_of_minute; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:355 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:352 def eql?(other); end # Layers additional behavior on Time#eql? so that ActiveSupport::TimeWithZone instances # can be eql? to an equivalent Time # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:349 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:346 def eql_with_coercion(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:354 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:351 def eql_without_coercion(_arg0); end # Returns a formatted string of the offset from UTC, or an alternative @@ -19319,79 +20693,76 @@ class Time # pkg:gem/activesupport#lib/active_support/core_ext/time/conversions.rb:69 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:235 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:232 def in(seconds); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:249 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:246 def midday; end # Returns a new Time representing the middle of the day (12:00) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:246 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:243 def middle_of_day; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:241 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:238 def midnight; end # Time#- can also be used to determine the number of seconds between two Time instances. # We're layering on additional behavior so that ActiveSupport::TimeWithZone instances # are coerced into values that Time#- will recognize # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:320 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:317 def minus_with_coercion(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:307 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:304 def minus_with_duration(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:324 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:321 def minus_without_coercion(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:314 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:311 def minus_without_duration(_arg0); end # Returns a new time the specified number of days in the future. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:363 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:360 def next_day(days = T.unsafe(nil)); end # Returns a new time the specified number of months in the future. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:373 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:370 def next_month(months = T.unsafe(nil)); end # Returns a new time the specified number of years in the future. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:383 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:380 def next_year(years = T.unsafe(nil)); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:250 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:247 def noon; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:297 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:294 def plus_with_duration(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:304 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:301 def plus_without_duration(_arg0); end # pkg:gem/activesupport#lib/active_support/core_ext/object/blank.rb:196 def present?; end - # pkg:gem/activesupport#lib/active_support/core_ext/time/compatibility.rb:17 - def preserve_timezone; end - # Returns a new time the specified number of days ago. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:358 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:355 def prev_day(days = T.unsafe(nil)); end # Returns a new time the specified number of months ago. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:368 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:365 def prev_month(months = T.unsafe(nil)); end # Returns a new time the specified number of years ago. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:378 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:375 def prev_year(years = T.unsafe(nil)); end # Aliased to +xmlschema+ for compatibility with +DateTime+ @@ -19403,7 +20774,7 @@ class Time # # Time.new(2012, 8, 29, 0, 0, 0.5).sec_fraction # => (1/2) # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:107 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:110 def sec_fraction; end # Returns the number of seconds since 00:00:00. @@ -19412,7 +20783,7 @@ class Time # Time.new(2012, 8, 29, 12, 34, 56).seconds_since_midnight # => 45296.0 # Time.new(2012, 8, 29, 23, 59, 59).seconds_since_midnight # => 86399.0 # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:91 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:94 def seconds_since_midnight; end # Returns the number of seconds until 23:59:59. @@ -19421,12 +20792,12 @@ class Time # Time.new(2012, 8, 29, 12, 34, 56).seconds_until_end_of_day # => 41103 # Time.new(2012, 8, 29, 23, 59, 59).seconds_until_end_of_day # => 0 # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:100 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:103 def seconds_until_end_of_day; end # Returns a new Time representing the time a number of seconds since the instance time # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:225 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:229 def since(seconds); end # pkg:gem/activesupport#lib/active_support/core_ext/time/conversions.rb:62 @@ -19462,53 +20833,44 @@ class Time # pkg:gem/activesupport#lib/active_support/core_ext/time/conversions.rb:55 def to_fs(format = T.unsafe(nil)); end - # Either return +self+ or the time in the local system timezone depending - # on the setting of +ActiveSupport.to_time_preserves_timezone+. + # Return +self+. # # pkg:gem/activesupport#lib/active_support/core_ext/time/compatibility.rb:9 def to_time; end - private - - # pkg:gem/activesupport#lib/active_support/core_ext/time/compatibility.rb:32 - def active_support_local_zone; end - - # pkg:gem/activesupport#lib/active_support/core_ext/time/compatibility.rb:22 - def system_local_time?; end - class << self # Overriding case equality method so that it returns true for ActiveSupport::TimeWithZone instances # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:18 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:19 def ===(other); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:60 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:61 def at(time_or_number, *args, **); end # Layers additional behavior on Time.at so that ActiveSupport::TimeWithZone and DateTime # instances can be used when called with a single argument # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:45 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:46 def at_with_coercion(time_or_number, *args, **); end - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:59 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:60 def at_without_coercion(time, subsec = T.unsafe(nil), unit = T.unsafe(nil), in: T.unsafe(nil)); end # Returns Time.zone.now when Time.zone or config.time_zone are set, otherwise just returns Time.now. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:39 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:40 def current; end # Returns the number of days in the given month. # If no year is specified, it will use the current year. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:24 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:25 def days_in_month(month, year = T.unsafe(nil)); end # Returns the number of days in the given year. # If no year is specified, it will use the current year. # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:34 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:35 def days_in_year(year = T.unsafe(nil)); end # Returns a TimeZone instance matching the time zone provided. @@ -19543,7 +20905,7 @@ class Time # # Time.rfc3339('1999-12-31') # => ArgumentError: invalid date # - # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:69 + # pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:72 def rfc3339(str); end # Allows override of Time.zone locally inside supplied block; @@ -19607,7 +20969,7 @@ class Time end end -# pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:14 +# pkg:gem/activesupport#lib/active_support/core_ext/time/calculations.rb:15 Time::COMMON_YEAR_DAYS_IN_MONTH = T.let(T.unsafe(nil), Array) # pkg:gem/activesupport#lib/active_support/core_ext/time/conversions.rb:8 @@ -19632,7 +20994,7 @@ class TrueClass # Returns +self+. # - # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:28 + # pkg:gem/activesupport#lib/active_support/core_ext/object/to_query.rb:33 def to_param; end end diff --git a/sorbet/rbi/gems/benchmark@0.5.0.rbi b/sorbet/rbi/gems/benchmark@0.5.0.rbi deleted file mode 100644 index 26ac079a..00000000 --- a/sorbet/rbi/gems/benchmark@0.5.0.rbi +++ /dev/null @@ -1,495 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `benchmark` gem. -# Please instead update this file by running `bin/tapioca gem benchmark`. - - -# The Benchmark module provides methods to measure and report the time -# used to execute Ruby code. -# -# * Measure the time to construct the string given by the expression -# "a"*1_000_000_000: -# -# require 'benchmark' -# -# puts Benchmark.measure { "a"*1_000_000_000 } -# -# On my machine (OSX 10.8.3 on i5 1.7 GHz) this generates: -# -# 0.350000 0.400000 0.750000 ( 0.835234) -# -# This report shows the user CPU time, system CPU time, the total time -# (sum of user CPU time, system CPU time, children's user CPU time, -# and children's system CPU time), and the elapsed real time. The unit -# of time is seconds. -# -# * Do some experiments sequentially using the #bm method: -# -# require 'benchmark' -# -# n = 5000000 -# Benchmark.bm do |x| -# x.report { for i in 1..n; a = "1"; end } -# x.report { n.times do ; a = "1"; end } -# x.report { 1.upto(n) do ; a = "1"; end } -# end -# -# The result: -# -# user system total real -# 1.010000 0.000000 1.010000 ( 1.014479) -# 1.000000 0.000000 1.000000 ( 0.998261) -# 0.980000 0.000000 0.980000 ( 0.981335) -# -# * Continuing the previous example, put a label in each report: -# -# require 'benchmark' -# -# n = 5000000 -# Benchmark.bm(7) do |x| -# x.report("for:") { for i in 1..n; a = "1"; end } -# x.report("times:") { n.times do ; a = "1"; end } -# x.report("upto:") { 1.upto(n) do ; a = "1"; end } -# end -# -# The result: -# -# user system total real -# for: 1.010000 0.000000 1.010000 ( 1.015688) -# times: 1.000000 0.000000 1.000000 ( 1.003611) -# upto: 1.030000 0.000000 1.030000 ( 1.028098) -# -# * The times for some benchmarks depend on the order in which items -# are run. These differences are due to the cost of memory -# allocation and garbage collection. To avoid these discrepancies, -# the #bmbm method is provided. For example, to compare ways to -# sort an array of floats: -# -# require 'benchmark' -# -# array = (1..1000000).map { rand } -# -# Benchmark.bmbm do |x| -# x.report("sort!") { array.dup.sort! } -# x.report("sort") { array.dup.sort } -# end -# -# The result: -# -# Rehearsal ----------------------------------------- -# sort! 1.490000 0.010000 1.500000 ( 1.490520) -# sort 1.460000 0.000000 1.460000 ( 1.463025) -# -------------------------------- total: 2.960000sec -# -# user system total real -# sort! 1.460000 0.000000 1.460000 ( 1.460465) -# sort 1.450000 0.010000 1.460000 ( 1.448327) -# -# * Report statistics of sequential experiments with unique labels, -# using the #benchmark method: -# -# require 'benchmark' -# include Benchmark # we need the CAPTION and FORMAT constants -# -# n = 5000000 -# Benchmark.benchmark(CAPTION, 7, FORMAT, ">total:", ">avg:") do |x| -# tf = x.report("for:") { for i in 1..n; a = "1"; end } -# tt = x.report("times:") { n.times do ; a = "1"; end } -# tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end } -# [tf+tt+tu, (tf+tt+tu)/3] -# end -# -# The result: -# -# user system total real -# for: 0.950000 0.000000 0.950000 ( 0.952039) -# times: 0.980000 0.000000 0.980000 ( 0.984938) -# upto: 0.950000 0.000000 0.950000 ( 0.946787) -# >total: 2.880000 0.000000 2.880000 ( 2.883764) -# >avg: 0.960000 0.000000 0.960000 ( 0.961255) -# -# pkg:gem/benchmark#lib/benchmark.rb:123 -module Benchmark - private - - # Invokes the block with a Benchmark::Report object, which - # may be used to collect and report on the results of individual - # benchmark tests. Reserves +label_width+ leading spaces for - # labels on each line. Prints +caption+ at the top of the - # report, and uses +format+ to format each line. - # (Note: +caption+ must contain a terminating newline character, - # see the default Benchmark::Tms::CAPTION for an example.) - # - # Returns an array of Benchmark::Tms objects. - # - # If the block returns an array of - # Benchmark::Tms objects, these will be used to format - # additional lines of output. If +labels+ parameter are - # given, these are used to label these extra lines. - # - # _Note_: Other methods provide a simpler interface to this one, and are - # suitable for nearly all benchmarking requirements. See the examples in - # Benchmark, and the #bm and #bmbm methods. - # - # Example: - # - # require 'benchmark' - # include Benchmark # we need the CAPTION and FORMAT constants - # - # n = 5000000 - # Benchmark.benchmark(CAPTION, 7, FORMAT, ">total:", ">avg:") do |x| - # tf = x.report("for:") { for i in 1..n; a = "1"; end } - # tt = x.report("times:") { n.times do ; a = "1"; end } - # tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end } - # [tf+tt+tu, (tf+tt+tu)/3] - # end - # - # Generates: - # - # user system total real - # for: 0.970000 0.000000 0.970000 ( 0.970493) - # times: 0.990000 0.000000 0.990000 ( 0.989542) - # upto: 0.970000 0.000000 0.970000 ( 0.972854) - # >total: 2.930000 0.000000 2.930000 ( 2.932889) - # >avg: 0.976667 0.000000 0.976667 ( 0.977630) - # - # pkg:gem/benchmark#lib/benchmark.rb:171 - def benchmark(caption = T.unsafe(nil), label_width = T.unsafe(nil), format = T.unsafe(nil), *labels); end - - # A simple interface to the #benchmark method, #bm generates sequential - # reports with labels. +label_width+ and +labels+ parameters have the same - # meaning as for #benchmark. - # - # require 'benchmark' - # - # n = 5000000 - # Benchmark.bm(7) do |x| - # x.report("for:") { for i in 1..n; a = "1"; end } - # x.report("times:") { n.times do ; a = "1"; end } - # x.report("upto:") { 1.upto(n) do ; a = "1"; end } - # end - # - # Generates: - # - # user system total real - # for: 0.960000 0.000000 0.960000 ( 0.957966) - # times: 0.960000 0.000000 0.960000 ( 0.960423) - # upto: 0.950000 0.000000 0.950000 ( 0.954864) - # - # pkg:gem/benchmark#lib/benchmark.rb:216 - def bm(label_width = T.unsafe(nil), *labels, &blk); end - - # Sometimes benchmark results are skewed because code executed - # earlier encounters different garbage collection overheads than - # that run later. #bmbm attempts to minimize this effect by running - # the tests twice, the first time as a rehearsal in order to get the - # runtime environment stable, the second time for - # real. GC.start is executed before the start of each of - # the real timings; the cost of this is not included in the - # timings. In reality, though, there's only so much that #bmbm can - # do, and the results are not guaranteed to be isolated from garbage - # collection and other effects. - # - # Because #bmbm takes two passes through the tests, it can - # calculate the required label width. - # - # require 'benchmark' - # - # array = (1..1000000).map { rand } - # - # Benchmark.bmbm do |x| - # x.report("sort!") { array.dup.sort! } - # x.report("sort") { array.dup.sort } - # end - # - # Generates: - # - # Rehearsal ----------------------------------------- - # sort! 1.440000 0.010000 1.450000 ( 1.446833) - # sort 1.440000 0.000000 1.440000 ( 1.448257) - # -------------------------------- total: 2.890000sec - # - # user system total real - # sort! 1.460000 0.000000 1.460000 ( 1.458065) - # sort 1.450000 0.000000 1.450000 ( 1.455963) - # - # #bmbm yields a Benchmark::Job object and returns an array of - # Benchmark::Tms objects. - # - # pkg:gem/benchmark#lib/benchmark.rb:258 - def bmbm(width = T.unsafe(nil)); end - - # Returns the time used to execute the given block as a - # Benchmark::Tms object. Takes +label+ option. - # - # require 'benchmark' - # - # n = 1000000 - # - # time = Benchmark.measure do - # n.times { a = "1" } - # end - # puts time - # - # Generates: - # - # 0.220000 0.000000 0.220000 ( 0.227313) - # - # pkg:gem/benchmark#lib/benchmark.rb:303 - def measure(label = T.unsafe(nil)); end - - # Returns the elapsed real time used to execute the given block. - # The unit of time is milliseconds. - # - # Benchmark.ms { "a" * 1_000_000_000 } - # #=> 509.8029999935534 - # - # pkg:gem/benchmark#lib/benchmark.rb:335 - def ms; end - - # Returns the elapsed real time used to execute the given block. - # The unit of time is seconds. - # - # Benchmark.realtime { "a" * 1_000_000_000 } - # #=> 0.5098029999935534 - # - # pkg:gem/benchmark#lib/benchmark.rb:322 - def realtime; end - - class << self - # pkg:gem/benchmark#lib/benchmark.rb:341 - def benchmark(caption = T.unsafe(nil), label_width = T.unsafe(nil), format = T.unsafe(nil), *labels); end - - # pkg:gem/benchmark#lib/benchmark.rb:341 - def bm(label_width = T.unsafe(nil), *labels, &blk); end - - # pkg:gem/benchmark#lib/benchmark.rb:341 - def bmbm(width = T.unsafe(nil)); end - - # pkg:gem/benchmark#lib/benchmark.rb:341 - def measure(label = T.unsafe(nil)); end - - # pkg:gem/benchmark#lib/benchmark.rb:341 - def ms; end - - # pkg:gem/benchmark#lib/benchmark.rb:341 - def realtime; end - end -end - -# A Job is a sequence of labelled blocks to be processed by the -# Benchmark.bmbm method. It is of little direct interest to the user. -# -# pkg:gem/benchmark#lib/benchmark.rb:347 -class Benchmark::Job - # Returns an initialized Job instance. - # Usually, one doesn't call this method directly, as new - # Job objects are created by the #bmbm method. - # +width+ is a initial value for the label offset used in formatting; - # the #bmbm method passes its +width+ argument to this constructor. - # - # pkg:gem/benchmark#lib/benchmark.rb:355 - def initialize(width); end - - # Registers the given label and block pair in the job list. - # - # pkg:gem/benchmark#lib/benchmark.rb:363 - def item(label = T.unsafe(nil), &blk); end - - # An array of 2-element arrays, consisting of label and block pairs. - # - # pkg:gem/benchmark#lib/benchmark.rb:375 - def list; end - - # pkg:gem/benchmark#lib/benchmark.rb:372 - def report(label = T.unsafe(nil), &blk); end - - # Length of the widest label in the #list. - # - # pkg:gem/benchmark#lib/benchmark.rb:378 - def width; end -end - -# This class is used by the Benchmark.benchmark and Benchmark.bm methods. -# It is of little direct interest to the user. -# -# pkg:gem/benchmark#lib/benchmark.rb:385 -class Benchmark::Report - # Returns an initialized Report instance. - # Usually, one doesn't call this method directly, as new - # Report objects are created by the #benchmark and #bm methods. - # +width+ and +format+ are the label offset and - # format string used by Tms#format. - # - # pkg:gem/benchmark#lib/benchmark.rb:393 - def initialize(width = T.unsafe(nil), format = T.unsafe(nil)); end - - # An array of Benchmark::Tms objects representing each item. - # - # pkg:gem/benchmark#lib/benchmark.rb:412 - def format; end - - # Prints the +label+ and measured time for the block, - # formatted by +format+. See Tms#format for the - # formatting rules. - # - # pkg:gem/benchmark#lib/benchmark.rb:402 - def item(label = T.unsafe(nil), *format, &blk); end - - # An array of Benchmark::Tms objects representing each item. - # - # pkg:gem/benchmark#lib/benchmark.rb:412 - def list; end - - # pkg:gem/benchmark#lib/benchmark.rb:409 - def report(label = T.unsafe(nil), *format, &blk); end - - # An array of Benchmark::Tms objects representing each item. - # - # pkg:gem/benchmark#lib/benchmark.rb:412 - def width; end -end - -# A data object, representing the times associated with a benchmark -# measurement. -# -# pkg:gem/benchmark#lib/benchmark.rb:421 -class Benchmark::Tms - # Returns an initialized Tms object which has - # +utime+ as the user CPU time, +stime+ as the system CPU time, - # +cutime+ as the children's user CPU time, +cstime+ as the children's - # system CPU time, +real+ as the elapsed real time and +label+ as the label. - # - # pkg:gem/benchmark#lib/benchmark.rb:456 - def initialize(utime = T.unsafe(nil), stime = T.unsafe(nil), cutime = T.unsafe(nil), cstime = T.unsafe(nil), real = T.unsafe(nil), label = T.unsafe(nil)); end - - # Returns a new Tms object obtained by memberwise multiplication - # of the individual times for this Tms object by +x+. - # - # pkg:gem/benchmark#lib/benchmark.rb:504 - def *(x); end - - # Returns a new Tms object obtained by memberwise summation - # of the individual times for this Tms object with those of the +other+ - # Tms object. - # This method and #/() are useful for taking statistics. - # - # pkg:gem/benchmark#lib/benchmark.rb:491 - def +(other); end - - # Returns a new Tms object obtained by memberwise subtraction - # of the individual times for the +other+ Tms object from those of this - # Tms object. - # - # pkg:gem/benchmark#lib/benchmark.rb:498 - def -(other); end - - # Returns a new Tms object obtained by memberwise division - # of the individual times for this Tms object by +x+. - # This method and #+() are useful for taking statistics. - # - # pkg:gem/benchmark#lib/benchmark.rb:511 - def /(x); end - - # Returns a new Tms object whose times are the sum of the times for this - # Tms object, plus the time required to execute the code block (+blk+). - # - # pkg:gem/benchmark#lib/benchmark.rb:465 - def add(&blk); end - - # An in-place version of #add. - # Changes the times of this Tms object by making it the sum of the times - # for this Tms object, plus the time required to execute - # the code block (+blk+). - # - # pkg:gem/benchmark#lib/benchmark.rb:475 - def add!(&blk); end - - # System CPU time of children - # - # pkg:gem/benchmark#lib/benchmark.rb:439 - def cstime; end - - # User CPU time of children - # - # pkg:gem/benchmark#lib/benchmark.rb:436 - def cutime; end - - # Returns the contents of this Tms object as - # a formatted string, according to a +format+ string - # like that passed to Kernel.format. In addition, #format - # accepts the following extensions: - # - # %u:: Replaced by the user CPU time, as reported by Tms#utime. - # %y:: Replaced by the system CPU time, as reported by Tms#stime (Mnemonic: y of "s*y*stem") - # %U:: Replaced by the children's user CPU time, as reported by Tms#cutime - # %Y:: Replaced by the children's system CPU time, as reported by Tms#cstime - # %t:: Replaced by the total CPU time, as reported by Tms#total - # %r:: Replaced by the elapsed real time, as reported by Tms#real - # %n:: Replaced by the label string, as reported by Tms#label (Mnemonic: n of "*n*ame") - # - # If +format+ is not given, FORMAT is used as default value, detailing the - # user, system, total and real elapsed time. - # - # pkg:gem/benchmark#lib/benchmark.rb:530 - def format(format = T.unsafe(nil), *args); end - - # Label - # - # pkg:gem/benchmark#lib/benchmark.rb:448 - def label; end - - # Elapsed real time - # - # pkg:gem/benchmark#lib/benchmark.rb:442 - def real; end - - # System CPU time - # - # pkg:gem/benchmark#lib/benchmark.rb:433 - def stime; end - - # Returns a new 6-element array, consisting of the - # label, user CPU time, system CPU time, children's - # user CPU time, children's system CPU time and elapsed - # real time. - # - # pkg:gem/benchmark#lib/benchmark.rb:555 - def to_a; end - - # Returns a hash containing the same data as `to_a`. - # - # pkg:gem/benchmark#lib/benchmark.rb:562 - def to_h; end - - # Same as #format. - # - # pkg:gem/benchmark#lib/benchmark.rb:545 - def to_s; end - - # Total time, that is +utime+ + +stime+ + +cutime+ + +cstime+ - # - # pkg:gem/benchmark#lib/benchmark.rb:445 - def total; end - - # User CPU time - # - # pkg:gem/benchmark#lib/benchmark.rb:430 - def utime; end - - protected - - # Returns a new Tms object obtained by memberwise operation +op+ - # of the individual times for this Tms object with those of the other - # Tms object (+x+). - # - # +op+ can be a mathematical operation such as +, -, - # *, / - # - # pkg:gem/benchmark#lib/benchmark.rb:583 - def memberwise(op, x); end -end - -# pkg:gem/benchmark#lib/benchmark.rb:125 -Benchmark::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/docile@1.4.1.rbi b/sorbet/rbi/gems/docile@1.4.1.rbi deleted file mode 100644 index 682563d4..00000000 --- a/sorbet/rbi/gems/docile@1.4.1.rbi +++ /dev/null @@ -1,377 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `docile` gem. -# Please instead update this file by running `bin/tapioca gem docile`. - - -# Docile keeps your Ruby DSLs tame and well-behaved. -# -# source://docile//lib/docile/version.rb#3 -module Docile - extend ::Docile::Execution - - private - - # Execute a block in the context of an object whose methods represent the - # commands in a DSL. - # - # Use this method to execute an *imperative* DSL, which means that: - # - # 1. Each command mutates the state of the DSL context object - # 2. The return value of each command is ignored - # 3. The final return value is the original context object - # - # @example Use a String as a DSL - # Docile.dsl_eval("Hello, world!") do - # reverse! - # upcase! - # end - # #=> "!DLROW ,OLLEH" - # @example Use an Array as a DSL - # Docile.dsl_eval([]) do - # push 1 - # push 2 - # pop - # push 3 - # end - # #=> [1, 3] - # @note Use with an *imperative* DSL (commands modify the context object) - # @param dsl [Object] context object whose methods make up the DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object - # @return [Object] the `dsl` context object after executing the block - # - # source://docile//lib/docile.rb#45 - def dsl_eval(dsl, *args, **_arg2, &block); end - - # Execute a block in the context of an immutable object whose methods, - # and the methods of their return values, represent the commands in a DSL. - # - # Use this method to execute a *functional* DSL, which means that: - # - # 1. The original DSL context object is never mutated - # 2. Each command returns the next DSL context object - # 3. The final return value is the value returned by the last command - # - # @example Use a frozen String as a DSL - # Docile.dsl_eval_immutable("I'm immutable!".freeze) do - # reverse - # upcase - # end - # #=> "!ELBATUMMI M'I" - # @example Use a Float as a DSL - # Docile.dsl_eval_immutable(84.5) do - # fdiv(2) - # floor - # end - # #=> 42 - # @note Use with a *functional* DSL (commands return successor - # context objects) - # @param dsl [Object] immutable context object whose methods make up the - # initial DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object and successor return values - # @return [Object] the return value of the final command in the block - # - # source://docile//lib/docile.rb#128 - def dsl_eval_immutable(dsl, *args, **_arg2, &block); end - - # Execute a block in the context of an object whose methods represent the - # commands in a DSL, and return *the block's return value*. - # - # Use this method to execute an *imperative* DSL, which means that: - # - # 1. Each command mutates the state of the DSL context object - # 2. The return value of each command is ignored - # 3. The final return value is the original context object - # - # @example Use a String as a DSL - # Docile.dsl_eval_with_block_return("Hello, world!") do - # reverse! - # upcase! - # first - # end - # #=> "!" - # @example Use an Array as a DSL - # Docile.dsl_eval_with_block_return([]) do - # push "a" - # push "b" - # pop - # push "c" - # length - # end - # #=> 2 - # @note Use with an *imperative* DSL (commands modify the context object) - # @param dsl [Object] context object whose methods make up the DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object - # @return [Object] the return value from executing the block - # - # source://docile//lib/docile.rb#87 - def dsl_eval_with_block_return(dsl, *args, **_arg2, &block); end - - class << self - # Execute a block in the context of an object whose methods represent the - # commands in a DSL. - # - # Use this method to execute an *imperative* DSL, which means that: - # - # 1. Each command mutates the state of the DSL context object - # 2. The return value of each command is ignored - # 3. The final return value is the original context object - # - # @example Use a String as a DSL - # Docile.dsl_eval("Hello, world!") do - # reverse! - # upcase! - # end - # #=> "!DLROW ,OLLEH" - # @example Use an Array as a DSL - # Docile.dsl_eval([]) do - # push 1 - # push 2 - # pop - # push 3 - # end - # #=> [1, 3] - # @note Use with an *imperative* DSL (commands modify the context object) - # @param dsl [Object] context object whose methods make up the DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object - # @return [Object] the `dsl` context object after executing the block - # - # source://docile//lib/docile.rb#45 - def dsl_eval(dsl, *args, **_arg2, &block); end - - # Execute a block in the context of an immutable object whose methods, - # and the methods of their return values, represent the commands in a DSL. - # - # Use this method to execute a *functional* DSL, which means that: - # - # 1. The original DSL context object is never mutated - # 2. Each command returns the next DSL context object - # 3. The final return value is the value returned by the last command - # - # @example Use a frozen String as a DSL - # Docile.dsl_eval_immutable("I'm immutable!".freeze) do - # reverse - # upcase - # end - # #=> "!ELBATUMMI M'I" - # @example Use a Float as a DSL - # Docile.dsl_eval_immutable(84.5) do - # fdiv(2) - # floor - # end - # #=> 42 - # @note Use with a *functional* DSL (commands return successor - # context objects) - # @param dsl [Object] immutable context object whose methods make up the - # initial DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object and successor return values - # @return [Object] the return value of the final command in the block - # - # source://docile//lib/docile.rb#128 - def dsl_eval_immutable(dsl, *args, **_arg2, &block); end - - # Execute a block in the context of an object whose methods represent the - # commands in a DSL, and return *the block's return value*. - # - # Use this method to execute an *imperative* DSL, which means that: - # - # 1. Each command mutates the state of the DSL context object - # 2. The return value of each command is ignored - # 3. The final return value is the original context object - # - # @example Use a String as a DSL - # Docile.dsl_eval_with_block_return("Hello, world!") do - # reverse! - # upcase! - # first - # end - # #=> "!" - # @example Use an Array as a DSL - # Docile.dsl_eval_with_block_return([]) do - # push "a" - # push "b" - # pop - # push "c" - # length - # end - # #=> 2 - # @note Use with an *imperative* DSL (commands modify the context object) - # @param dsl [Object] context object whose methods make up the DSL - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed against the - # `dsl` context object - # @return [Object] the return value from executing the block - # - # source://docile//lib/docile.rb#87 - def dsl_eval_with_block_return(dsl, *args, **_arg2, &block); end - end -end - -# This is used to remove entries pointing to Docile's source files -# from {Exception#backtrace} and {Exception#backtrace_locations}. -# -# If {NoMethodError} is caught then the exception object will be extended -# by this module to add filter functionalities. -# -# @api private -# -# source://docile//lib/docile/backtrace_filter.rb#11 -module Docile::BacktraceFilter - # @api private - # - # source://docile//lib/docile/backtrace_filter.rb#14 - def backtrace; end - - # @api private - # - # source://docile//lib/docile/backtrace_filter.rb#19 - def backtrace_locations; end -end - -# @api private -# -# source://docile//lib/docile/backtrace_filter.rb#12 -Docile::BacktraceFilter::FILTER_PATTERN = T.let(T.unsafe(nil), Regexp) - -# Operates in the same manner as {FallbackContextProxy}, but replacing -# the primary `receiver` object with the result of each proxied method. -# -# This is useful for implementing DSL evaluation for immutable context -# objects. -# -# -# @api private -# @see Docile.dsl_eval_immutable -# -# source://docile//lib/docile/chaining_fallback_context_proxy.rb#17 -class Docile::ChainingFallbackContextProxy < ::Docile::FallbackContextProxy - # Proxy methods as in {FallbackContextProxy#method_missing}, replacing - # `receiver` with the returned value. - # - # @api private - # - # source://docile//lib/docile/chaining_fallback_context_proxy.rb#20 - def method_missing(method, *args, **_arg2, &block); end -end - -# A namespace for functions relating to the execution of a block against a -# proxy object. -# -# @api private -# -# source://docile//lib/docile/execution.rb#8 -module Docile::Execution - private - - # Execute a block in the context of an object whose methods represent the - # commands in a DSL, using a specific proxy class. - # - # @api private - # @param dsl [Object] context object whose methods make up the - # (initial) DSL - # @param proxy_type [FallbackContextProxy, ChainingFallbackContextProxy] which class to instantiate as proxy context - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed - # @return [Object] the return value of the block - # - # source://docile//lib/docile/execution.rb#19 - def exec_in_proxy_context(dsl, proxy_type, *args, **_arg3, &block); end - - class << self - # Execute a block in the context of an object whose methods represent the - # commands in a DSL, using a specific proxy class. - # - # @api private - # @param dsl [Object] context object whose methods make up the - # (initial) DSL - # @param proxy_type [FallbackContextProxy, ChainingFallbackContextProxy] which class to instantiate as proxy context - # @param args [Array] arguments to be passed to the block - # @param block [Proc] the block of DSL commands to be executed - # @return [Object] the return value of the block - # - # source://docile//lib/docile/execution.rb#19 - def exec_in_proxy_context(dsl, proxy_type, *args, **_arg3, &block); end - end -end - -# A proxy object with a primary receiver as well as a secondary -# fallback receiver. -# -# Will attempt to forward all method calls first to the primary receiver, -# and then to the fallback receiver if the primary does not handle that -# method. -# -# This is useful for implementing DSL evaluation in the context of an object. -# -# -# @api private -# @see Docile.dsl_eval -# -# source://docile//lib/docile/fallback_context_proxy.rb#20 -class Docile::FallbackContextProxy - # @api private - # @param receiver [Object] the primary proxy target to which all methods - # initially will be forwarded - # @param fallback [Object] the fallback proxy target to which any methods - # not handled by `receiver` will be forwarded - # @return [FallbackContextProxy] a new instance of FallbackContextProxy - # - # source://docile//lib/docile/fallback_context_proxy.rb#46 - def initialize(receiver, fallback); end - - # @api private - # @return [Array] Instance variable names, excluding - # {NON_PROXIED_INSTANCE_VARIABLES} - # - # source://docile//lib/docile/fallback_context_proxy.rb#85 - def instance_variables; end - - # Proxy all methods, excluding {NON_PROXIED_METHODS}, first to `receiver` - # and then to `fallback` if not found. - # - # @api private - # - # source://docile//lib/docile/fallback_context_proxy.rb#91 - def method_missing(method, *args, **_arg2, &block); end -end - -# The set of methods which will **not** fallback from the block's context -# to the dsl object. -# -# @api private -# -# source://docile//lib/docile/fallback_context_proxy.rb#30 -Docile::FallbackContextProxy::NON_FALLBACK_METHODS = T.let(T.unsafe(nil), Set) - -# The set of instance variables which are local to this object and hidden. -# All other instance variables will be copied in and out of this object -# from the scope in which this proxy was created. -# -# @api private -# -# source://docile//lib/docile/fallback_context_proxy.rb#35 -Docile::FallbackContextProxy::NON_PROXIED_INSTANCE_VARIABLES = T.let(T.unsafe(nil), Set) - -# The set of methods which will **not** be proxied, but instead answered -# by this object directly. -# -# @api private -# -# source://docile//lib/docile/fallback_context_proxy.rb#23 -Docile::FallbackContextProxy::NON_PROXIED_METHODS = T.let(T.unsafe(nil), Set) - -# The current version of this library -# -# source://docile//lib/docile/version.rb#5 -Docile::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/honeybadger@5.30.0.rbi b/sorbet/rbi/gems/honeybadger@6.10.1.rbi similarity index 77% rename from sorbet/rbi/gems/honeybadger@5.30.0.rbi rename to sorbet/rbi/gems/honeybadger@6.10.1.rbi index ab3389be..f05a6807 100644 --- a/sorbet/rbi/gems/honeybadger@5.30.0.rbi +++ b/sorbet/rbi/gems/honeybadger@6.10.1.rbi @@ -108,7 +108,7 @@ module Honeybadger # @see Agent#notify # # pkg:gem/honeybadger#lib/honeybadger/singleton.rb:65 - def notify(exception_or_opts = T.unsafe(nil), opts = T.unsafe(nil), **kwargs); end + def notify(exception_or_opts = T.unsafe(nil), **opts); end # pkg:gem/honeybadger#lib/honeybadger/singleton.rb:45 def registry(*args, **, &block); end @@ -134,68 +134,80 @@ module Honeybadger # @api private # - # pkg:gem/honeybadger#lib/honeybadger/singleton.rb:106 + # pkg:gem/honeybadger#lib/honeybadger/singleton.rb:107 def ignored_exception?(exception); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:65 -class Honeybadger::ActionControllerCacheSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:66 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:76 +class Honeybadger::ActionControllerCacheSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:77 + def format_payload(_name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:59 -class Honeybadger::ActionControllerSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:60 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:70 +class Honeybadger::ActionControllerSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:71 + def format_payload(_name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:149 -class Honeybadger::ActionMailerSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:150 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:189 +class Honeybadger::ActionMailerSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:190 + def format_payload(_name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:97 -class Honeybadger::ActionViewSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:100 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:108 +class Honeybadger::ActionViewSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:111 + def format_payload(_name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:98 +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:109 Honeybadger::ActionViewSubscriber::PROJECT_ROOT = T.let(T.unsafe(nil), String) -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:123 -class Honeybadger::ActiveJobSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:124 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/plugins/active_agent.rb:26 +class Honeybadger::ActiveAgentSubscriber < ::Honeybadger::NotificationSubscriber + # pkg:gem/honeybadger#lib/honeybadger/plugins/active_agent.rb:27 + def format_payload(name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:108 -class Honeybadger::ActiveRecordSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:109 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:134 +class Honeybadger::ActiveJobSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:159 + def format_payload(name, payload); end + + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:135 + def record(name, payload); end + + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:140 + def record_metrics(name, payload); end +end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:117 - def process?(event, payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:119 +class Honeybadger::ActiveRecordSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:120 + def format_payload(_name, payload); end + + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:128 + def process?(name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:165 -class Honeybadger::ActiveStorageSubscriber < ::Honeybadger::NotificationSubscriber; end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:205 +class Honeybadger::ActiveStorageSubscriber < ::Honeybadger::RailsSubscriber; end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:79 -class Honeybadger::ActiveSupportCacheMultiSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:86 +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:90 +class Honeybadger::ActiveSupportCacheMultiSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:97 def expand_cache_keys_from_payload(data); end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:80 - def format_payload(payload); end + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:91 + def format_payload(_name, payload); end end -# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:72 -class Honeybadger::ActiveSupportCacheSubscriber < ::Honeybadger::NotificationSubscriber - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:73 - def format_payload(payload); end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:83 +class Honeybadger::ActiveSupportCacheSubscriber < ::Honeybadger::RailsSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:84 + def format_payload(_name, payload); end end # The Honeybadger agent contains all the methods for interacting with the @@ -259,19 +271,19 @@ class Honeybadger::Agent # # @return self # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:325 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:330 def add_breadcrumb(message, metadata: T.unsafe(nil), category: T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:595 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:605 def backend(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:572 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:577 def backtrace_filter(*args, **, &block); end # @api private # Direct access to the Breadcrumbs::Collector instance # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:299 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:304 def breadcrumbs; end # Perform a synchronous check_in. @@ -284,25 +296,25 @@ class Honeybadger::Agent # @return [Boolean] true if the check in was successful and false # otherwise. # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:206 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:207 def check_in(id); end # Clear all transaction scoped data. # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:281 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:286 def clear!; end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:496 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:501 def collect(collector); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:512 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:517 def config; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:524 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:529 def configure(*args, **, &block); end # Save global context for the current request. @@ -343,10 +355,10 @@ class Honeybadger::Agent # # @return [Object, self] value of the block if passed, otherwise self # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:273 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:278 def context(context = T.unsafe(nil), &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:620 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:630 def decrement_counter(*args, **, &block); end # Sends event to events backend @@ -364,7 +376,7 @@ class Honeybadger::Agent # # @return [void] # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:410 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:415 def event(event_type, payload = T.unsafe(nil)); end # Save event-specific context for the current request. @@ -398,18 +410,18 @@ class Honeybadger::Agent # # @return [Object, self] value of the block if passed, otherwise self # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:477 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:482 def event_context(context = T.unsafe(nil), &block); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:585 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:595 def events_worker; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:543 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:548 def exception_filter(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:558 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:563 def exception_fingerprint(*args, **, &block); end # Flushes all data from workers before returning. This is most useful in @@ -442,10 +454,10 @@ class Honeybadger::Agent # @return [Object, Boolean] value of block if block is given, otherwise true # on success or false if Honeybadger isn't running. # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:366 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:371 def flush; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:610 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:620 def gauge(*args, **, &block); end # Get global context for the current request. @@ -456,7 +468,7 @@ class Honeybadger::Agent # # @return [Hash, nil] # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:293 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:298 def get_context; end # Get event-specific context for the current request. @@ -467,24 +479,24 @@ class Honeybadger::Agent # # @return [Hash, nil] # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:491 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:496 def get_event_context; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:605 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:615 def histogram(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:615 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:625 def increment_counter(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:590 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:600 def init!(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:622 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:632 def instrumentation; end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:585 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:595 def metrics_worker; end # Sends an exception to Honeybadger. Does not report ignored exceptions by @@ -531,19 +543,24 @@ class Honeybadger::Agent # @return [false] when ignored. # # pkg:gem/honeybadger#lib/honeybadger/agent.rb:128 - def notify(exception_or_opts = T.unsafe(nil), opts = T.unsafe(nil), **kwargs); end + def notify(exception_or_opts = T.unsafe(nil), **opts); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:504 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:509 def registry; end + # @api private + # + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:590 + def set_request_id(request_id); end + # Stops the Honeybadger service. # # @example # Honeybadger.stop # => nil # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:379 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:384 def stop(force = T.unsafe(nil)); end # Stops the Honeybadger Insights related services. @@ -551,10 +568,10 @@ class Honeybadger::Agent # @example # Honeybadger.stop_insights # => nil # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:390 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:395 def stop_insights(force = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:600 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:610 def time(*args, **, &block); end # Track a new deployment @@ -570,49 +587,49 @@ class Honeybadger::Agent # @return [Boolean] true if the deployment was successfully tracked and false # otherwise. # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:225 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:230 def track_deployment(environment: T.unsafe(nil), revision: T.unsafe(nil), local_username: T.unsafe(nil), repository: T.unsafe(nil)); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:575 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:580 def with_rack_env(rack_env, &block); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:585 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:595 def worker; end private - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:656 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:666 def context_manager; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:676 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:686 def init_events_worker; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:681 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:691 def init_metrics_worker; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:671 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:681 def init_worker; end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:661 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:671 def push(object); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:632 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:642 def sample_event?(event); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:666 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:676 def send_now(object); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:628 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:638 def strip_metadata(event); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:648 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:658 def validate_notify_opts!(opts); end - # pkg:gem/honeybadger#lib/honeybadger/agent.rb:686 + # pkg:gem/honeybadger#lib/honeybadger/agent.rb:696 def with_error_handling; end class << self @@ -650,12 +667,12 @@ end # pkg:gem/honeybadger#lib/honeybadger/backend.rb:12 class Honeybadger::Backend::BackendError < ::StandardError; end -# pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:71 +# pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:107 class Honeybadger::Backend::Base include ::Honeybadger::Logging::Helper extend ::Forwardable - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:76 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:112 def initialize(config); end # Does a check in using the input id. @@ -664,7 +681,7 @@ class Honeybadger::Backend::Base # # @raise NotImplementedError # - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:99 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:135 def check_in(id); end # Send event @@ -674,7 +691,7 @@ class Honeybadger::Backend::Base # @param [Array] payload array of event hashes to send # @raise NotImplementedError # - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:118 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:154 def event(payload); end # Process payload for feature. @@ -688,7 +705,7 @@ class Honeybadger::Backend::Base # # @raise NotImplementedError # - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:90 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:126 def notify(feature, payload); end # Track a deployment @@ -697,12 +714,12 @@ class Honeybadger::Backend::Base # # @param [#to_json] payload The JSON payload containing all deployment data. # - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:108 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:144 def track_deployment(payload); end private - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:124 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:160 def config; end end @@ -763,7 +780,7 @@ class Honeybadger::Backend::Response # @param [String] message The String message returned by the server (or # set by the backend in the case of an :error code). # - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:36 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:39 def initialize(*args); end # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:12 @@ -775,24 +792,55 @@ class Honeybadger::Backend::Response # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:12 def error; end - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:51 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:77 def error_message; end + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:12 + def limit_reason; end + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:12 def message; end - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:47 + # Seconds to drop queued data and reject new data, or nil if this isn't + # a rejection. + # + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:68 + def reject_interval; end + + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:12 + def retry_after; end + + # The server is briefly unavailable (502/503/504, or 429 with + # Limit-Reason "overloaded") and Retry-After is absent or at most + # MAX_RETRY_AFTER. Hold the payload and retry it. Any other 429 means + # the server is rejecting data. + # + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:61 + def retryable?; end + + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:53 def success?; end private - # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:62 + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:98 def parse_error(body); end + + # Positive integer seconds only. Zero, negative, HTTP-date, and other + # values are treated as absent; Honeybadger only sends seconds. + # + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:91 + def parse_retry_after(value); end end -# pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:14 +# pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:17 Honeybadger::Backend::Response::FRIENDLY_ERRORS = T.let(T.unsafe(nil), Hash) +# Longest Retry-After, in seconds, accepted for a single retry delay. +# +# pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:15 +Honeybadger::Backend::Response::MAX_RETRY_AFTER = T.let(T.unsafe(nil), Integer) + # pkg:gem/honeybadger#lib/honeybadger/backend/base.rb:10 Honeybadger::Backend::Response::NOT_BLANK = T.let(T.unsafe(nil), Regexp) @@ -907,76 +955,87 @@ end # # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:6 class Honeybadger::Backtrace - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:127 - def initialize(lines); end + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:130 + def initialize(lines, limit = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:162 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:166 def ==(other); end # Holder for an Array of Backtrace::Line instances. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:115 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:118 def application_lines; end # JSON support. # # Returns JSON representation of backtrace. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:143 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:147 def as_json(options = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:158 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:162 def inspect; end # Holder for an Array of Backtrace::Line instances. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:115 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:118 def lines; end - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:138 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:142 def to_a; end # Convert Backtrace to arry. # # Returns array containing backtrace lines. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:135 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:139 def to_ary; end # Creates JSON. # # Returns valid JSON representation of backtrace. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:150 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:154 def to_json(*a); end - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:154 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:158 def to_s; end private # Holder for an Array of Backtrace::Line instances. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:172 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:176 def application_lines=(_arg0); end + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:178 + def limit; end + + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:178 + def limit=(_arg0); end + # Holder for an Array of Backtrace::Line instances. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:172 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:176 def lines=(_arg0); end class << self - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:117 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:120 def parse(ruby_backtrace, opts = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:174 + private + + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:183 def split_multiline_backtrace(backtrace); end end end +# pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:7 +Honeybadger::Backtrace::DEFAULT_LIMIT = T.let(T.unsafe(nil), Integer) + # Handles backtrace parsing line by line. # -# pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:8 +# pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:10 class Honeybadger::Backtrace::Line # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:53 def initialize(file, number, method, filtered_file = T.unsafe(nil), filtered_number = T.unsafe(nil), filtered_method = T.unsafe(nil), source_radius = T.unsafe(nil)); end @@ -991,22 +1050,22 @@ class Honeybadger::Backtrace::Line # The file portion of the line (such as app/models/user.rb). # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:14 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:16 def file; end # Filtered representations # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:25 def filtered_file; end # Filtered representations # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:25 def filtered_method; end # Filtered representations # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:25 def filtered_number; end # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:74 @@ -1014,12 +1073,12 @@ class Honeybadger::Backtrace::Line # The method of the line (such as index). # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:20 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:22 def method; end # The line number portion of the line. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:17 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:19 def number; end # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:83 @@ -1082,7 +1141,7 @@ class Honeybadger::Backtrace::Line # # @return The parsed backtrace line. # - # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:30 + # pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:32 def parse(unparsed_line, opts = T.unsafe(nil)); end end end @@ -1090,7 +1149,7 @@ end # Backtrace line regexp (optionally allowing leading X: for windows support). # Capture quoted strings either with leading backtick (pre Ruby 3.4) or single quote. # -# pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:11 +# pkg:gem/honeybadger#lib/honeybadger/backtrace.rb:13 Honeybadger::Backtrace::Line::INPUT_FORMAT = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/active_support.rb:4 @@ -1104,7 +1163,7 @@ class Honeybadger::Breadcrumbs::ActiveSupport private - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/active_support.rb:108 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/active_support.rb:109 def active_record_connection_db_config; end end end @@ -1130,7 +1189,7 @@ class Honeybadger::Breadcrumbs::Breadcrumb # # @return [Boolean] # - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/breadcrumb.rb:40 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/breadcrumb.rb:39 def active?; end # Raw breadcrumb data structure @@ -1142,7 +1201,7 @@ class Honeybadger::Breadcrumbs::Breadcrumb # # @return self # - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/breadcrumb.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/breadcrumb.rb:46 def ignore!; end # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/breadcrumb.rb:9 @@ -1166,6 +1225,49 @@ class Honeybadger::Breadcrumbs::Breadcrumb def to_h; end end +# @api private +# +# ActiveSupport::BroadcastLogger forwards one logical log event to multiple +# Logger instances. Wrapping it separately records the event once while +# silencing the sink loggers for the duration of the broadcast. +# +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:68 +module Honeybadger::Breadcrumbs::BroadcastLogWrapper + include ::Honeybadger::Breadcrumbs::LogHelper + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:80 + def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def debug(progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def error(progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def fatal(progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def info(progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:84 + def log(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def unknown(progname = T.unsafe(nil), &block); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:87 + def warn(progname = T.unsafe(nil), &block); end + + private + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:95 + def without_sink_breadcrumbs; end +end + +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:71 +Honeybadger::Breadcrumbs::BroadcastLogWrapper::LOG_METHOD_SEVERITIES = T.let(T.unsafe(nil), Hash) + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/collector.rb:5 class Honeybadger::Breadcrumbs::Collector include ::Enumerable @@ -1226,6 +1328,25 @@ class Honeybadger::Breadcrumbs::Collector def initialize_dup(source); end end +# @api private +# +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:8 +module Honeybadger::Breadcrumbs::LogHelper + private + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:20 + def add_log_breadcrumb(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:35 + def log_severity_label(severity); end + + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + def should_ignore_log?(message, progname); end +end + +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:9 +Honeybadger::Breadcrumbs::LogHelper::LOG_SEVERITY_LABELS = T.let(T.unsafe(nil), Hash) + # @api private # # This module is designed to be prepended into the @@ -1234,38 +1355,33 @@ end # class that provides LogSubscriber events, we want to filter out those # logs as they just become noise. # -# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:41 +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:111 module Honeybadger::Breadcrumbs::LogSubscriberInjector - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def debug(*args, &block); end - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def error(*args, &block); end - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def fatal(*args, &block); end - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def info(*args, &block); end - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def unknown(*args, &block); end - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:113 def warn(*args, &block); end end -# @api private -# -# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:5 +# pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:52 module Honeybadger::Breadcrumbs::LogWrapper - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:6 - def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil)); end - - private + include ::Honeybadger::Breadcrumbs::LogHelper - # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:26 - def should_ignore_log?(message, progname); end + # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/logging.rb:55 + def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end end # pkg:gem/honeybadger#lib/honeybadger/breadcrumbs/ring_buffer.rb:3 @@ -1301,254 +1417,261 @@ end # The Config class is used to manage Honeybadger's initialization and # configuration. # -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:5 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:6 class Honeybadger::Config include ::Honeybadger::Logging::Helper extend ::Forwardable - # pkg:gem/honeybadger#lib/honeybadger/config.rb:40 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:39 def initialize(opts = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:127 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:131 def [](key); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:133 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:137 def []=(key, value); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:154 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:95 + def after_notify_hooks; end + + # pkg:gem/honeybadger#lib/honeybadger/config.rb:157 def backend; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:159 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:162 def backend=(backend); end # pkg:gem/honeybadger#lib/honeybadger/config.rb:82 def backtrace_filter(&block); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:95 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:99 def before_event_hooks; end # pkg:gem/honeybadger#lib/honeybadger/config.rb:91 def before_notify_hooks; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:213 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:216 def ca_bundle_path; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:295 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:298 def cluster_collection?(name); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:301 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:304 def collection_interval(name); end # pkg:gem/honeybadger#lib/honeybadger/config.rb:74 def configure; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:227 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:230 def connection_port; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:237 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:240 def connection_protocol; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:178 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:181 def debug?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:336 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:325 def detected_framework; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:164 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:167 def dev?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def env; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def env=(_arg0); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:253 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:256 def events_batch_size; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:249 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:252 def events_max_queue_size; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:257 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:260 def events_timeout; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:99 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:103 def exception_filter(&block); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:108 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:112 def exception_fingerprint(&block); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:265 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:268 def excluded_request_keys; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def framework; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def framework=(_arg0); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:352 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:341 def framework_name; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:117 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:121 def get(key); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:187 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:190 def ignored_classes; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:203 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:206 def ignored_events; end # Called by framework (see lib/honeybadger/init/) at the point of # initialization. This is not required for the notifier to work (i.e. with # `require 'honeybadger/ruby'`). # - # pkg:gem/honeybadger#lib/honeybadger/config.rb:52 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:51 def init!(opts = T.unsafe(nil), env = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:291 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:294 def insights_enabled?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:64 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:63 def load!(framework: T.unsafe(nil), env: T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:285 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:288 def load_plugin?(name); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:306 - def load_plugin_insights?(name); end - - # pkg:gem/honeybadger#lib/honeybadger/config.rb:312 - def load_plugin_insights_events?(name); end - - # pkg:gem/honeybadger#lib/honeybadger/config.rb:319 - def load_plugin_insights_metrics?(name); end + # pkg:gem/honeybadger#lib/honeybadger/config.rb:309 + def load_plugin_insights?(name, feature: T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:223 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:226 def local_cert_path; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:182 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:185 def log_debug?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:274 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:277 def log_level(key = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:149 + # Internal Helpers + # + # pkg:gem/honeybadger#lib/honeybadger/config.rb:152 def logger; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:245 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:248 def max_queue_size; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:261 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:264 def params_filters; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:172 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:175 def public?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:195 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:198 def raw_ignored_events; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:326 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:315 def root_regexp; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def ruby; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def ruby=(_arg0); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:129 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:133 def set(key, value); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:144 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:148 def to_h(defaults = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:135 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:139 def to_hash(defaults = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:168 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:171 def warn_development?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def yaml; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:46 def yaml=(_arg0); end private - # pkg:gem/honeybadger#lib/honeybadger/config.rb:418 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:443 def build_file_logger(path); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:429 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:454 def build_logger; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:409 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:434 def build_stdout_logger; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:376 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:401 def config_path; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:380 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:405 def config_paths; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:386 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:411 def default_backend; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:365 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:354 def detect_revision!; end # Converts a nested hash into a single layer where keys become arrays: # ex: > flat_hash({ :nested => { :hash => "value" }}) # > { [:nested, :hash] => "value" } # - # pkg:gem/honeybadger#lib/honeybadger/config.rb:488 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:513 def flat_hash(h, f = T.unsafe(nil), g = T.unsafe(nil)); end # Takes an Array and a value and returns true if the value exists in the # array in String or Symbol form, otherwise false. # - # pkg:gem/honeybadger#lib/honeybadger/config.rb:450 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:475 def includes_token?(obj, value); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:391 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:416 def init_backend!; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:444 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:469 def init_logging!; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:464 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:489 def load_config_from_disk; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:455 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:480 def locate_absolute_path(path, root); end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:370 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:395 def log_path; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:425 + # pkg:gem/honeybadger#lib/honeybadger/config.rb:450 def log_stdout?; end - # pkg:gem/honeybadger#lib/honeybadger/config.rb:472 + # When an option includes the `deprecated` property, warn the logger with + # the provided message (or a default message if `true`). If the + # `deprecated_by` property is present, automatically rename the option, + # removing the old key from the source. + # + # pkg:gem/honeybadger#lib/honeybadger/config.rb:363 + def process_deprecations!; end + + # pkg:gem/honeybadger#lib/honeybadger/config.rb:497 def undotify_keys(hash); end end -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:6 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:7 class Honeybadger::Config::Boolean; end -# pkg:gem/honeybadger#lib/honeybadger/config.rb:24 +# pkg:gem/honeybadger#lib/honeybadger/config.rb:23 class Honeybadger::Config::ConfigError < ::StandardError; end -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:543 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:601 Honeybadger::Config::DEFAULTS = T.let(T.unsafe(nil), Hash) -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:50 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:58 Honeybadger::Config::DEFAULT_PATHS = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:48 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:56 Honeybadger::Config::DEVELOPMENT_ENVIRONMENTS = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config.rb:34 +# pkg:gem/honeybadger#lib/honeybadger/config.rb:33 Honeybadger::Config::DOTTED_KEY = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/config/env.rb:5 @@ -1574,16 +1697,16 @@ Honeybadger::Config::Env::CONFIG_MAPPING = T.let(T.unsafe(nil), Hash) # pkg:gem/honeybadger#lib/honeybadger/config/env.rb:9 Honeybadger::Config::Env::IGNORED_TYPES = T.let(T.unsafe(nil), Set) -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:8 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:9 Honeybadger::Config::IGNORE_DEFAULT = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:34 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:35 Honeybadger::Config::IGNORE_EVENTS_DEFAULT = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config.rb:38 +# pkg:gem/honeybadger#lib/honeybadger/config.rb:37 Honeybadger::Config::IVARS = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config.rb:32 +# pkg:gem/honeybadger#lib/honeybadger/config.rb:31 Honeybadger::Config::KEY_REPLACEMENT = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:3 @@ -1633,33 +1756,65 @@ end # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:4 Honeybadger::Config::Mash::KEYS = T.let(T.unsafe(nil), Array) -# pkg:gem/honeybadger#lib/honeybadger/config.rb:36 +# pkg:gem/honeybadger#lib/honeybadger/config.rb:35 Honeybadger::Config::NOT_BLANK = T.let(T.unsafe(nil), Regexp) -# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:52 +# pkg:gem/honeybadger#lib/honeybadger/config/defaults.rb:60 Honeybadger::Config::OPTIONS = T.let(T.unsafe(nil), Hash) # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:72 class Honeybadger::Config::Ruby < ::Honeybadger::Config::Mash + # Run a hook after each error notice delivery attempt. + # + # The hook is called for every backend response, including successful + # deliveries. Response codes are usually HTTP status integers, but may be + # symbols such as :stubbed or :error for non-server backends or connection + # failures. Filter with exact response codes (e.g. `response.code == 413`) + # rather than broad integer comparisons, or use `response.success?`. + # (Note: `response.error_message` may raise for non-HTTP responses like `:stubbed`.) + # + # Prefer `Honeybadger.event` for reporting failed notice deliveries. Calling + # `Honeybadger.notify` from this hook can trigger another after_notify call; + # guard against self-reporting loops if a notice must be sent. + # + # @example Report oversized notice payloads + # config.after_notify do |notice, response| + # next unless response.code == 413 + # + # Honeybadger.event("honeybadger.notice_rejected", { + # reason: "payload_too_large", + # notice_id: notice.id, + # payload_bytes: notice.to_json.bytesize + # }) + # end + # + # @yieldparam notice [Honeybadger::Notice] The notice that was sent. + # @yieldparam response [Honeybadger::Backend::Response] The backend response. + # @return [Array] configured hooks + # @api public + # + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:129 + def after_notify(action = T.unsafe(nil), &block); end + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:85 def backend; end # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:81 def backend=(backend); end - # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:113 + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:153 def backtrace_filter(&block); end - # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:141 def before_event(action = T.unsafe(nil), &block); end # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:89 def before_notify(action = T.unsafe(nil), &block); end - # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:122 + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:162 def exception_filter(&block); end - # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:131 + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:171 def exception_fingerprint(&block); end # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:77 @@ -1670,8 +1825,8 @@ class Honeybadger::Config::Ruby < ::Honeybadger::Config::Mash private - # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:142 - def validate_before_action(action, type); end + # pkg:gem/honeybadger#lib/honeybadger/config/ruby.rb:182 + def validate_hook_action(action, name, arity); end end # pkg:gem/honeybadger#lib/honeybadger/config/yaml.rb:7 @@ -1693,14 +1848,14 @@ Honeybadger::Config::Yaml::DISALLOWED_KEYS = T.let(T.unsafe(nil), Array) # @api private # -# pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:5 +# pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:6 class Honeybadger::ContextManager include ::Honeybadger::Conversions - # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:12 + # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:13 def initialize; end - # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:17 + # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:18 def clear!; end # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:56 @@ -1721,6 +1876,8 @@ class Honeybadger::ContextManager # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:114 def get_request_id; end + # Internal helpers + # # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:24 def set_context(hash, &block); end @@ -1757,7 +1914,7 @@ class Honeybadger::ContextManager def request_id=(_arg0); end class << self - # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:8 + # pkg:gem/honeybadger#lib/honeybadger/context_manager.rb:9 def current; end end end @@ -1774,7 +1931,7 @@ module Honeybadger::Conversions # # @return [Hash] The hash context. # - # pkg:gem/honeybadger#lib/honeybadger/conversions.rb:12 + # pkg:gem/honeybadger#lib/honeybadger/conversions.rb:13 def Context(object, depth = T.unsafe(nil)); end class << self @@ -1784,12 +1941,12 @@ module Honeybadger::Conversions # # @return [Hash] The hash context. # - # pkg:gem/honeybadger#lib/honeybadger/conversions.rb:12 + # pkg:gem/honeybadger#lib/honeybadger/conversions.rb:13 def Context(object, depth = T.unsafe(nil)); end end end -# pkg:gem/honeybadger#lib/honeybadger/conversions.rb:5 +# pkg:gem/honeybadger#lib/honeybadger/conversions.rb:6 Honeybadger::Conversions::MAX_CONTEXT_DEPTH = T.let(T.unsafe(nil), Integer) # pkg:gem/honeybadger#lib/honeybadger/counter.rb:4 @@ -1869,146 +2026,140 @@ class Honeybadger::EventsWorker # TODO: These could be configurable? # - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:29 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:27 def initialize(config); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:117 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:112 def backend(*args, **, &block); end - # Blocks until queue is processed up to this point in time. + # Blocks until queue is processed up to this point in time. Retries are + # skipped while a flush is pending, since the caller is waiting. # - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:85 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:76 def flush; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:45 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:41 def push(msg); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:56 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:52 def send_now(msg); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:60 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:56 def shutdown(force = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:95 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:90 def start; end private - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:266 - def calc_throttle_interval; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:127 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:126 def can_start?; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:224 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:249 def check_and_send; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:197 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:203 def check_timeout; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def config; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:278 - def dec_throttle; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:205 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:211 def enqueue_msg(msg); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:231 - def flush_send_queue; end + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 + def flush_signal; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:287 - def handle_response(response); end + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:118 + def flushing?; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:270 - def inc_throttle; end + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:292 + def handle_response(response); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:137 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:132 def kill!; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def last_sent; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 - def marker; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def mutex; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def pid; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def queue; end - # Release the marker. Important to perform during cleanup when shutting - # down, otherwise it could end up waiting indefinitely. + # Wake every waiting flush. Important to perform during cleanup when + # shutting down, otherwise they could end up waiting indefinitely. # - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:320 - def release_marker; end + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:319 + def release_flush_waiters; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:170 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:173 def run; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:163 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:166 def schedule_timeout_check; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:211 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:217 def send_batch; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:256 + def send_pending_batch; end + + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def send_queue; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:260 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:276 def send_to_backend(msg); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:119 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 def shutdown?; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:324 - def signal_marker(marker); end + # Wakes the flush waiting on this point in the queue. + # + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:328 + def signal_flush_done; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def start_at; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:153 + # Drops queued and pending events and rejects new ones (push returns + # false) for +interval+ seconds. The thread restarts on the first push after that. + # + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:150 def suspend(interval); end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:123 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:122 def suspended?; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def thread; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 - def throttle; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 - def throttle_interval; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:133 - def throttled?; end - - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:114 + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:109 def timeout_thread; end - # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:241 + # Sleeps in one-second steps so shutdown or a flush can interrupt. + # Returns false if one did, including during the final second; the + # batch in hand is then dropped. + # + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:284 + def wait(seconds); end + + # pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:266 def work(msg); end end -# The base number for the exponential backoff formula when calculating the -# throttle interval. `1.05 ** throttle` will reach an interval of 2 minutes -# after around 100 429 responses from the server. -# -# pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:25 -Honeybadger::EventsWorker::BASE_THROTTLE = T.let(T.unsafe(nil), Float) - -# pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:20 +# pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:19 Honeybadger::EventsWorker::CHECK_TIMEOUT = T.let(T.unsafe(nil), Symbol) -# pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:19 -Honeybadger::EventsWorker::FLUSH = T.let(T.unsafe(nil), Symbol) +# Number of times a batch is resent while the server is unavailable +# (6 attempts in total). Each batch gets its own retries. +# +# pkg:gem/honeybadger#lib/honeybadger/events_worker.rb:23 +Honeybadger::EventsWorker::MAX_RETRIES = T.let(T.unsafe(nil), Integer) # Used to signal the worker to shutdown. # @@ -2023,7 +2174,7 @@ class Honeybadger::EventsWorker::Thread < ::Thread; end # pkg:gem/honeybadger#lib/honeybadger/plugins/flipper.rb:24 class Honeybadger::FlipperSubscriber < ::Honeybadger::NotificationSubscriber # pkg:gem/honeybadger#lib/honeybadger/plugins/flipper.rb:25 - def format_payload(payload); end + def format_payload(_name, payload); end # pkg:gem/honeybadger#lib/honeybadger/plugins/flipper.rb:29 def record(name, payload); end @@ -2094,26 +2245,26 @@ class Honeybadger::Instrumentation # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:28 def agent; end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:109 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:106 def decrement_counter(name, *args); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:150 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:145 def extract_attributes(args); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:155 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:150 def extract_callable(args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:127 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:123 def gauge(name, *args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:69 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:68 def histogram(name, *args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:91 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation.rb:89 def increment_counter(name, *args); end # returns two parameters, the first is the duration of the execution, and the second is @@ -2155,47 +2306,47 @@ end # # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:27 module Honeybadger::InstrumentationHelper - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:88 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:87 def decrement_counter(name, *args); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:113 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:112 def extract_attributes(args); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:119 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:118 def extract_callable(args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:100 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:99 def gauge(name, *args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:64 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:63 def histogram(name, *args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:76 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:75 def increment_counter(name, *args); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:39 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:38 def metric_agent(agent); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:46 def metric_attributes(attributes); end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:42 def metric_instrumentation; end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:35 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:34 def metric_source(source); end # returns two parameters, the first is the duration of the execution, and the second is # the return value of the passed block # - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:31 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:30 def monotonic_timer; end - # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:52 + # pkg:gem/honeybadger#lib/honeybadger/instrumentation_helper.rb:51 def time(name, *args); end end @@ -2204,123 +2355,126 @@ end # pkg:gem/honeybadger#lib/honeybadger/logging.rb:8 module Honeybadger::Logging; end -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:48 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:49 class Honeybadger::Logging::Base - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:59 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:60 def add(severity, msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def debug(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def debug?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def error(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def error?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def fatal(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def fatal?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def info(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def info?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:63 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:64 def level; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def unknown(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def unknown?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:50 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:51 def warn(msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:54 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:55 def warn?; end end -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:68 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:69 class Honeybadger::Logging::BootLogger < ::Honeybadger::Logging::Base include ::Singleton::SingletonInstanceMethods include ::Singleton extend ::Singleton::SingletonClassMethods - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:71 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:72 def initialize; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:75 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:76 def add(severity, msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:79 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:80 def flush(logger); end class << self private - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:69 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:70 def allocate; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:69 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:70 def new(*_arg0); end end end -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:117 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:118 class Honeybadger::Logging::ConfigLogger < ::Honeybadger::Logging::StandardLogger - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:124 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:125 def initialize(config, logger = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:131 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:133 def add(severity, msg); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:144 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:147 def debug?; end private - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:170 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:178 def caller_location; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:158 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:166 def supplement(msg, severity); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:150 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:158 def suppress_debug?; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:154 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:153 + def suppress_log_level?(severity); end + + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:162 def suppress_tty?(severity); end end -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:119 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:120 Honeybadger::Logging::ConfigLogger::CALLER_LOCATION = T.let(T.unsafe(nil), Regexp) -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:122 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:123 Honeybadger::Logging::ConfigLogger::DEBUG_SUPPLEMENT = T.let(T.unsafe(nil), String) -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:121 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:122 Honeybadger::Logging::ConfigLogger::INFO_SUPPLEMENT = T.let(T.unsafe(nil), String) -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:118 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:119 Honeybadger::Logging::ConfigLogger::LOCATE_CALLER_LOCATION = T.let(T.unsafe(nil), Regexp) -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:104 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:105 class Honeybadger::Logging::FormattedLogger < ::Honeybadger::Logging::StandardLogger - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:105 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:106 def add(severity, msg, progname = T.unsafe(nil)); end private - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:111 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:112 def format_message(msg); end end @@ -2333,22 +2487,22 @@ end module Honeybadger::Logging::Helper private - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:24 def d(msg = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:18 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:19 def debug(msg = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:37 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:38 def error(msg = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:25 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:26 def info(msg = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:43 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:44 def logger; end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:31 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:32 def warn(msg = T.unsafe(nil)); end end @@ -2358,29 +2512,29 @@ Honeybadger::Logging::LOGGER_PROG = T.let(T.unsafe(nil), String) # pkg:gem/honeybadger#lib/honeybadger/logging.rb:9 Honeybadger::Logging::PREFIX = T.let(T.unsafe(nil), String) -# pkg:gem/honeybadger#lib/honeybadger/logging.rb:87 +# pkg:gem/honeybadger#lib/honeybadger/logging.rb:88 class Honeybadger::Logging::StandardLogger < ::Honeybadger::Logging::Base extend ::Forwardable - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:90 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:91 def initialize(logger = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:97 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:98 def add(severity, msg, progname = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:102 def debug?(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:102 def error?(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:102 def info?(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:102 def level(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/logging.rb:101 + # pkg:gem/honeybadger#lib/honeybadger/logging.rb:102 def warn?(*args, **, &block); end end @@ -2463,15 +2617,15 @@ class Honeybadger::MetricsWorker # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 def config; end + # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 + def flush_signal; end + # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 def interval_seconds; end # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:103 def kill!; end - # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 - def marker; end - # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 def mutex; end @@ -2481,11 +2635,11 @@ class Honeybadger::MetricsWorker # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 def queue; end - # Release the marker. Important to perform during cleanup when shutting - # down, otherwise it could end up waiting indefinitely. + # Wake every waiting flush. Important to perform during cleanup when + # shutting down, otherwise they could end up waiting indefinitely. # # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:165 - def release_marker; end + def release_flush_waiters; end # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:124 def run; end @@ -2493,8 +2647,10 @@ class Honeybadger::MetricsWorker # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:89 def shutdown?; end - # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:169 - def signal_marker(marker); end + # Wakes the flush waiting on this point in the queue. + # + # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:174 + def signal_flush_done; end # pkg:gem/honeybadger#lib/honeybadger/metrics_worker.rb:87 def start_at; end @@ -2796,20 +2952,20 @@ class Honeybadger::Notice # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 def config; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:368 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:367 def construct_backtrace_filters(opts); end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:418 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:417 def construct_context_hash(opts, exception); end # Construct the request data. # # Returns Hash request data. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:381 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:380 def construct_request_hash; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:442 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:441 def construct_tags(tags); end # Gets a property named "attribute" of an exception, either from @@ -2823,7 +2979,7 @@ class Honeybadger::Notice # # Returns attribute value from args or exception, otherwise default. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:327 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:326 def exception_attribute(attribute, default = T.unsafe(nil), &block); end # Fetch cause from exception. @@ -2832,20 +2988,20 @@ class Honeybadger::Notice # # Returns the Exception cause. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:535 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:533 def exception_cause(exception); end # Get optional context from exception. # # Returns the Hash context. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:398 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:397 def exception_context(exception); end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:426 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:425 def fingerprint_from_opts(opts); end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:437 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:436 def fingerprint_hash; end # Gets a property named +attribute+ from an exception. @@ -2857,7 +3013,7 @@ class Honeybadger::Notice # If no block is given, a method with the same name as +attribute+ will be # invoked for the value. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:339 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:338 def from_exception(attribute); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:312 @@ -2870,7 +3026,7 @@ class Honeybadger::Notice # # Returns true or false. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:355 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:354 def ignore_by_class?(ignored_class = T.unsafe(nil)); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:306 @@ -2882,7 +3038,7 @@ class Honeybadger::Notice # # Returns a Hash of local variables. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:463 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:462 def local_variables_from_exception(exception, config); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 @@ -2891,7 +3047,7 @@ class Honeybadger::Notice # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 def opts; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:578 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:576 def params_filters; end # Parse Backtrace from exception backtrace. @@ -2900,7 +3056,7 @@ class Honeybadger::Notice # # Returns the Backtrace. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:510 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:507 def parse_backtrace(backtrace); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 @@ -2912,35 +3068,35 @@ class Honeybadger::Notice # # Returns the Array of causes in Hash payload format. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:568 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:566 def prepare_causes(causes); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 def rack_env; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:582 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:580 def rails_params_filters; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:374 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:373 def request_hash; end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 def request_sanitizer; end - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:454 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:453 def s(data); end # Sanitize metadata to keep it at a single level and remove any filtered # parameters # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:409 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:408 def sanitized_breadcrumbs; end # Should local variables be sent? # # Returns true to send local_variables. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:501 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:498 def send_local_variables?(config); end # pkg:gem/honeybadger#lib/honeybadger/notice.rb:303 @@ -2952,7 +3108,7 @@ class Honeybadger::Notice # # Returns the Array of Cause instances. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:551 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:549 def unwrap_causes(cause); end # Unwrap the exception so that original exception is ignored or @@ -2962,7 +3118,7 @@ class Honeybadger::Notice # # Returns the Exception to report. # - # pkg:gem/honeybadger#lib/honeybadger/notice.rb:525 + # pkg:gem/honeybadger#lib/honeybadger/notice.rb:523 def unwrap_exception(exception); end end @@ -3029,16 +3185,16 @@ class Honeybadger::NotificationSubscriber # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:12 def finish(name, id, payload); end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:54 - def format_payload(payload); end + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:40 + def format_payload(name, payload); end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:50 - def process?(event, payload); end + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:36 + def process?(name, payload); end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:24 + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:28 def record(name, payload); end - # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:35 + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:32 def record_metrics(name, payload); end # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:8 @@ -3168,7 +3324,7 @@ class Honeybadger::Plugin # @api private # - # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:284 + # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:282 def executions; end # @api private @@ -3178,12 +3334,12 @@ class Honeybadger::Plugin # @api private # - # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:273 + # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:271 def loaded?; end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:284 + # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:282 def name; end # @api private @@ -3214,13 +3370,13 @@ class Honeybadger::Plugin # @api private # - # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:284 + # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:282 def requirements; end # @private # Used for testing only; don't normally call this. :) # - # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:279 + # pkg:gem/honeybadger#lib/honeybadger/plugin.rb:277 def reset!; end class << self @@ -3316,10 +3472,13 @@ end # pkg:gem/honeybadger#lib/honeybadger/const.rb:14 module Honeybadger::Plugins; end +# pkg:gem/honeybadger#lib/honeybadger/plugins/active_agent.rb:6 +module Honeybadger::Plugins::ActiveAgent; end + # pkg:gem/honeybadger#lib/honeybadger/plugins/active_job.rb:5 module Honeybadger::Plugins::ActiveJob class << self - # pkg:gem/honeybadger#lib/honeybadger/plugins/active_job.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/plugins/active_job.rb:25 def context(job); end # pkg:gem/honeybadger#lib/honeybadger/plugins/active_job.rb:10 @@ -3418,13 +3577,13 @@ module Honeybadger::Plugins::Passenger; end # pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:6 module Honeybadger::Plugins::Rails; end -# pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:33 +# pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:37 class Honeybadger::Plugins::Rails::ErrorSubscriber class << self - # pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:34 + # pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:38 def report(exception, handled:, severity:, context: T.unsafe(nil), source: T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:47 + # pkg:gem/honeybadger#lib/honeybadger/plugins/rails.rb:51 def source_ignored?(source); end end end @@ -3445,7 +3604,7 @@ module Honeybadger::Plugins::Rails::ExceptionsCatcher def render_exception(arg, exception, *args); end end -# pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:60 +# pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:64 class Honeybadger::Plugins::RailsBreadcrumbs class << self # @api private @@ -3462,12 +3621,12 @@ class Honeybadger::Plugins::RailsBreadcrumbs # @option notification_config [Proc] :exclude_when A proc that accepts the data payload. A truthy return value will exclude this event from the payload (optional) # @option notification_config [Proc] :transform A proc that accepts the data payload. The return value will replace the current data hash (optional) # - # pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:75 + # pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:79 def send_breadcrumb_notification(name, duration, notification_config, data = T.unsafe(nil)); end # @api private # - # pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:102 + # pkg:gem/honeybadger#lib/honeybadger/plugins/breadcrumbs.rb:109 def subscribe_to_notification(name, notification_config); end end end @@ -3507,6 +3666,9 @@ module Honeybadger::Plugins::Resque::Installer end end +# pkg:gem/honeybadger#lib/honeybadger/plugins/ruby_llm.rb:6 +module Honeybadger::Plugins::RubyLLM; end + # pkg:gem/honeybadger#lib/honeybadger/plugins/shoryuken.rb:6 module Honeybadger::Plugins::Shoryuken; end @@ -3530,11 +3692,11 @@ end # pkg:gem/honeybadger#lib/honeybadger/plugins/sidekiq.rb:7 module Honeybadger::Plugins::Sidekiq; end -# pkg:gem/honeybadger#lib/honeybadger/plugins/sidekiq.rb:53 +# pkg:gem/honeybadger#lib/honeybadger/plugins/sidekiq.rb:54 class Honeybadger::Plugins::Sidekiq::ClientMiddlewareInstrumentation include ::Honeybadger::InstrumentationHelper - # pkg:gem/honeybadger#lib/honeybadger/plugins/sidekiq.rb:56 + # pkg:gem/honeybadger#lib/honeybadger/plugins/sidekiq.rb:57 def call(worker, msg, queue, _redis); end end @@ -3636,41 +3798,41 @@ class Honeybadger::Rack::UserFeedback # @private # @todo Make this method and others actually private. # - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:45 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:51 def action; end # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:29 def call(env); end - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:78 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:84 def config(*args, **, &block); end # @private # - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:58 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:64 def custom_template_file; end # @private # - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:63 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:69 def custom_template_file?; end - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:79 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:85 def logger(*args, **, &block); end # @private # - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:52 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:58 def render_form(error_id, action = T.unsafe(nil)); end # @private # - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:68 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:74 def template_file; end private - # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:81 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_feedback.rb:87 def agent; end end @@ -3687,10 +3849,10 @@ class Honeybadger::Rack::UserInformer # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:19 def call(env); end - # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:36 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:42 def config(*args, **, &block); end - # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:37 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:43 def logger(*args, **, &block); end # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:15 @@ -3698,10 +3860,19 @@ class Honeybadger::Rack::UserInformer private - # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:39 + # pkg:gem/honeybadger#lib/honeybadger/rack/user_informer.rb:45 def agent; end end +# pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:45 +class Honeybadger::RailsSubscriber < ::Honeybadger::NotificationSubscriber + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:46 + def record(name, payload); end + + # pkg:gem/honeybadger#lib/honeybadger/notification_subscriber.rb:51 + def record_metrics(name, payload); end +end + # @api private # Patch Rake::Application to handle errors with Honeybadger # @@ -3725,7 +3896,7 @@ end module Honeybadger::RakeHandler::Rake087Methods # Method extracted from Rake 0.8.7 source # - # pkg:gem/honeybadger#lib/honeybadger/init/rake.rb:48 + # pkg:gem/honeybadger#lib/honeybadger/init/rake.rb:46 def display_error_message(ex); end # Method taken from Rake 0.9.0 source @@ -3769,6 +3940,16 @@ class Honeybadger::RegistryExecution def tick; end end +# pkg:gem/honeybadger#lib/honeybadger/plugins/ruby_llm.rb:44 +class Honeybadger::RubyLLMSubscriber < ::Honeybadger::NotificationSubscriber + # Payloads carry full Ruby objects (chat, messages, responses, tool + # arguments, inputs), which may contain sensitive content. Allow only + # scalar metadata through. + # + # pkg:gem/honeybadger#lib/honeybadger/plugins/ruby_llm.rb:48 + def format_payload(name, payload); end +end + # @api private # Empty String (used for equality comparisons and assignment). # @@ -3906,7 +4087,7 @@ class Honeybadger::Util::Revision # pkg:gem/honeybadger#lib/honeybadger/util/revision.rb:26 def from_capistrano(root); end - # pkg:gem/honeybadger#lib/honeybadger/util/revision.rb:32 + # pkg:gem/honeybadger#lib/honeybadger/util/revision.rb:36 def from_git; end # Requires (currently) alpha platform feature `heroku labs:enable @@ -3922,15 +4103,27 @@ end # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:3 class Honeybadger::Util::SQL class << self - # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:21 + # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:49 def force_utf_8(string); end - # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:10 - def obfuscate(sql, adapter); end + # Obfuscates literal values in a SQL query. When +max_length+ is given + # and the query is larger than that many bytes, the query is truncated + # instead (see .truncate): scanning multi-megabyte queries (e.g. an + # INSERT of a serialized cache value) is slow, and can exceed the + # Regexp.timeout that Rails 8.1+ sets by default. + # + # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:25 + def obfuscate(sql, adapter, max_length: T.unsafe(nil)); end + + # Keeps only the head of the statement (up to the first quoted value or + # comment) so that no literal data leaks, and notes the original size. + # + # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:42 + def truncate(sql, adapter, max_length); end end end -# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:8 +# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:11 Honeybadger::Util::SQL::DOUBLE_QUOTERS = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:6 @@ -3939,12 +4132,30 @@ Honeybadger::Util::SQL::DQUOTE_DATA = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:4 Honeybadger::Util::SQL::ESCAPE_QUOTES = T.let(T.unsafe(nil), Regexp) -# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:7 +# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:10 +Honeybadger::Util::SQL::HEX_DATA = T.let(T.unsafe(nil), Regexp) + +# Underscore separators are allowed in numeric literals by PostgreSQL +# 16+ and SQLite 3.46+, and \b does not match next to one. +# +# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:9 Honeybadger::Util::SQL::NUMBER_DATA = T.let(T.unsafe(nil), Regexp) # pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:5 Honeybadger::Util::SQL::SQUOTE_DATA = T.let(T.unsafe(nil), Regexp) +# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:12 +Honeybadger::Util::SQL::TRUNCATED_HEAD_LENGTH = T.let(T.unsafe(nil), Integer) + +# Leading run of characters that can't start a string literal or a +# comment in any supported adapter: stops at ', $, /, -, #, \ and so +# on. Double quotes and backticks are kept because they quote +# identifiers; adapters that use double quotes for strings are cut +# at the first double quote in .truncate. +# +# pkg:gem/honeybadger#lib/honeybadger/util/sql.rb:18 +Honeybadger::Util::SQL::TRUNCATED_HEAD_SAFE = T.let(T.unsafe(nil), Regexp) + # Sanitizer sanitizes data for sending to Honeybadger's API. The filters # are based on Rails' HTTP parameter filter. # @@ -4056,7 +4267,7 @@ class Honeybadger::Util::Stats # From https://github.com/bloopletech/webstats/blob/master/server/data_providers/cpu_info.rb # - # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:23 + # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:26 def load; end # From https://github.com/bloopletech/webstats/blob/master/server/data_providers/mem_info.rb @@ -4066,13 +4277,13 @@ class Honeybadger::Util::Stats private - # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:41 + # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:44 def run; end - # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:37 + # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:40 def run_loadavg; end - # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:33 + # pkg:gem/honeybadger#lib/honeybadger/util/stats.rb:36 def run_meminfo; end end end @@ -4096,113 +4307,118 @@ class Honeybadger::Worker include ::Honeybadger::Logging::Helper extend ::Forwardable - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:25 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:24 def initialize(config); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:107 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:108 def backend(*args, **, &block); end - # Blocks until queue is processed up to this point in time. + # Blocks until queue is processed up to this point in time. Retries are + # skipped while a flush is pending, since the caller is waiting. # - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:77 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:74 def flush; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:37 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:35 def push(msg); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:48 + # Sends synchronously without retrying. + # + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:47 def send_now(msg); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:52 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:53 def shutdown(force = T.unsafe(nil)); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:86 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:88 def start; end private - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:192 - def calc_throttle_interval; end - - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:117 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:122 def can_start?; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def config; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:204 - def dec_throttle; end + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 + def flush_signal; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:213 - def handle_response(msg, response); end + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:114 + def flushing?; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:196 - def inc_throttle; end + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:231 + def handle_response(msg, response); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:127 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:128 def kill!; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 - def marker; end - - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def mutex; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:187 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:200 def notify_backend(payload); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def pid; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def queue; end - # Release the marker. Important to perform during cleanup when shutting - # down, otherwise it could end up waiting indefinitely. + # Wake every waiting flush. Important to perform during cleanup when + # shutting down, otherwise they could end up waiting indefinitely. # - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:246 - def release_marker; end + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:259 + def release_flush_waiters; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:148 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:152 def run; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:109 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:205 + def run_after_notify_hooks(msg, response); end + + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:110 def shutdown?; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:250 - def signal_marker(marker); end + # Wakes the flush waiting on this point in the queue. + # + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:268 + def signal_flush_done; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def start_at; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:138 + # Drops queued notices and rejects new ones (push returns false) for + # +interval+ seconds. The thread restarts on the first push after that. + # + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:141 def suspend(interval); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:113 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:118 def suspended?; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:106 def thread; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 - def throttle; end - - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:104 - def throttle_interval; end + # Sleeps in one-second steps so shutdown or a flush can interrupt. + # Returns false if one did, including during the final second; the + # payload in hand is then dropped. + # + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:223 + def wait(seconds); end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:123 - def throttled?; end + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:211 + def with_error_handling; end - # pkg:gem/honeybadger#lib/honeybadger/worker.rb:170 + # pkg:gem/honeybadger#lib/honeybadger/worker.rb:174 def work(msg); end end -# The base number for the exponential backoff formula when calculating the -# throttle interval. `1.05 ** throttle` will reach an interval of 2 minutes -# after around 100 429 responses from the server. +# Number of times a notice is resent while the server is unavailable +# (6 attempts in total). Each notice gets its own retries. # -# pkg:gem/honeybadger#lib/honeybadger/worker.rb:23 -Honeybadger::Worker::BASE_THROTTLE = T.let(T.unsafe(nil), Float) +# pkg:gem/honeybadger#lib/honeybadger/worker.rb:22 +Honeybadger::Worker::MAX_RETRIES = T.let(T.unsafe(nil), Integer) # Used to signal the worker to shutdown. # @@ -4215,6 +4431,7 @@ Honeybadger::Worker::SHUTDOWN = T.let(T.unsafe(nil), Symbol) class Honeybadger::Worker::Thread < ::Thread; end class Logger + include ::Honeybadger::Breadcrumbs::LogHelper include ::Honeybadger::Breadcrumbs::LogWrapper end diff --git a/sorbet/rbi/gems/json@2.21.2.rbi b/sorbet/rbi/gems/json@3.1.0.rbi similarity index 65% rename from sorbet/rbi/gems/json@2.21.2.rbi rename to sorbet/rbi/gems/json@3.1.0.rbi index ae7c76d4..20de328e 100644 --- a/sorbet/rbi/gems/json@2.21.2.rbi +++ b/sorbet/rbi/gems/json@3.1.0.rbi @@ -47,13 +47,13 @@ # # You can parse a \String containing \JSON data using # either of two methods: -# - JSON.parse(source, opts) -# - JSON.parse!(source, opts) +# - JSON.parse(source, **opts) +# - JSON.parse!(source, **opts) # # where # - +source+ is a Ruby object. -# - +opts+ is a \Hash object containing options -# that control both input allowed and output formatting. +# - +opts+ are keyword arguments that control both input +# allowed and output formatting. # # The difference between the two methods # is that JSON.parse! omits some checks @@ -105,7 +105,7 @@ # ruby # => 1.0 # ruby.class # => Float # ruby = JSON.parse('2.0e2') -# ruby # => 200 +# ruby # => 200.0 # ruby.class # => Float # Boolean: # ruby = JSON.parse('true') @@ -134,28 +134,22 @@ # ruby # => [0, [1, [2, [3]]]] # Too deep: # # Raises JSON::NestingError (nesting of 2 is too deep): -# JSON.parse(source, {max_nesting: 1}) +# JSON.parse(source, max_nesting: 1) # Bad value: -# # Raises TypeError (wrong argument type Symbol (expected Fixnum)): -# JSON.parse(source, {max_nesting: :foo}) +# # Raises TypeError (no implicit conversion of Symbol into Integer): +# JSON.parse(source, max_nesting: :foo) # # --- # # Option +allow_duplicate_key+ specifies whether duplicate keys in objects # should be ignored or cause an error to be raised: # -# When not specified: -# # The last value is used and a deprecation warning emitted. -# JSON.parse('{"a": 1, "a":2}') => {"a" => 2} -# # warning: detected duplicate keys in JSON object. -# # This will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true` +# When set to +false+, the default: +# JSON.parse('{"a": 1, "a": 2}') # duplicate key "a" at line 1 column 1 (JSON::ParserError) # # When set to +true+: # # The last value is used. -# JSON.parse('{"a": 1, "a":2}') => {"a" => 2} -# -# When set to +false+, the future default: -# JSON.parse('{"a": 1, "a":2}') => duplicate key at line 1 column 1 (JSON::ParserError) +# JSON.parse('{"a": 1, "a": 2}', allow_duplicate_key: true) # => {"a" => 2} # # --- # @@ -164,15 +158,15 @@ # defaults to +false+. # # With the default, +false+: -# # Raises JSON::ParserError (225: unexpected token at '[NaN]'): +# # Raises JSON::ParserError (unexpected token 'NaN]' at line 1 column 2): # JSON.parse('[NaN]') -# # Raises JSON::ParserError (232: unexpected token at '[Infinity]'): +# # Raises JSON::ParserError (unexpected token 'Infinity]' at line 1 column 2): # JSON.parse('[Infinity]') -# # Raises JSON::ParserError (248: unexpected token at '[-Infinity]'): +# # Raises JSON::ParserError (invalid number: '-Infinity]' at line 1 column 2): # JSON.parse('[-Infinity]') # Allow: # source = '[NaN, Infinity, -Infinity]' -# ruby = JSON.parse(source, {allow_nan: true}) +# ruby = JSON.parse(source, allow_nan: true) # ruby # => [NaN, Infinity, -Infinity] # # --- @@ -193,13 +187,11 @@ # JavaScript style comments (either // comment or /* comment */); # defaults to +false+. # -# When not specified, a deprecation warning is emitted if a comment is encountered. +# When set to +false+, the default: +# JSON.parse('/* comment */ {"a": 1, "a": 2}') # unexpected token '/*' at line 1 column 1 (JSON::ParserError) # # When set to +true+, comments are ignored: -# JSON.parse('/* comment */ {"a": 1, "a":2}') # => {"a" => 2} -# -# When set to +false+, the future default: -# JSON.parse('/* comment */ {"a": 1, "a":2}') # unexpected character: '/' at line 1 column 1 (JSON::ParserError) +# JSON.parse('/* comment */ {"a": 1} // more comment', allow_comments: true) # => {"a" => 1} # # --- # @@ -208,7 +200,7 @@ # defaults to +false+. # # With the default, +false+: -# JSON.parse(%{"Hello\nWorld"}) # invalid ASCII control character in string (JSON::ParserError) +# JSON.parse(%{"Hello\nWorld"}) # invalid ASCII control character in string: \nWorld" at line 2 column 0 (JSON::ParserError) # # When enabled: # JSON.parse(%{"Hello\nWorld"}, allow_control_characters: true) # => "Hello\nWorld" @@ -220,7 +212,7 @@ # defaults to +false+. # # With the default, +false+: -# JSON.parse('"Hell\o"') # invalid escape character in string (JSON::ParserError) +# JSON.parse('"Hell\o"') # invalid escape character in string: '\o"' at line 1 column 6 (JSON::ParserError) # # When enabled: # JSON.parse('"Hell\o"', allow_invalid_escape: true) # => "Hello" @@ -239,8 +231,8 @@ # ruby = JSON.parse(source) # ruby # => {"a"=>"foo", "b"=>1.0, "c"=>true, "d"=>false, "e"=>nil} # Use Symbols: -# ruby = JSON.parse(source, {symbolize_names: true}) -# ruby # => {:a=>"foo", :b=>1.0, :c=>true, :d=>false, :e=>nil} +# ruby = JSON.parse(source, symbolize_names: true) +# ruby # => {a: "foo", b: 1.0, c: true, d: false, e: nil} # # --- # @@ -253,7 +245,7 @@ # ruby = JSON.parse(source) # ruby.class # => Hash # Use class \OpenStruct: -# ruby = JSON.parse(source, {object_class: OpenStruct}) +# ruby = JSON.parse(source, object_class: OpenStruct) # ruby # => # # # --- @@ -267,13 +259,8 @@ # ruby = JSON.parse(source) # ruby.class # => Array # Use class \Set: -# ruby = JSON.parse(source, {array_class: Set}) -# ruby # => # -# -# --- -# -# Option +create_additions+ (boolean) specifies whether to use \JSON additions in parsing. -# See {\JSON Additions}[#module-JSON-label-JSON+Additions]. +# ruby = JSON.parse(source, array_class: Set) +# ruby # => Set["foo", 1.0, true, false, nil] # # === Generating \JSON # @@ -335,22 +322,22 @@ # a \String containing a \JSON string representation of the source: # JSON.generate(:foo) # => '"foo"' # JSON.generate(Complex(0, 0)) # => '"0+0i"' -# JSON.generate(Dir.new('.')) # => '"#"' +# JSON.generate(Dir.new('.')) # => '"#"' # # ==== Generating Options # # ====== Input Options # # Option +allow_nan+ (boolean) specifies whether -# +NaN+, +Infinity+, and -Infinity may be generated; +# +NaN+, +Infinity+, and +-Infinity+ may be generated; # defaults to +false+. # # With the default, +false+: -# # Raises JSON::GeneratorError (920: NaN not allowed in JSON): +# # Raises JSON::GeneratorError (NaN not allowed in JSON): # JSON.generate(JSON::NaN) -# # Raises JSON::GeneratorError (917: Infinity not allowed in JSON): +# # Raises JSON::GeneratorError (Infinity not allowed in JSON): # JSON.generate(JSON::Infinity) -# # Raises JSON::GeneratorError (917: -Infinity not allowed in JSON): +# # Raises JSON::GeneratorError (-Infinity not allowed in JSON): # JSON.generate(JSON::MinusInfinity) # # Allow: @@ -361,20 +348,15 @@ # # Option +allow_duplicate_key+ (boolean) specifies whether # hashes with duplicate keys should be allowed or produce an error. -# defaults to emit a deprecation warning. +# Defaults to +false+, which raises an error. # -# With the default, (not set): -# Warning[:deprecated] = true -# JSON.generate({ foo: 1, "foo" => 2 }) -# # warning: detected duplicate key "foo" in {foo: 1, "foo" => 2}. -# # This will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true` -# # => '{"foo":1,"foo":2}' -# -# With false -# JSON.generate({ foo: 1, "foo" => 2 }, allow_duplicate_key: false) +# With the default, +false+: +# JSON.generate({foo: 1, "foo" => 2}) # # detected duplicate key "foo" in {foo: 1, "foo" => 2} (JSON::GeneratorError) # -# In version 3.0, false will become the default. +# With +true+: +# JSON.generate({foo: 1, "foo" => 2}, allow_duplicate_key: true) +# # => '{"foo":1,"foo":2}' # # --- # @@ -386,17 +368,18 @@ # JSON.generate(obj) # => '[[[[[[0]]]]]]' # # Too deep: -# # Raises JSON::NestingError (nesting of 2 is too deep): +# # Raises JSON::NestingError (nesting of 2 is too deep. Did you try to serialize objects with circular references?): # JSON.generate(obj, max_nesting: 2) # # With +false+: # obj = [] # obj[0] = obj -# # Raises SystemStackError: stack level too deep +# # Raises SystemStackError (stack level too deep): # JSON.generate(obj, max_nesting: false) # -# Setting +max_nesting+ to +false+ can lead to a stackoverflow and may leave the program -# in an unrecoverable state. It is discouraged. +# Setting +max_nesting+ to +false+ or a very large number can lead to a stack overflow +# which may leave the process in an unrecoverable state. +# It is highly discouraged. # # ====== Escaping Options # @@ -430,10 +413,18 @@ # inserted before the colon in each \JSON object's pair; # defaults to the empty \String, ''. # - Option +sort_keys+ (boolean or \Proc) controls whether and how the keys of a -# hash are sorted when generating the output; defaults to false. +# hash are sorted when generating the output; defaults to +false+. # When +true+, keys are sorted lexicographically. When a \Proc, it receives # the entire \Hash and must return a \Hash with its pairs in the desired # order, allowing for arbitrary sort orders. +# - Option +rfc8785+ (boolean) controls whether the generated JSON will be canonicalized +# as defined in RFC8785. +# Integers are converted to Float before formatting and may be rounded. +# Integers outside the finite Float range raise JSON::GeneratorError. +# Nonempty +indent+, +space+, +space_before+, +object_nl+, or +array_nl+, +# and enabled +ascii_only+, +script_safe+, or +allow_nan+ raise ArgumentError. +# JSON.dump defaults +allow_nan+ to +false+ when +rfc8785+ is enabled. +# JSON::Fragment contents are inserted as is; the caller must ensure they are canonical. # # In this example, +obj+ is used first to generate the shortest # \JSON data (no whitespace), then again with all formatting options @@ -459,264 +450,26 @@ # "foo" : [ # "bar", # "baz" -# ], +# ], # "bat" : { # "bam" : 0, # "bad" : 1 # } # } # -# == \JSON Additions -# -# Note that JSON Additions must only be used with trusted data, and is -# deprecated. -# -# When you "round trip" a non-\String object from Ruby to \JSON and back, -# you have a new \String, instead of the object you began with: -# ruby0 = Range.new(0, 2) -# json = JSON.generate(ruby0) -# json # => '0..2"' -# ruby1 = JSON.parse(json) -# ruby1 # => '0..2' -# ruby1.class # => String -# -# You can use \JSON _additions_ to preserve the original object. -# The addition is an extension of a ruby class, so that: -# - \JSON.generate stores more information in the \JSON string. -# - \JSON.parse, called with option +create_additions+, -# uses that information to create a proper Ruby object. -# -# This example shows a \Range being generated into \JSON -# and parsed back into Ruby, both without and with -# the addition for \Range: -# ruby = Range.new(0, 2) -# # This passage does not use the addition for Range. -# json0 = JSON.generate(ruby) -# ruby0 = JSON.parse(json0) -# # This passage uses the addition for Range. -# require 'json/add/range' -# json1 = JSON.generate(ruby) -# ruby1 = JSON.parse(json1, create_additions: true) -# # Make a nice display. -# display = <<~EOT -# Generated JSON: -# Without addition: #{json0} (#{json0.class}) -# With addition: #{json1} (#{json1.class}) -# Parsed JSON: -# Without addition: #{ruby0.inspect} (#{ruby0.class}) -# With addition: #{ruby1.inspect} (#{ruby1.class}) -# EOT -# puts display -# -# This output shows the different results: -# Generated JSON: -# Without addition: "0..2" (String) -# With addition: {"json_class":"Range","a":[0,2,false]} (String) -# Parsed JSON: -# Without addition: "0..2" (String) -# With addition: 0..2 (Range) -# -# The \JSON module includes additions for certain classes. -# You can also craft custom additions. -# See {Custom \JSON Additions}[#module-JSON-label-Custom+JSON+Additions]. -# -# === Built-in Additions -# -# The \JSON module includes additions for certain classes. -# To use an addition, +require+ its source: -# - BigDecimal: require 'json/add/bigdecimal' -# - Complex: require 'json/add/complex' -# - Date: require 'json/add/date' -# - DateTime: require 'json/add/date_time' -# - Exception: require 'json/add/exception' -# - OpenStruct: require 'json/add/ostruct' -# - Range: require 'json/add/range' -# - Rational: require 'json/add/rational' -# - Regexp: require 'json/add/regexp' -# - Set: require 'json/add/set' -# - Struct: require 'json/add/struct' -# - Symbol: require 'json/add/symbol' -# - Time: require 'json/add/time' -# -# To reduce punctuation clutter, the examples below -# show the generated \JSON via +puts+, rather than the usual +inspect+, -# -# \BigDecimal: -# require 'json/add/bigdecimal' -# ruby0 = BigDecimal(0) # 0.0 -# json = JSON.generate(ruby0) # {"json_class":"BigDecimal","b":"27:0.0"} -# ruby1 = JSON.parse(json, create_additions: true) # 0.0 -# ruby1.class # => BigDecimal -# -# \Complex: -# require 'json/add/complex' -# ruby0 = Complex(1+0i) # 1+0i -# json = JSON.generate(ruby0) # {"json_class":"Complex","r":1,"i":0} -# ruby1 = JSON.parse(json, create_additions: true) # 1+0i -# ruby1.class # Complex -# -# \Date: -# require 'json/add/date' -# ruby0 = Date.today # 2020-05-02 -# json = JSON.generate(ruby0) # {"json_class":"Date","y":2020,"m":5,"d":2,"sg":2299161.0} -# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 -# ruby1.class # Date -# -# \DateTime: -# require 'json/add/date_time' -# ruby0 = DateTime.now # 2020-05-02T10:38:13-05:00 -# json = JSON.generate(ruby0) # {"json_class":"DateTime","y":2020,"m":5,"d":2,"H":10,"M":38,"S":13,"of":"-5/24","sg":2299161.0} -# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02T10:38:13-05:00 -# ruby1.class # DateTime -# -# \Exception (and its subclasses including \RuntimeError): -# require 'json/add/exception' -# ruby0 = Exception.new('A message') # A message -# json = JSON.generate(ruby0) # {"json_class":"Exception","m":"A message","b":null} -# ruby1 = JSON.parse(json, create_additions: true) # A message -# ruby1.class # Exception -# ruby0 = RuntimeError.new('Another message') # Another message -# json = JSON.generate(ruby0) # {"json_class":"RuntimeError","m":"Another message","b":null} -# ruby1 = JSON.parse(json, create_additions: true) # Another message -# ruby1.class # RuntimeError -# -# \OpenStruct: -# require 'json/add/ostruct' -# ruby0 = OpenStruct.new(name: 'Matz', language: 'Ruby') # # -# json = JSON.generate(ruby0) # {"json_class":"OpenStruct","t":{"name":"Matz","language":"Ruby"}} -# ruby1 = JSON.parse(json, create_additions: true) # # -# ruby1.class # OpenStruct -# -# \Range: -# require 'json/add/range' -# ruby0 = Range.new(0, 2) # 0..2 -# json = JSON.generate(ruby0) # {"json_class":"Range","a":[0,2,false]} -# ruby1 = JSON.parse(json, create_additions: true) # 0..2 -# ruby1.class # Range -# -# \Rational: -# require 'json/add/rational' -# ruby0 = Rational(1, 3) # 1/3 -# json = JSON.generate(ruby0) # {"json_class":"Rational","n":1,"d":3} -# ruby1 = JSON.parse(json, create_additions: true) # 1/3 -# ruby1.class # Rational -# -# \Regexp: -# require 'json/add/regexp' -# ruby0 = Regexp.new('foo') # (?-mix:foo) -# json = JSON.generate(ruby0) # {"json_class":"Regexp","o":0,"s":"foo"} -# ruby1 = JSON.parse(json, create_additions: true) # (?-mix:foo) -# ruby1.class # Regexp -# -# \Set: -# require 'json/add/set' -# ruby0 = Set.new([0, 1, 2]) # # -# json = JSON.generate(ruby0) # {"json_class":"Set","a":[0,1,2]} -# ruby1 = JSON.parse(json, create_additions: true) # # -# ruby1.class # Set -# -# \Struct: -# require 'json/add/struct' -# Customer = Struct.new(:name, :address) # Customer -# ruby0 = Customer.new("Dave", "123 Main") # # -# json = JSON.generate(ruby0) # {"json_class":"Customer","v":["Dave","123 Main"]} -# ruby1 = JSON.parse(json, create_additions: true) # # -# ruby1.class # Customer -# -# \Symbol: -# require 'json/add/symbol' -# ruby0 = :foo # foo -# json = JSON.generate(ruby0) # {"json_class":"Symbol","s":"foo"} -# ruby1 = JSON.parse(json, create_additions: true) # foo -# ruby1.class # Symbol -# -# \Time: -# require 'json/add/time' -# ruby0 = Time.now # 2020-05-02 11:28:26 -0500 -# json = JSON.generate(ruby0) # {"json_class":"Time","s":1588436906,"n":840560000} -# ruby1 = JSON.parse(json, create_additions: true) # 2020-05-02 11:28:26 -0500 -# ruby1.class # Time -# -# -# === Custom \JSON Additions -# -# In addition to the \JSON additions provided, -# you can craft \JSON additions of your own, -# either for Ruby built-in classes or for user-defined classes. -# -# Here's a user-defined class +Foo+: -# class Foo -# attr_accessor :bar, :baz -# def initialize(bar, baz) -# self.bar = bar -# self.baz = baz -# end -# end -# -# Here's the \JSON addition for it: -# # Extend class Foo with JSON addition. -# class Foo -# # Serialize Foo object with its class name and arguments -# def to_json(*args) -# { -# JSON.create_id => self.class.name, -# 'a' => [ bar, baz ] -# }.to_json(*args) -# end -# # Deserialize JSON string by constructing new Foo object with arguments. -# def self.json_create(object) -# new(*object['a']) -# end -# end -# -# Demonstration: -# require 'json' -# # This Foo object has no custom addition. -# foo0 = Foo.new(0, 1) -# json0 = JSON.generate(foo0) -# obj0 = JSON.parse(json0) -# # Lood the custom addition. -# require_relative 'foo_addition' -# # This foo has the custom addition. -# foo1 = Foo.new(0, 1) -# json1 = JSON.generate(foo1) -# obj1 = JSON.parse(json1, create_additions: true) -# # Make a nice display. -# display = <<~EOT -# Generated JSON: -# Without custom addition: #{json0} (#{json0.class}) -# With custom addition: #{json1} (#{json1.class}) -# Parsed JSON: -# Without custom addition: #{obj0.inspect} (#{obj0.class}) -# With custom addition: #{obj1.inspect} (#{obj1.class}) -# EOT -# puts display -# -# Output: -# -# Generated JSON: -# Without custom addition: "#" (String) -# With custom addition: {"json_class":"Foo","a":[0,1]} (String) -# Parsed JSON: -# Without custom addition: "#" (String) -# With custom addition: # (Foo) -# -# source://json//lib/json/version.rb#3 +# pkg:gem/json#lib/json/version.rb:3 module JSON private # :call-seq: - # JSON.dump(obj, io = nil, limit = nil) + # JSON.dump(obj, io = nil, _deprecated_limit = nil, options = nil) # # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result. # - # The default options can be changed via method JSON.dump_default_options. - # # - Argument +io+, if given, should respond to method +write+; # the \JSON \String is written to +io+, and +io+ is returned. # If +io+ is not given, the \JSON \String is returned. - # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+. - # + # - Argument +_deprecated_limit+ is deprecated, pass the +:max_nesting+ option instead. # --- # # When argument +io+ is not given, returns the \JSON \String generated from +obj+: @@ -733,28 +486,8 @@ module JSON # Output: # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} # - # source://json//lib/json/common.rb#941 - def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end - - # :call-seq: - # JSON.fast_generate(obj, opts) -> new_string - # - # Arguments +obj+ and +opts+ here are the same as - # arguments +obj+ and +opts+ in JSON.generate. - # - # By default, generates \JSON data without checking - # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled). - # - # Raises an exception if +obj+ contains circular references: - # a = []; b = []; a.push(b); b.push(a) - # # Raises SystemStackError (stack level too deep): - # JSON.fast_generate(a) - # - # source://json//lib/json/common.rb#471 - def fast_generate(obj, opts = T.unsafe(nil)); end - - # source://json//lib/json/common.rb#986 - def fast_unparse(*_arg0, **_arg1, &_arg2); end + # pkg:gem/json#lib/json/common.rb:747 + def dump(obj, anIO = T.unsafe(nil), _deprecated_limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end # :call-seq: # JSON.generate(obj, opts = nil) -> new_string @@ -789,10 +522,10 @@ module JSON # # Raises an exception if +obj+ contains circular references: # a = []; b = []; a.push(b); b.push(a) - # # Raises JSON::NestingError (nesting of 100 is too deep): + # # Raises JSON::NestingError (nesting of 100 is too deep. Did you try to serialize objects with circular references?): # JSON.generate(a) # - # source://json//lib/json/common.rb#450 + # pkg:gem/json#lib/json/common.rb:373 def generate(obj, opts = T.unsafe(nil)); end # :call-seq: @@ -801,16 +534,6 @@ module JSON # # Returns the Ruby objects created by parsing the given +source+. # - # BEWARE: This method is meant to serialise data from trusted user input, - # like from your own database server or clients under your control, it could - # be dangerous to allow untrusted users to pass JSON sources into it. - # If you must use it, use JSON.unsafe_load instead to make it clear. - # - # Since JSON version 2.8.0, `load` emits a deprecation warning when a - # non native type is deserialized, without `create_additions` being explicitly - # enabled, and in JSON version 3.0, `load` will have `create_additions` disabled - # by default. - # # - Argument +source+ must be, or be convertible to, a \String: # - If +source+ responds to instance method +to_str+, # source.to_str becomes the source. @@ -827,7 +550,6 @@ module JSON # See details below. # - Argument +opts+, if given, contains a \Hash of options for the parsing. # See {Parsing Options}[#module-JSON-label-Parsing+Options]. - # The default options can be changed via method JSON.load_default_options=. # # --- # @@ -932,30 +654,30 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#865 - def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:701 + def load(source, proc = T.unsafe(nil), allow_blank: T.unsafe(nil), **options); end # :call-seq: - # JSON.load_file(path, opts={}) -> object + # JSON.load_file(path, **) -> object # # Calls: - # parse(File.read(path), opts) + # parse(File.read(path), **) # # See method #parse. # - # source://json//lib/json/common.rb#399 - def load_file(filespec, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:322 + def load_file(filespec, **options); end # :call-seq: - # JSON.load_file!(path, opts = {}) + # JSON.load_file!(path, **) # # Calls: - # JSON.parse!(File.read(path, opts)) + # JSON.parse!(File.read(path), **) # # See method #parse! # - # source://json//lib/json/common.rb#410 - def load_file!(filespec, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:333 + def load_file!(filespec, **options); end # :call-seq: # JSON.parse(source, opts) -> object @@ -1002,11 +724,11 @@ module JSON # --- # # Raises an exception if +source+ is not valid JSON: - # # Raises JSON::ParserError (783: unexpected token at ''): - # JSON.parse('') + # # Raises JSON::ParserError (unexpected character: 'invalid' at line 1 column 1): + # JSON.parse('invalid') # - # source://json//lib/json/common.rb#362 - def parse(source, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:291 + def parse(source, on_load: T.unsafe(nil), object_class: T.unsafe(nil), array_class: T.unsafe(nil), **options); end # :call-seq: # JSON.parse!(source, opts) -> object @@ -1020,8 +742,8 @@ module JSON # which disables checking for nesting depth. # - Option +allow_nan+, if not provided, defaults to +true+. # - # source://json//lib/json/common.rb#384 - def parse!(source, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:311 + def parse!(source, **options); end # :call-seq: # JSON.pretty_generate(obj, opts = nil) -> new_string @@ -1053,29 +775,16 @@ module JSON # } # } # - # source://json//lib/json/common.rb#518 + # pkg:gem/json#lib/json/common.rb:419 def pretty_generate(obj, opts = T.unsafe(nil)); end - # source://json//lib/json/common.rb#996 - def pretty_unparse(*_arg0, **_arg1, &_arg2); end - - # source://json//lib/json/common.rb#1006 - def restore(*_arg0, **_arg1, &_arg2); end - - # :stopdoc: - # All these were meant to be deprecated circa 2009, but were just set as undocumented - # so usage still exist in the wild. - # - # source://json//lib/json/common.rb#976 - def unparse(*_arg0, **_arg1, &_arg2); end - # :call-seq: # JSON.unsafe_load(source, options = {}) -> object # JSON.unsafe_load(source, proc = nil, options = {}) -> object # # Returns the Ruby objects created by parsing the given +source+. # - # BEWARE: This method is meant to serialise data from trusted user input, + # BEWARE: This method is meant to deserialise data from trusted user input, # like from your own database server or clients under your control, it could # be dangerous to allow untrusted users to pass JSON sources into it. # @@ -1095,7 +804,6 @@ module JSON # See details below. # - Argument +opts+, if given, contains a \Hash of options for the parsing. # See {Parsing Options}[#module-JSON-label-Parsing+Options]. - # The default options can be changed via method JSON.unsafe_load_default_options=. # # --- # @@ -1200,8 +908,8 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#694 - def unsafe_load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:571 + def unsafe_load(source, proc = T.unsafe(nil), **options); end class << self # :call-seq: @@ -1216,37 +924,18 @@ module JSON # ruby = [0, 1, nil] # JSON[ruby] # => '[0,1,null]' # - # source://json//lib/json/common.rb#132 + # pkg:gem/json#lib/json/common.rb:54 def [](object, opts = T.unsafe(nil)); end - # Returns the current create identifier. - # See also JSON.create_id=. - # - # source://json//lib/json/common.rb#245 - def create_id; end - - # Sets create identifier, which is used to decide if the _json_create_ - # hook of a class should be called; initial value is +json_class+: - # JSON.create_id # => 'json_class' - # - # source://json//lib/json/common.rb#239 - def create_id=(new_value); end - - # source://json//lib/json/common.rb#104 - def deprecation_warning(message, uplevel = T.unsafe(nil)); end - # :call-seq: - # JSON.dump(obj, io = nil, limit = nil) + # JSON.dump(obj, io = nil, _deprecated_limit = nil, options = nil) # # Dumps +obj+ as a \JSON string, i.e. calls generate on the object and returns the result. # - # The default options can be changed via method JSON.dump_default_options. - # # - Argument +io+, if given, should respond to method +write+; # the \JSON \String is written to +io+, and +io+ is returned. # If +io+ is not given, the \JSON \String is returned. - # - Argument +limit+, if given, is passed to JSON.generate as option +max_nesting+. - # + # - Argument +_deprecated_limit+ is deprecated, pass the +:max_nesting+ option instead. # --- # # When argument +io+ is not given, returns the \JSON \String generated from +obj+: @@ -1263,28 +952,8 @@ module JSON # Output: # {"foo":[0,1],"bar":{"baz":2,"bat":3},"bam":"bad"} # - # source://json//lib/json/common.rb#941 - def dump(obj, anIO = T.unsafe(nil), limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end - - # :call-seq: - # JSON.fast_generate(obj, opts) -> new_string - # - # Arguments +obj+ and +opts+ here are the same as - # arguments +obj+ and +opts+ in JSON.generate. - # - # By default, generates \JSON data without checking - # for circular references in +obj+ (option +max_nesting+ set to +false+, disabled). - # - # Raises an exception if +obj+ contains circular references: - # a = []; b = []; a.push(b); b.push(a) - # # Raises SystemStackError (stack level too deep): - # JSON.fast_generate(a) - # - # source://json//lib/json/common.rb#471 - def fast_generate(obj, opts = T.unsafe(nil)); end - - # source://json//lib/json/common.rb#986 - def fast_unparse(*_arg0, **_arg1, &_arg2); end + # pkg:gem/json#lib/json/common.rb:747 + def dump(obj, anIO = T.unsafe(nil), _deprecated_limit = T.unsafe(nil), kwargs = T.unsafe(nil)); end # :call-seq: # JSON.generate(obj, opts = nil) -> new_string @@ -1319,20 +988,20 @@ module JSON # # Raises an exception if +obj+ contains circular references: # a = []; b = []; a.push(b); b.push(a) - # # Raises JSON::NestingError (nesting of 100 is too deep): + # # Raises JSON::NestingError (nesting of 100 is too deep. Did you try to serialize objects with circular references?): # JSON.generate(a) # - # source://json//lib/json/common.rb#450 + # pkg:gem/json#lib/json/common.rb:373 def generate(obj, opts = T.unsafe(nil)); end # Returns the JSON generator module that is used by JSON. # - # source://json//lib/json/common.rb#188 + # pkg:gem/json#lib/json/common.rb:104 def generator; end # Set the module _generator_ to be used by JSON. # - # source://json//lib/json/common.rb#156 + # pkg:gem/json#lib/json/common.rb:80 def generator=(generator); end # :call-seq: @@ -1341,16 +1010,6 @@ module JSON # # Returns the Ruby objects created by parsing the given +source+. # - # BEWARE: This method is meant to serialise data from trusted user input, - # like from your own database server or clients under your control, it could - # be dangerous to allow untrusted users to pass JSON sources into it. - # If you must use it, use JSON.unsafe_load instead to make it clear. - # - # Since JSON version 2.8.0, `load` emits a deprecation warning when a - # non native type is deserialized, without `create_additions` being explicitly - # enabled, and in JSON version 3.0, `load` will have `create_additions` disabled - # by default. - # # - Argument +source+ must be, or be convertible to, a \String: # - If +source+ responds to instance method +to_str+, # source.to_str becomes the source. @@ -1367,7 +1026,6 @@ module JSON # See details below. # - Argument +opts+, if given, contains a \Hash of options for the parsing. # See {Parsing Options}[#module-JSON-label-Parsing+Options]. - # The default options can be changed via method JSON.load_default_options=. # # --- # @@ -1472,30 +1130,30 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#865 - def load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:701 + def load(source, proc = T.unsafe(nil), allow_blank: T.unsafe(nil), **options); end # :call-seq: - # JSON.load_file(path, opts={}) -> object + # JSON.load_file(path, **) -> object # # Calls: - # parse(File.read(path), opts) + # parse(File.read(path), **) # # See method #parse. # - # source://json//lib/json/common.rb#399 - def load_file(filespec, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:322 + def load_file(filespec, **options); end # :call-seq: - # JSON.load_file!(path, opts = {}) + # JSON.load_file!(path, **) # # Calls: - # JSON.parse!(File.read(path, opts)) + # JSON.parse!(File.read(path), **) # # See method #parse! # - # source://json//lib/json/common.rb#410 - def load_file!(filespec, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:333 + def load_file!(filespec, **options); end # :call-seq: # JSON.parse(source, opts) -> object @@ -1542,11 +1200,11 @@ module JSON # --- # # Raises an exception if +source+ is not valid JSON: - # # Raises JSON::ParserError (783: unexpected token at ''): - # JSON.parse('') + # # Raises JSON::ParserError (unexpected character: 'invalid' at line 1 column 1): + # JSON.parse('invalid') # - # source://json//lib/json/common.rb#362 - def parse(source, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:291 + def parse(source, on_load: T.unsafe(nil), object_class: T.unsafe(nil), array_class: T.unsafe(nil), **options); end # :call-seq: # JSON.parse!(source, opts) -> object @@ -1560,17 +1218,17 @@ module JSON # which disables checking for nesting depth. # - Option +allow_nan+, if not provided, defaults to +true+. # - # source://json//lib/json/common.rb#384 - def parse!(source, opts = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:311 + def parse!(source, **options); end # Returns the JSON parser class that is used by JSON. # - # source://json//lib/json/common.rb#146 + # pkg:gem/json#lib/json/common.rb:70 def parser; end # Set the JSON parser class _parser_ to be used by JSON. # - # source://json//lib/json/common.rb#149 + # pkg:gem/json#lib/json/common.rb:73 def parser=(parser); end # :call-seq: @@ -1603,39 +1261,26 @@ module JSON # } # } # - # source://json//lib/json/common.rb#518 + # pkg:gem/json#lib/json/common.rb:419 def pretty_generate(obj, opts = T.unsafe(nil)); end - # source://json//lib/json/common.rb#996 - def pretty_unparse(*_arg0, **_arg1, &_arg2); end - - # source://json//lib/json/common.rb#1006 - def restore(*_arg0, **_arg1, &_arg2); end - # Sets or Returns the JSON generator state class that is used by JSON. # - # source://json//lib/json/common.rb#191 + # pkg:gem/json#lib/json/common.rb:107 def state; end # Sets or Returns the JSON generator state class that is used by JSON. # - # source://json//lib/json/common.rb#191 + # pkg:gem/json#lib/json/common.rb:107 def state=(_arg0); end - # :stopdoc: - # All these were meant to be deprecated circa 2009, but were just set as undocumented - # so usage still exist in the wild. - # - # source://json//lib/json/common.rb#976 - def unparse(*_arg0, **_arg1, &_arg2); end - # :call-seq: # JSON.unsafe_load(source, options = {}) -> object # JSON.unsafe_load(source, proc = nil, options = {}) -> object # # Returns the Ruby objects created by parsing the given +source+. # - # BEWARE: This method is meant to serialise data from trusted user input, + # BEWARE: This method is meant to deserialise data from trusted user input, # like from your own database server or clients under your control, it could # be dangerous to allow untrusted users to pass JSON sources into it. # @@ -1655,7 +1300,6 @@ module JSON # See details below. # - Argument +opts+, if given, contains a \Hash of options for the parsing. # See {Parsing Options}[#module-JSON-label-Parsing+Options]. - # The default options can be changed via method JSON.unsafe_load_default_options=. # # --- # @@ -1760,21 +1404,15 @@ module JSON # #"Admin", "password"=>"0wn3d"}>} # - # source://json//lib/json/common.rb#694 - def unsafe_load(source, proc = T.unsafe(nil), options = T.unsafe(nil)); end + # pkg:gem/json#lib/json/common.rb:571 + def unsafe_load(source, proc = T.unsafe(nil), **options); end private - # source://json//lib/json/common.rb#1019 - def const_missing(const_name); end - - # source://json//lib/json/common.rb#214 - def deprecated_singleton_attr_accessor(*attrs); end - # Called from the extension when a hash has both string and symbol keys # - # source://json//lib/json/common.rb#196 - def on_mixed_keys_hash(hash, do_raise); end + # pkg:gem/json#lib/json/common.rb:112 + def on_mixed_keys_hash(hash); end end end @@ -1788,12 +1426,12 @@ end # # MyApp::JSONC_CODER.load(document) # -# source://json//lib/json/common.rb#1045 +# pkg:gem/json#lib/json/common.rb:787 class JSON::Coder # :call-seq: - # JSON.new(options = nil, &block) + # JSON::Coder.new(**options, &block) # - # Argument +options+, if given, contains a \Hash of options for both parsing and generating. + # Keyword arguments +options+, if given, are options for both parsing and generating. # See {Parsing Options}[rdoc-ref:JSON@Parsing+Options], # and {Generating Options}[rdoc-ref:JSON@Generating+Options]. # @@ -1814,10 +1452,11 @@ class JSON::Coder # # puts MyApp::API_JSON_CODER.dump(Time.now.utc) # => "2025-01-21T08:41:44.286Z" # - # @return [Coder] a new instance of Coder + # The conversion callback can also be passed as +as_json:+. If both are given, the block takes precedence. + # Passing +false+ or +nil+ for +strict:+ raises ArgumentError. # - # source://json//lib/json/common.rb#1070 - def initialize(options = T.unsafe(nil), &as_json); end + # pkg:gem/json#lib/json/common.rb:836 + def initialize(object_class: T.unsafe(nil), array_class: T.unsafe(nil), on_load: T.unsafe(nil), strict: T.unsafe(nil), **options, &as_json); end # call-seq: # dump(object) -> String @@ -1825,16 +1464,10 @@ class JSON::Coder # # Serialize the given object into a \JSON document. # - # source://json//lib/json/common.rb#1088 + # pkg:gem/json#lib/json/common.rb:859 def dump(object, io = T.unsafe(nil)); end - # call-seq: - # dump(object) -> String - # dump(object, io) -> io - # - # Serialize the given object into a \JSON document. - # - # source://json//lib/json/common.rb#1088 + # pkg:gem/json#lib/json/common.rb:862 def generate(object, io = T.unsafe(nil)); end # call-seq: @@ -1842,7 +1475,7 @@ class JSON::Coder # # Parse the given \JSON document and return an equivalent Ruby object. # - # source://json//lib/json/common.rb#1097 + # pkg:gem/json#lib/json/common.rb:868 def load(source); end # call-seq: @@ -1850,19 +1483,40 @@ class JSON::Coder # # Parse the given \JSON document and return an equivalent Ruby object. # - # source://json//lib/json/common.rb#1106 + # pkg:gem/json#lib/json/common.rb:877 def load_file(path); end - # call-seq: - # load(string) -> Object - # - # Parse the given \JSON document and return an equivalent Ruby object. - # - # source://json//lib/json/common.rb#1097 + # pkg:gem/json#lib/json/common.rb:871 def parse(source); end end -# source://json//lib/json/ext/generator/state.rb#6 +# pkg:gem/json#lib/json/common.rb:802 +JSON::Coder::EXCLUDED_GENERATOR_OPTIONS = T.let(T.unsafe(nil), Array) + +# pkg:gem/json#lib/json/common.rb:788 +JSON::Coder::PARSER_OPTIONS = T.let(T.unsafe(nil), Array) + +# This module holds all the modules/classes that implement JSON's +# functionality as C extensions. +# +# pkg:gem/json#lib/json/ext.rb:8 +module JSON::Ext + class << self + # pkg:gem/json#lib/json/ext.rb:46 + def coerce_key(key, as_json); end + + # pkg:gem/json#lib/json/ext.rb:80 + def on_duplicate_key(hash, as_json); end + + # pkg:gem/json#lib/json/ext.rb:37 + def shareable_lambda(block); end + + # pkg:gem/json#lib/json/ext.rb:42 + def valid_encoding?(str); end + end +end + +# pkg:gem/json#lib/json/ext.rb:101 class JSON::Ext::Generator::State # call-seq: new(opts = {}) # @@ -1871,75 +1525,197 @@ class JSON::Ext::Generator::State # Argument +opts+, if given, contains a \Hash of options for the generation. # See {Generating Options}[rdoc-ref:JSON@Generating+Options]. # - # @return [State] a new instance of State - # - # source://json//lib/json/ext/generator/state.rb#13 + # pkg:gem/json#lib/json/ext.rb:101 def initialize(opts = T.unsafe(nil)); end - # call-seq: [](name) - # - # Returns the value returned by method +name+. - # - # source://json//lib/json/ext/generator/state.rb#78 - def [](name); end + # pkg:gem/json#lib/json/ext.rb:101 + def _generate_no_fallback(*_arg0); end - # call-seq: []=(name, value) - # - # Sets the attribute name to value. - # - # source://json//lib/json/ext/generator/state.rb#92 - def []=(name, value); end + # pkg:gem/json#lib/json/ext.rb:101 + def allow_nan=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def allow_nan?; end + + # pkg:gem/json#lib/json/ext.rb:101 + def array_nl; end + + # pkg:gem/json#lib/json/ext.rb:101 + def array_nl=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def as_json; end + + # pkg:gem/json#lib/json/ext.rb:101 + def as_json=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def ascii_only=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def ascii_only?; end + + # pkg:gem/json#lib/json/ext.rb:101 + def buffer_initial_length; end + + # pkg:gem/json#lib/json/ext.rb:101 + def buffer_initial_length=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def check_circular?; end # call-seq: configure(opts) # # Configure this State instance with the Hash _opts_, and return # itself. # - # source://json//lib/json/ext/generator/state.rb#23 + # pkg:gem/json#lib/json/ext/generator/state.rb:23 def configure(opts); end - # call-seq: configure(opts) - # - # Configure this State instance with the Hash _opts_, and return - # itself. - # - # source://json//lib/json/ext/generator/state.rb#23 + # pkg:gem/json#lib/json/ext.rb:101 + def depth; end + + # pkg:gem/json#lib/json/ext.rb:101 + def depth=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def generate(*_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def indent; end + + # pkg:gem/json#lib/json/ext.rb:101 + def indent=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def max_nesting; end + + # pkg:gem/json#lib/json/ext.rb:101 + def max_nesting=(_arg0); end + + # pkg:gem/json#lib/json/ext/generator/state.rb:36 def merge(opts); end + # pkg:gem/json#lib/json/ext.rb:101 + def object_nl; end + + # pkg:gem/json#lib/json/ext.rb:101 + def object_nl=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def rfc8785=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def rfc8785?; end + + # pkg:gem/json#lib/json/ext.rb:101 + def script_safe; end + + # pkg:gem/json#lib/json/ext.rb:101 + def script_safe=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def script_safe?; end + + # pkg:gem/json#lib/json/ext.rb:101 + def sort_keys; end + + # pkg:gem/json#lib/json/ext.rb:101 + def sort_keys=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def space; end + + # pkg:gem/json#lib/json/ext.rb:101 + def space=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def space_before; end + + # pkg:gem/json#lib/json/ext.rb:101 + def space_before=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def strict; end + + # pkg:gem/json#lib/json/ext.rb:101 + def strict=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def strict?; end + # call-seq: to_h # # Returns the configuration instance variables as a hash, that can be # passed to the configure method. # - # source://json//lib/json/ext/generator/state.rb#42 + # pkg:gem/json#lib/json/ext/generator/state.rb:42 def to_h; end - # call-seq: to_h - # - # Returns the configuration instance variables as a hash, that can be - # passed to the configure method. - # - # source://json//lib/json/ext/generator/state.rb#42 + # pkg:gem/json#lib/json/ext/generator/state.rb:69 def to_hash; end + + private + + # pkg:gem/json#lib/json/ext.rb:101 + def _configure(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def allow_duplicate_key?; end + + # pkg:gem/json#lib/json/ext.rb:101 + def initialize_copy(_arg0); end + + class << self + # pkg:gem/json#lib/json/ext.rb:101 + def _generate_no_fallback(_arg0, _arg1, _arg2); end + + # pkg:gem/json#lib/json/ext.rb:101 + def default_sort_keys_proc=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def from_state(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def generate(_arg0, _arg1, _arg2); end + + # pkg:gem/json#lib/json/ext.rb:101 + def rfc8785_number_formatter_proc=(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:101 + def rfc8785_sort_keys_proc=(_arg0); end + end end -# source://json//lib/json/ext.rb#9 +# pkg:gem/json#lib/json/ext.rb:9 class JSON::Ext::Parser - # @return [Parser] a new instance of Parser - # - # source://json//lib/json/ext.rb#17 + # pkg:gem/json#lib/json/ext.rb:17 def initialize(source, opts = T.unsafe(nil)); end - # source://json//lib/json/ext.rb#26 + # pkg:gem/json#lib/json/ext.rb:26 def parse; end - # source://json//lib/json/ext.rb#22 + # pkg:gem/json#lib/json/ext.rb:22 def source; end + + class << self + # pkg:gem/json#lib/json/ext.rb:11 + def parse(_arg0, _arg1); end + end end -# source://json//lib/json/ext.rb#32 +# pkg:gem/json#lib/json/ext.rb:94 JSON::Ext::Parser::Config = JSON::Ext::ParserConfig +# pkg:gem/json#lib/json/ext.rb:93 +class JSON::Ext::ParserConfig + # pkg:gem/json#lib/json/ext.rb:93 + def initialize(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:93 + def parse(_arg0); end +end + # Fragment of JSON document that is to be included as is: # fragment = JSON::Fragment.new("[1, 2, 3]") # JSON.generate({ count: 3, items: fragments }) @@ -1951,55 +1727,53 @@ JSON::Ext::Parser::Config = JSON::Ext::ParserConfig # Note: no validation is performed on the provided string. It is the # responsibility of the caller to ensure the string contains valid JSON. # -# source://json//lib/json/common.rb#298 +# pkg:gem/json#lib/json/common.rb:227 class JSON::Fragment < ::Struct - # @return [Fragment] a new instance of Fragment - # - # source://json//lib/json/common.rb#299 + # pkg:gem/json#lib/json/common.rb:228 def initialize(json); end - # Returns the value of attribute json - # - # @return [Object] the current value of json + # pkg:gem/json#lib/json/common.rb:227 def json; end - # Sets the attribute json - # - # @param value [Object] the value to set the attribute json to. - # @return [Object] the newly set value + # pkg:gem/json#lib/json/common.rb:227 def json=(_); end - # source://json//lib/json/common.rb#307 - def to_json(state = T.unsafe(nil), *_arg1); end + # pkg:gem/json#lib/json/common.rb:236 + def to_json(state = T.unsafe(nil), *); end class << self + # pkg:gem/json#lib/json/common.rb:227 def [](*_arg0); end + + # pkg:gem/json#lib/json/common.rb:227 def inspect; end + + # pkg:gem/json#lib/json/common.rb:227 def keyword_init?; end + + # pkg:gem/json#lib/json/common.rb:227 def members; end + + # pkg:gem/json#lib/json/common.rb:227 def new(*_arg0); end end end # This exception is raised if a generator or unparser error occurs. # -# source://json//lib/json/common.rb#268 +# pkg:gem/json#lib/json/common.rb:197 class JSON::GeneratorError < ::JSON::JSONError - # @return [GeneratorError] a new instance of GeneratorError - # - # source://json//lib/json/common.rb#271 + # pkg:gem/json#lib/json/common.rb:200 def initialize(message, invalid_object = T.unsafe(nil)); end - # source://json//lib/json/common.rb#276 - def detailed_message(*_arg0, **_arg1, &_arg2); end + # pkg:gem/json#lib/json/common.rb:205 + def detailed_message(*, **, &); end - # Returns the value of attribute invalid_object. - # - # source://json//lib/json/common.rb#269 + # pkg:gem/json#lib/json/common.rb:198 def invalid_object; end end -# source://json//lib/json/common.rb#1111 +# pkg:gem/json#lib/json/common.rb:882 module JSON::GeneratorMethods # call-seq: to_json(*) # @@ -2009,104 +1783,77 @@ module JSON::GeneratorMethods # it to a JSON string, and returns the result. # This is a fallback, if no special method #to_json was defined for some object. # - # source://json//lib/json/common.rb#1119 - def to_json(state = T.unsafe(nil), *_arg1); end -end - -# source://json//lib/json/generic_object.rb#9 -class JSON::GenericObject < ::OpenStruct - # source://json//lib/json/generic_object.rb#59 - def as_json(*_arg0); end - - # source://json//lib/json/generic_object.rb#51 - def to_hash; end - - # source://json//lib/json/generic_object.rb#63 - def to_json(*a); end - - # source://json//lib/json/generic_object.rb#55 - def |(other); end - - class << self - # source://json//lib/json/generic_object.rb#45 - def dump(obj, *args); end - - # source://json//lib/json/generic_object.rb#25 - def from_hash(object); end - - # Sets the attribute json_creatable - # - # @param value the value to set the attribute json_creatable to. - # - # source://json//lib/json/generic_object.rb#17 - def json_creatable=(_arg0); end - - # @return [Boolean] - # - # source://json//lib/json/generic_object.rb#13 - def json_creatable?; end - - # source://json//lib/json/generic_object.rb#19 - def json_create(data); end - - # source://json//lib/json/generic_object.rb#40 - def load(source, proc = T.unsafe(nil), opts = T.unsafe(nil)); end - end + # pkg:gem/json#lib/json/common.rb:890 + def to_json(state = T.unsafe(nil), *); end end -# source://json//lib/json/common.rb#367 -JSON::PARSE_L_OPTIONS = T.let(T.unsafe(nil), Hash) - -# source://json//lib/json/common.rb#480 +# pkg:gem/json#lib/json/common.rb:381 JSON::PRETTY_GENERATE_OPTIONS = T.let(T.unsafe(nil), Hash) -# source://json//lib/json/common.rb#152 +# pkg:gem/json#lib/json/common.rb:76 JSON::Parser = JSON::Ext::Parser # This exception is raised if a parser error occurs. # -# source://json//lib/json/common.rb#259 +# pkg:gem/json#lib/json/common.rb:136 class JSON::ParserError < ::JSON::JSONError - # Returns the value of attribute column. + # One-based column number where the parser encountered an error, counted in Unicode codepoints. + # Is +nil+ when raised by JSON::ResumableParser. # - # source://json//lib/json/common.rb#260 + # pkg:gem/json#lib/json/common.rb:143 def column; end - # Returns the value of attribute line. + # Returns a best effort JSONPath string representing where in the document + # the parser encountered an error: + # + # begin + # JSON.parse('{"articles": [ { "title": invalid } ]}') + # rescue JSON::ParserError => error + # error.json_path # => "$.articles[0].title" + # end # - # source://json//lib/json/common.rb#260 + # pkg:gem/json#lib/json/common.rb:153 + def json_path; end + + # Line number where the parser encountered an error. + # Is +nil+ when raised by JSON::ResumableParser. + # + # pkg:gem/json#lib/json/common.rb:139 def line; end + + private + + # pkg:gem/json#lib/json/common.rb:165 + def build_json_path(segments); end end -# source://json//lib/json/common.rb#8 +# pkg:gem/json#lib/json/common.rb:6 module JSON::ParserOptions class << self - # source://json//lib/json/common.rb#10 - def prepare(opts); end + # pkg:gem/json#lib/json/common.rb:8 + def on_load(on_load, object_class, array_class); end private - # source://json//lib/json/common.rb#40 + # pkg:gem/json#lib/json/common.rb:27 def array_class_proc(array_class, on_load); end - # TODO: extract :create_additions support to another gem for version 3.0 - # - # source://json//lib/json/common.rb#52 - def create_additions_proc(opts); end - - # source://json//lib/json/common.rb#95 - def create_additions_warning; end - - # source://json//lib/json/common.rb#29 + # pkg:gem/json#lib/json/common.rb:16 def object_class_proc(object_class, on_load); end end end -# source://json//lib/json/ext.rb#45 +# Not yet available on JRuby +# +# pkg:gem/json#lib/json/ext.rb:93 class JSON::ResumableParser + # pkg:gem/json#lib/json/ext.rb:93 def initialize(*_arg0); end + # pkg:gem/json#lib/json/ext.rb:93 def <<(_arg0); end + + # pkg:gem/json#lib/json/ext.rb:93 def clear; end # Returns whether the parser is entirely done: no unconsumed bytes in @@ -2128,25 +1875,38 @@ class JSON::ResumableParser # end # warn "stream was truncated" unless parser.empty? # - # @return [Boolean] - # - # source://json//lib/json/ext.rb#64 + # pkg:gem/json#lib/json/ext.rb:190 def empty?; end + # pkg:gem/json#lib/json/ext.rb:93 def eos?; end + + # pkg:gem/json#lib/json/ext.rb:93 def parse; end + + # pkg:gem/json#lib/json/ext.rb:93 def parsed_bytes; end + + # pkg:gem/json#lib/json/ext.rb:93 def partial_value; end + + # pkg:gem/json#lib/json/ext.rb:93 def partial_value?; end + + # pkg:gem/json#lib/json/ext.rb:93 def rest; end + + # pkg:gem/json#lib/json/ext.rb:93 def value; end + + # pkg:gem/json#lib/json/ext.rb:93 def value?; end end -# source://json//lib/json/common.rb#182 +# pkg:gem/json#lib/json/common.rb:98 JSON::State = JSON::Ext::Generator::State -# source://json//lib/json/common.rb#1136 +# pkg:gem/json#lib/json/common.rb:907 module Kernel private @@ -2157,23 +1917,11 @@ module Kernel # The _opts_ argument is passed through to generate/parse respectively. See # generate and parse for their documentation. # - # source://json//lib/json/common.rb#1175 + # pkg:gem/json#lib/json/common.rb:916 def JSON(object, opts = T.unsafe(nil)); end - - # Outputs _objs_ to STDOUT as JSON strings in the shortest form, that is in - # one line. - # - # source://json//lib/json/common.rb#1141 - def j(*objs); end - - # Outputs _objs_ to STDOUT as JSON strings in a pretty format, with - # indentation and over many lines. - # - # source://json//lib/json/common.rb#1156 - def jj(*objs); end end -# source://json//lib/json/common.rb#1180 +# pkg:gem/json#lib/json/common.rb:921 class Object < ::BasicObject include ::Kernel include ::PP::ObjectMixin diff --git a/sorbet/rbi/gems/rails@8.0.5.2.rbi b/sorbet/rbi/gems/rails@8.1.4.1.rbi similarity index 100% rename from sorbet/rbi/gems/rails@8.0.5.2.rbi rename to sorbet/rbi/gems/rails@8.1.4.1.rbi diff --git a/sorbet/rbi/gems/railties@8.0.5.2.rbi b/sorbet/rbi/gems/railties@8.1.4.1.rbi similarity index 86% rename from sorbet/rbi/gems/railties@8.0.5.2.rbi rename to sorbet/rbi/gems/railties@8.1.4.1.rbi index ff4f96ec..5d52eea7 100644 --- a/sorbet/rbi/gems/railties@8.0.5.2.rbi +++ b/sorbet/rbi/gems/railties@8.1.4.1.rbi @@ -17,33 +17,87 @@ module Rails extend ::ActiveSupport::Benchmarkable class << self - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def app_class; end - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def app_class=(_arg0); end - # pkg:gem/railties#lib/rails.rb:45 + # pkg:gem/railties#lib/rails.rb:44 def application; end - # pkg:gem/railties#lib/rails.rb:43 + # pkg:gem/railties#lib/rails.rb:42 def application=(_arg0); end - # pkg:gem/railties#lib/rails.rb:126 + # Provides access to the application autoloaders. + # + # The autoloader that manages `autoload_paths` is reachable as + # + # Rails.autoloaders.main + # + # This autoloader manages the constants that are reloaded when reloading is + # enabled. + # + # The autoloader that manages `autoload_once_paths` is reachable as + # + # Rails.autoloaders.once + # + # This autoloader manages constants that are autoloaded, but not reloaded. + # + # You can use these objects to customize their behavior, defining custom + # root namespaces, collapsing directories, configuring callbacks, etc. + # + # # config/environments/development.rb + # Rails.autoloaders.main.on_load("MyGateway") do + # MyGateway.endpoint = "https://my-gateway.localhost" + # end + # + # # config/environments/production.rb + # Rails.autoloaders.main.on_load("MyGateway") do + # MyGateway.endpoint = "https://my-gateway.example.com" + # end + # + # The +each+ iterator allows you to iterate over both loaders: + # + # Rails.autoloaders.each do |loader| + # loader.log! + # end + # + # which may be handy if you want to run the same code for both of them. + # + # Indeed, there is a shortcut for that common use case: + # + # Rails.autoloaders.log! + # + # which is handy to watch the activity of the autoloaders. + # + # Finally, +zeitwerk_enabled?+ allows you to check if autoloading is powered + # by Zeitwerk. This predicate returns a hard-coded true since Rails 7, but + # it is still in place for engines that support Rails 6. + # + # The autoloaders are available really early, you can access them in the + # application class body, environment configuration, initializers, etc. + # + # Please check the {Autoloading and Reloading + # Constants}[https://guides.rubyonrails.org/autoloading_and_reloading_constants.html] + # guide and the documentation of {Zeitwerk}[https://github.com/fxn/zeitwerk] + # itself for more details and usage patterns. + # + # pkg:gem/railties#lib/rails.rb:186 def autoloaders; end - # pkg:gem/railties#lib/rails.rb:56 + # pkg:gem/railties#lib/rails.rb:55 def backtrace_cleaner; end - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def cache; end - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def cache=(_arg0); end # The Configuration instance used to configure the \Rails environment # - # pkg:gem/railties#lib/rails.rb:52 + # pkg:gem/railties#lib/rails.rb:51 def configuration; end # pkg:gem/railties#lib/rails/deprecator.rb:4 @@ -56,14 +110,14 @@ module Rails # Rails.env.production? # => false # Rails.env.local? # => true true for "development" and "test", false for anything else # - # pkg:gem/railties#lib/rails.rb:75 + # pkg:gem/railties#lib/rails.rb:74 def env; end # Sets the \Rails environment. # # Rails.env = "staging" # => "staging" # - # pkg:gem/railties#lib/rails.rb:82 + # pkg:gem/railties#lib/rails.rb:81 def env=(environment); end # Returns the ActiveSupport::ErrorReporter of the current \Rails project, @@ -74,9 +128,17 @@ module Rails # end # Rails.error.report(error) # - # pkg:gem/railties#lib/rails.rb:93 + # pkg:gem/railties#lib/rails.rb:92 def error; end + # Returns the ActiveSupport::EventReporter of the current \Rails project, + # otherwise it returns +nil+ if there is no project. + # + # Rails.event.notify("my_event", { message: "Hello, world!" }) + # + # pkg:gem/railties#lib/rails.rb:100 + def event; end + # Returns the currently loaded version of \Rails as a +Gem::Version+. # # pkg:gem/railties#lib/rails/gem_version.rb:5 @@ -92,19 +154,19 @@ module Rails # # => [:default, "development", :assets] for Rails.env == "development" # # => [:default, "production"] for Rails.env == "production" # - # pkg:gem/railties#lib/rails.rb:106 + # pkg:gem/railties#lib/rails.rb:113 def groups(*groups); end - # pkg:gem/railties#lib/rails.rb:49 + # pkg:gem/railties#lib/rails.rb:48 def initialize!(*, **, &); end - # pkg:gem/railties#lib/rails.rb:49 + # pkg:gem/railties#lib/rails.rb:48 def initialized?(*, **, &); end - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def logger; end - # pkg:gem/railties#lib/rails.rb:44 + # pkg:gem/railties#lib/rails.rb:43 def logger=(_arg0); end # Returns a Pathname object of the public folder of the current @@ -113,7 +175,7 @@ module Rails # Rails.public_path # # => # # - # pkg:gem/railties#lib/rails.rb:122 + # pkg:gem/railties#lib/rails.rb:129 def public_path; end # Returns a Pathname object of the current \Rails project, @@ -122,7 +184,7 @@ module Rails # Rails.root # # => # # - # pkg:gem/railties#lib/rails.rb:65 + # pkg:gem/railties#lib/rails.rb:64 def root; end # Returns the currently loaded version of \Rails as a string. @@ -178,27 +240,27 @@ end # 10. Run +config.before_eager_load+ and +eager_load!+ if +eager_load+ is +true+. # 11. Run +config.after_initialize+ callbacks. # -# pkg:gem/railties#lib/rails/application.rb:62 +# pkg:gem/railties#lib/rails/application.rb:60 class Rails::Application < ::Rails::Engine - # pkg:gem/railties#lib/rails/application.rb:109 + # pkg:gem/railties#lib/rails/application.rb:107 def initialize(initial_variable_values = T.unsafe(nil), &block); end - # pkg:gem/railties#lib/rails/application.rb:100 + # pkg:gem/railties#lib/rails/application.rb:98 def assets; end - # pkg:gem/railties#lib/rails/application.rb:100 + # pkg:gem/railties#lib/rails/application.rb:98 def assets=(_arg0); end - # pkg:gem/railties#lib/rails/application.rb:102 + # pkg:gem/railties#lib/rails/application.rb:100 def autoloaders; end - # pkg:gem/railties#lib/rails/application.rb:562 + # pkg:gem/railties#lib/rails/application.rb:556 def build_middleware_stack; end - # pkg:gem/railties#lib/rails/application.rb:455 + # pkg:gem/railties#lib/rails/application.rb:449 def config; end - # pkg:gem/railties#lib/rails/application.rb:459 + # pkg:gem/railties#lib/rails/application.rb:453 def config=(_arg0); end # Convenience for loading config/foo.yml for the current \Rails env. @@ -240,13 +302,13 @@ class Rails::Application < ::Rails::Engine # Rails.application.config_for(:example)[:foo][:bar] # # => { baz: 1, qux: 2 } # - # pkg:gem/railties#lib/rails/application.rb:292 + # pkg:gem/railties#lib/rails/application.rb:286 def config_for(name, env: T.unsafe(nil)); end # Sends any console called in the instance of a new application up # to the +console+ method defined in Rails::Railtie. # - # pkg:gem/railties#lib/rails/application.rb:375 + # pkg:gem/railties#lib/rails/application.rb:369 def console(&blk); end # Returns an ActiveSupport::EncryptedConfiguration instance for the @@ -264,7 +326,7 @@ class Rails::Application < ::Rails::Engine # config/credentials/#{environment}.key for the current # environment, or +config/master.key+ if that file does not exist. # - # pkg:gem/railties#lib/rails/application.rb:499 + # pkg:gem/railties#lib/rails/application.rb:493 def credentials; end # Returns an ActiveSupport::EncryptedConfiguration instance for the @@ -282,13 +344,13 @@ class Rails::Application < ::Rails::Engine # config/credentials/#{environment}.key for the current # environment, or +config/master.key+ if that file does not exist. # - # pkg:gem/railties#lib/rails/application.rb:460 + # pkg:gem/railties#lib/rails/application.rb:454 def credentials=(_arg0); end - # pkg:gem/railties#lib/rails/application.rb:104 + # pkg:gem/railties#lib/rails/application.rb:102 def default_url_options(*, **, &); end - # pkg:gem/railties#lib/rails/application.rb:104 + # pkg:gem/railties#lib/rails/application.rb:102 def default_url_options=(arg); end # A managed collection of deprecators (ActiveSupport::Deprecation::Deprecators). @@ -296,12 +358,12 @@ class Rails::Application < ::Rails::Engine # collection. Additionally, the collection's +silence+ method silences all # deprecators in the collection for the duration of a given block. # - # pkg:gem/railties#lib/rails/application.rb:248 + # pkg:gem/railties#lib/rails/application.rb:242 def deprecators; end # Eager loads the application code. # - # pkg:gem/railties#lib/rails/application.rb:557 + # pkg:gem/railties#lib/rails/application.rb:551 def eager_load!; end # Returns an ActiveSupport::EncryptedConfiguration instance for an encrypted @@ -320,51 +382,51 @@ class Rails::Application < ::Rails::Engine # command. (See the output of bin/rails encrypted:edit --help for # more information.) # - # pkg:gem/railties#lib/rails/application.rb:518 + # pkg:gem/railties#lib/rails/application.rb:512 def encrypted(path, key_path: T.unsafe(nil), env_key: T.unsafe(nil)); end # Stores some of the \Rails initial environment parameters which # will be used by middlewares and engines to configure themselves. # - # pkg:gem/railties#lib/rails/application.rb:321 + # pkg:gem/railties#lib/rails/application.rb:315 def env_config; end - # pkg:gem/railties#lib/rails/application.rb:102 + # pkg:gem/railties#lib/rails/application.rb:100 def executor; end # Sends any generators called in the instance of a new application up # to the +generators+ method defined in Rails::Railtie. # - # pkg:gem/railties#lib/rails/application.rb:381 + # pkg:gem/railties#lib/rails/application.rb:375 def generators(&blk); end - # pkg:gem/railties#lib/rails/application.rb:531 + # pkg:gem/railties#lib/rails/application.rb:525 def helpers_paths; end # Initialize the application passing the given group. By default, the # group is :default # - # pkg:gem/railties#lib/rails/application.rb:442 + # pkg:gem/railties#lib/rails/application.rb:436 def initialize!(group = T.unsafe(nil)); end # Returns true if the application is initialized. # - # pkg:gem/railties#lib/rails/application.rb:134 + # pkg:gem/railties#lib/rails/application.rb:132 def initialized?; end # Sends the initializers to the +initializer+ method defined in the # Rails::Initializable module. Each Rails::Application class has its own # set of initializers, as defined by the Initializable module. # - # pkg:gem/railties#lib/rails/application.rb:363 + # pkg:gem/railties#lib/rails/application.rb:357 def initializer(name, opts = T.unsafe(nil), &block); end - # pkg:gem/railties#lib/rails/application.rb:449 + # pkg:gem/railties#lib/rails/application.rb:443 def initializers; end # Sends the +isolate_namespace+ method up to the class method. # - # pkg:gem/railties#lib/rails/application.rb:392 + # pkg:gem/railties#lib/rails/application.rb:386 def isolate_namespace(mod); end # Returns a key generator (ActiveSupport::CachingKeyGenerator) for a @@ -372,10 +434,10 @@ class Rails::Application < ::Rails::Engine # calls with the same +secret_key_base+ will return the same key generator # instance. # - # pkg:gem/railties#lib/rails/application.rb:176 + # pkg:gem/railties#lib/rails/application.rb:170 def key_generator(secret_key_base = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/application.rb:551 + # pkg:gem/railties#lib/rails/application.rb:545 def load_generators(app = T.unsafe(nil)); end # Returns a message verifier object. @@ -400,7 +462,7 @@ class Rails::Application < ::Rails::Engine # Rails.application.message_verifier('my_purpose').verify(message) # # => 'data to sign against tampering' # - # pkg:gem/railties#lib/rails/application.rb:240 + # pkg:gem/railties#lib/rails/application.rb:234 def message_verifier(verifier_name); end # Returns a message verifier factory (ActiveSupport::MessageVerifiers). This @@ -431,7 +493,7 @@ class Rails::Application < ::Rails::Engine # app.message_verifiers.rotate(secret_key_base: "old secret_key_base") # end # - # pkg:gem/railties#lib/rails/application.rb:212 + # pkg:gem/railties#lib/rails/application.rb:206 def message_verifiers; end # Return an array of railties respecting the order they're loaded @@ -441,58 +503,58 @@ class Rails::Application < ::Rails::Engine # copying migrations from railties ; we need them in the order given by # +railties_order+. # - # pkg:gem/railties#lib/rails/application.rb:547 + # pkg:gem/railties#lib/rails/application.rb:541 def migration_railties; end # Returns the dasherized application name. # # MyApp::Application.new.name => "my-app" # - # pkg:gem/railties#lib/rails/application.rb:141 + # pkg:gem/railties#lib/rails/application.rb:139 def name; end # If you try to define a set of Rake tasks on the instance, these will get # passed up to the Rake tasks defined on the application's class. # - # pkg:gem/railties#lib/rails/application.rb:356 + # pkg:gem/railties#lib/rails/application.rb:350 def rake_tasks(&block); end # Reload application routes regardless if they changed or not. # - # pkg:gem/railties#lib/rails/application.rb:160 + # pkg:gem/railties#lib/rails/application.rb:158 def reload_routes!; end - # pkg:gem/railties#lib/rails/application.rb:168 + # pkg:gem/railties#lib/rails/application.rb:162 def reload_routes_unless_loaded; end - # pkg:gem/railties#lib/rails/application.rb:102 + # pkg:gem/railties#lib/rails/application.rb:100 def reloader; end - # pkg:gem/railties#lib/rails/application.rb:102 + # pkg:gem/railties#lib/rails/application.rb:100 def reloaders; end - # pkg:gem/railties#lib/rails/application.rb:418 + # pkg:gem/railties#lib/rails/application.rb:412 def require_environment!; end - # pkg:gem/railties#lib/rails/application.rb:423 + # pkg:gem/railties#lib/rails/application.rb:417 def routes_reloader; end - # pkg:gem/railties#lib/rails/application.rb:145 + # pkg:gem/railties#lib/rails/application.rb:143 def run_load_hooks!; end # Sends any runner called in the instance of a new application up # to the +runner+ method defined in Rails::Railtie. # - # pkg:gem/railties#lib/rails/application.rb:369 + # pkg:gem/railties#lib/rails/application.rb:363 def runner(&blk); end - # pkg:gem/railties#lib/rails/application.rb:100 + # pkg:gem/railties#lib/rails/application.rb:98 def sandbox; end - # pkg:gem/railties#lib/rails/application.rb:100 + # pkg:gem/railties#lib/rails/application.rb:98 def sandbox=(_arg0); end - # pkg:gem/railties#lib/rails/application.rb:101 + # pkg:gem/railties#lib/rails/application.rb:99 def sandbox?; end # The secret_key_base is used as the input secret to the application's key generator, which in turn @@ -515,68 +577,68 @@ class Rails::Application < ::Rails::Engine # # Dockerfile example: RUN SECRET_KEY_BASE_DUMMY=1 bundle exec rails assets:precompile. # - # pkg:gem/railties#lib/rails/application.rb:481 + # pkg:gem/railties#lib/rails/application.rb:475 def secret_key_base; end # Sends any server called in the instance of a new application up # to the +server+ method defined in Rails::Railtie. # - # pkg:gem/railties#lib/rails/application.rb:387 + # pkg:gem/railties#lib/rails/application.rb:381 def server(&blk); end - # pkg:gem/railties#lib/rails/application.rb:527 + # pkg:gem/railties#lib/rails/application.rb:521 def to_app; end # Returns an array of file paths appended with a hash of # directories-extensions suitable for ActiveSupport::FileUpdateChecker # API. # - # pkg:gem/railties#lib/rails/application.rb:430 + # pkg:gem/railties#lib/rails/application.rb:424 def watchable_args; end protected - # pkg:gem/railties#lib/rails/application.rb:630 + # pkg:gem/railties#lib/rails/application.rb:624 def default_middleware_stack; end - # pkg:gem/railties#lib/rails/application.rb:635 + # pkg:gem/railties#lib/rails/application.rb:629 def ensure_generator_templates_added; end # Returns the ordered railties for this application considering railties_order. # - # pkg:gem/railties#lib/rails/application.rb:596 + # pkg:gem/railties#lib/rails/application.rb:590 def ordered_railties; end - # pkg:gem/railties#lib/rails/application.rb:618 + # pkg:gem/railties#lib/rails/application.rb:612 def railties_initializers(current); end - # pkg:gem/railties#lib/rails/application.rb:585 + # pkg:gem/railties#lib/rails/application.rb:579 def run_console_blocks(app); end - # pkg:gem/railties#lib/rails/application.rb:575 + # pkg:gem/railties#lib/rails/application.rb:569 def run_generators_blocks(app); end - # pkg:gem/railties#lib/rails/application.rb:580 + # pkg:gem/railties#lib/rails/application.rb:574 def run_runner_blocks(app); end - # pkg:gem/railties#lib/rails/application.rb:590 + # pkg:gem/railties#lib/rails/application.rb:584 def run_server_blocks(app); end - # pkg:gem/railties#lib/rails/application.rb:564 + # pkg:gem/railties#lib/rails/application.rb:558 def run_tasks_blocks(app); end private - # pkg:gem/railties#lib/rails/application.rb:648 + # pkg:gem/railties#lib/rails/application.rb:642 def build_middleware; end - # pkg:gem/railties#lib/rails/application.rb:641 + # pkg:gem/railties#lib/rails/application.rb:635 def build_request(env); end - # pkg:gem/railties#lib/rails/application.rb:652 + # pkg:gem/railties#lib/rails/application.rb:646 def coerce_same_site_protection(protection); end - # pkg:gem/railties#lib/rails/application.rb:656 + # pkg:gem/railties#lib/rails/application.rb:650 def filter_parameters; end class << self @@ -594,22 +656,22 @@ class Rails::Application < ::Rails::Engine # Rails application, you will need to add lib to $LOAD_PATH on your own in case # you need to load files in lib/ during the application configuration as well. # - # pkg:gem/railties#lib/rails/application.rb:411 + # pkg:gem/railties#lib/rails/application.rb:405 def add_lib_to_load_path!(root); end - # pkg:gem/railties#lib/rails/application.rb:84 + # pkg:gem/railties#lib/rails/application.rb:82 def create(initial_variable_values = T.unsafe(nil), &block); end - # pkg:gem/railties#lib/rails/application.rb:88 + # pkg:gem/railties#lib/rails/application.rb:86 def find_root(from); end - # pkg:gem/railties#lib/rails/application.rb:71 + # pkg:gem/railties#lib/rails/application.rb:69 def inherited(base); end - # pkg:gem/railties#lib/rails/application.rb:80 + # pkg:gem/railties#lib/rails/application.rb:78 def instance; end - # pkg:gem/railties#lib/rails/application.rb:97 + # pkg:gem/railties#lib/rails/application.rb:95 def new(*_arg0); end end end @@ -622,7 +684,7 @@ end # pkg:gem/railties#lib/rails/application/configuration.rb:13 class Rails::Application::Configuration < ::Rails::Engine::Configuration - # pkg:gem/railties#lib/rails/application/configuration.rb:30 + # pkg:gem/railties#lib/rails/application/configuration.rb:31 def initialize(*); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -637,13 +699,13 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def allow_concurrency=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:563 + # pkg:gem/railties#lib/rails/application/configuration.rb:582 def annotations; end - # pkg:gem/railties#lib/rails/application/configuration.rb:28 + # pkg:gem/railties#lib/rails/application/configuration.rb:29 def api_only; end - # pkg:gem/railties#lib/rails/application/configuration.rb:376 + # pkg:gem/railties#lib/rails/application/configuration.rb:395 def api_only=(value); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -664,10 +726,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def autoflush_log=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:471 + # pkg:gem/railties#lib/rails/application/configuration.rb:490 def autoload_lib(ignore:); end - # pkg:gem/railties#lib/rails/application/configuration.rb:483 + # pkg:gem/railties#lib/rails/application/configuration.rb:502 def autoload_lib_once(ignore:); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -676,7 +738,7 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def beginning_of_week=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:388 + # pkg:gem/railties#lib/rails/application/configuration.rb:407 def broadcast_log_level; end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -691,10 +753,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def cache_store=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:495 + # pkg:gem/railties#lib/rails/application/configuration.rb:514 def colorize_logging; end - # pkg:gem/railties#lib/rails/application/configuration.rb:499 + # pkg:gem/railties#lib/rails/application/configuration.rb:518 def colorize_logging=(val); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -711,9 +773,15 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # Configures the ActionDispatch::ContentSecurityPolicy. # - # pkg:gem/railties#lib/rails/application/configuration.rb:568 + # pkg:gem/railties#lib/rails/application/configuration.rb:587 def content_security_policy(&block); end + # pkg:gem/railties#lib/rails/application/configuration.rb:14 + def content_security_policy_nonce_auto; end + + # pkg:gem/railties#lib/rails/application/configuration.rb:14 + def content_security_policy_nonce_auto=(_arg0); end + # pkg:gem/railties#lib/rails/application/configuration.rb:14 def content_security_policy_nonce_directives; end @@ -741,16 +809,16 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # Loads and returns the entire raw configuration of database from # values stored in config/database.yml. # - # pkg:gem/railties#lib/rails/application/configuration.rb:434 + # pkg:gem/railties#lib/rails/application/configuration.rb:453 def database_configuration; end - # pkg:gem/railties#lib/rails/application/configuration.rb:390 + # pkg:gem/railties#lib/rails/application/configuration.rb:409 def debug_exception_response_format; end - # pkg:gem/railties#lib/rails/application/configuration.rb:394 + # pkg:gem/railties#lib/rails/application/configuration.rb:413 def debug_exception_response_format=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:585 + # pkg:gem/railties#lib/rails/application/configuration.rb:604 def default_log_file; end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -771,16 +839,16 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def eager_load=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:360 + # pkg:gem/railties#lib/rails/application/configuration.rb:379 def enable_reloading; end - # pkg:gem/railties#lib/rails/application/configuration.rb:364 + # pkg:gem/railties#lib/rails/application/configuration.rb:383 def enable_reloading=(value); end - # pkg:gem/railties#lib/rails/application/configuration.rb:28 + # pkg:gem/railties#lib/rails/application/configuration.rb:29 def encoding; end - # pkg:gem/railties#lib/rails/application/configuration.rb:368 + # pkg:gem/railties#lib/rails/application/configuration.rb:387 def encoding=(value); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -831,7 +899,7 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def hosts=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:597 + # pkg:gem/railties#lib/rails/application/configuration.rb:616 def inspect; end # Load the config/database.yml to create the Rake tasks for @@ -840,7 +908,7 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # # Do not use this method, use #database_configuration instead. # - # pkg:gem/railties#lib/rails/application/configuration.rb:416 + # pkg:gem/railties#lib/rails/application/configuration.rb:435 def load_database_yaml; end # Loads default configuration values for a target version. This includes @@ -848,10 +916,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # {configuration guide}[https://guides.rubyonrails.org/configuring.html#versioned-default-values] # for the default values associated with a particular version. # - # pkg:gem/railties#lib/rails/application/configuration.rb:92 + # pkg:gem/railties#lib/rails/application/configuration.rb:94 def load_defaults(target_version); end - # pkg:gem/railties#lib/rails/application/configuration.rb:28 + # pkg:gem/railties#lib/rails/application/configuration.rb:29 def loaded_config_version; end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -866,10 +934,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def log_formatter=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:28 + # pkg:gem/railties#lib/rails/application/configuration.rb:29 def log_level; end - # pkg:gem/railties#lib/rails/application/configuration.rb:383 + # pkg:gem/railties#lib/rails/application/configuration.rb:402 def log_level=(level); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -884,12 +952,12 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def logger=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:396 + # pkg:gem/railties#lib/rails/application/configuration.rb:415 def paths; end # Configures the ActionDispatch::PermissionsPolicy. # - # pkg:gem/railties#lib/rails/application/configuration.rb:577 + # pkg:gem/railties#lib/rails/application/configuration.rb:596 def permissions_policy(&block); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -928,7 +996,7 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def reload_classes_only_on_change=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:356 + # pkg:gem/railties#lib/rails/application/configuration.rb:375 def reloading_enabled?; end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -943,10 +1011,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # pkg:gem/railties#lib/rails/application/configuration.rb:14 def sandbox_by_default=(_arg0); end - # pkg:gem/railties#lib/rails/application/configuration.rb:504 + # pkg:gem/railties#lib/rails/application/configuration.rb:523 def secret_key_base; end - # pkg:gem/railties#lib/rails/application/configuration.rb:516 + # pkg:gem/railties#lib/rails/application/configuration.rb:535 def secret_key_base=(new_secret_key_base); end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -977,10 +1045,10 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration # # use ActionDispatch::Session::MyCustomStore as the session store # config.session_store :my_custom_store # - # pkg:gem/railties#lib/rails/application/configuration.rb:543 + # pkg:gem/railties#lib/rails/application/configuration.rb:562 def session_store(new_session_store = T.unsafe(nil), **options); end - # pkg:gem/railties#lib/rails/application/configuration.rb:559 + # pkg:gem/railties#lib/rails/application/configuration.rb:578 def session_store?; end # pkg:gem/railties#lib/rails/application/configuration.rb:14 @@ -1015,24 +1083,24 @@ class Rails::Application::Configuration < ::Rails::Engine::Configuration private - # pkg:gem/railties#lib/rails/application/configuration.rb:624 + # pkg:gem/railties#lib/rails/application/configuration.rb:643 def credentials_defaults; end - # pkg:gem/railties#lib/rails/application/configuration.rb:634 + # pkg:gem/railties#lib/rails/application/configuration.rb:653 def generate_local_secret; end end -# pkg:gem/railties#lib/rails/application/configuration.rb:601 +# pkg:gem/railties#lib/rails/application/configuration.rb:620 class Rails::Application::Configuration::Custom - # pkg:gem/railties#lib/rails/application/configuration.rb:602 + # pkg:gem/railties#lib/rails/application/configuration.rb:621 def initialize; end - # pkg:gem/railties#lib/rails/application/configuration.rb:606 + # pkg:gem/railties#lib/rails/application/configuration.rb:625 def method_missing(method, *args); end private - # pkg:gem/railties#lib/rails/application/configuration.rb:618 + # pkg:gem/railties#lib/rails/application/configuration.rb:637 def respond_to_missing?(symbol, _); end end @@ -1091,7 +1159,7 @@ class Rails::Application::Finisher::MonitorHook def run; end end -# pkg:gem/railties#lib/rails/application.rb:106 +# pkg:gem/railties#lib/rails/application.rb:104 Rails::Application::INITIAL_VARIABLES = T.let(T.unsafe(nil), Array) # pkg:gem/railties#lib/rails/application/routes_reloader.rb:7 @@ -1101,7 +1169,7 @@ class Rails::Application::RoutesReloader extend ::ActiveSupport::DescendantsTracker # pkg:gem/railties#lib/rails/application/routes_reloader.rb:15 - def initialize; end + def initialize(file_watcher: T.unsafe(nil)); end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:8 def __callbacks; end @@ -1112,57 +1180,56 @@ class Rails::Application::RoutesReloader # pkg:gem/railties#lib/rails/application/routes_reloader.rb:11 def eager_load=(_arg0); end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:32 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:43 def execute; end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:13 def execute_if_updated(*, **, &); end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:37 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:50 def execute_unless_loaded; end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:10 def external_routes; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:10 + # Returns +true+ if the routes are loaded. + # + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:26 def loaded; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:12 - def loaded=(_arg0); end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:10 def paths; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:23 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:30 def reload!; end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:10 def route_sets; end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:12 - def run_after_load_paths=(_arg0); end + def run_once_after_load_paths=(_arg0); end # pkg:gem/railties#lib/rails/application/routes_reloader.rb:13 def updated?(*, **, &); end private - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:56 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:92 def clear!; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:72 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:111 def finalize!; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:63 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:99 def load_paths; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:76 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:115 def revert; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:68 - def run_after_load_paths; end + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:104 + def run_after_load_paths_callback; end - # pkg:gem/railties#lib/rails/application/routes_reloader.rb:46 + # pkg:gem/railties#lib/rails/application/routes_reloader.rb:82 def updater; end class << self @@ -1219,6 +1286,12 @@ class Rails::ApplicationController < ::ActionController::Base # pkg:gem/railties#lib/rails/application_controller.rb:7 def __class_attr__layout_conditions=(new_value); end + # pkg:gem/railties#lib/rails/application_controller.rb:5 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/application_controller.rb:5 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/application_controller.rb:5 def __class_attr_middleware_stack; end @@ -1378,47 +1451,47 @@ module Rails::Command::Actions def set_application_directory!; end end -# pkg:gem/railties#lib/rails/command/base.rb:14 +# pkg:gem/railties#lib/rails/command/base.rb:12 class Rails::Command::Base < ::Thor include ::Rails::Command::Actions - # pkg:gem/railties#lib/rails/command/base.rb:173 + # pkg:gem/railties#lib/rails/command/base.rb:171 def current_subcommand; end - # pkg:gem/railties#lib/rails/command/base.rb:172 + # pkg:gem/railties#lib/rails/command/base.rb:170 def executable(*, **, &); end - # pkg:gem/railties#lib/rails/command/base.rb:175 + # pkg:gem/railties#lib/rails/command/base.rb:173 def invoke_command(command, *); end class << self - # pkg:gem/railties#lib/rails/command/base.rb:86 + # pkg:gem/railties#lib/rails/command/base.rb:84 def banner(command = T.unsafe(nil), *); end # Sets the base_name taking into account the current class namespace. # # Rails::Command::TestCommand.base_name # => 'rails' # - # pkg:gem/railties#lib/rails/command/base.rb:106 + # pkg:gem/railties#lib/rails/command/base.rb:104 def base_name; end - # pkg:gem/railties#lib/rails/command/base.rb:20 + # pkg:gem/railties#lib/rails/command/base.rb:18 def bin; end - # pkg:gem/railties#lib/rails/command/base.rb:20 + # pkg:gem/railties#lib/rails/command/base.rb:18 def bin=(value); end - # pkg:gem/railties#lib/rails/command/base.rb:20 + # pkg:gem/railties#lib/rails/command/base.rb:18 def bin?; end - # pkg:gem/railties#lib/rails/command/base.rb:122 + # pkg:gem/railties#lib/rails/command/base.rb:120 def class_usage; end # Return command name without namespaces. # # Rails::Command::TestCommand.command_name # => 'test' # - # pkg:gem/railties#lib/rails/command/base.rb:115 + # pkg:gem/railties#lib/rails/command/base.rb:113 def command_name; end # Default file root to place extra files a command might need, placed @@ -1427,80 +1500,80 @@ class Rails::Command::Base < ::Thor # For a Rails::Command::TestCommand placed in rails/command/test_command.rb # would return rails/test. # - # pkg:gem/railties#lib/rails/command/base.rb:139 + # pkg:gem/railties#lib/rails/command/base.rb:137 def default_command_root; end # Tries to get the description from a USAGE file one folder above the command # root. # - # pkg:gem/railties#lib/rails/command/base.rb:34 + # pkg:gem/railties#lib/rails/command/base.rb:32 def desc(usage = T.unsafe(nil), description = T.unsafe(nil), options = T.unsafe(nil)); end # Returns true when the app is a \Rails engine. # - # pkg:gem/railties#lib/rails/command/base.rb:28 + # pkg:gem/railties#lib/rails/command/base.rb:26 def engine?; end - # pkg:gem/railties#lib/rails/command/base.rb:82 + # pkg:gem/railties#lib/rails/command/base.rb:80 def executable(command_name = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/command/base.rb:23 + # pkg:gem/railties#lib/rails/command/base.rb:21 def exit_on_failure?; end # Override Thor's class-level help to also show the USAGE. # - # pkg:gem/railties#lib/rails/command/base.rb:98 + # pkg:gem/railties#lib/rails/command/base.rb:96 def help(shell, *); end # Convenience method to hide this command from the available ones when # running rails command. # - # pkg:gem/railties#lib/rails/command/base.rb:55 + # pkg:gem/railties#lib/rails/command/base.rb:53 def hide_command!; end - # pkg:gem/railties#lib/rails/command/base.rb:59 + # pkg:gem/railties#lib/rails/command/base.rb:57 def inherited(base); end # Convenience method to get the namespace from the class name. It's the # same as Thor default except that the Command at the end of the class # is removed. # - # pkg:gem/railties#lib/rails/command/base.rb:45 + # pkg:gem/railties#lib/rails/command/base.rb:43 def namespace(name = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/command/base.rb:67 + # pkg:gem/railties#lib/rails/command/base.rb:65 def perform(command, args, config); end - # pkg:gem/railties#lib/rails/command/base.rb:76 + # pkg:gem/railties#lib/rails/command/base.rb:74 def printing_commands; end # Path to lookup a USAGE description in a file. # - # pkg:gem/railties#lib/rails/command/base.rb:129 + # pkg:gem/railties#lib/rails/command/base.rb:127 def usage_path; end private - # pkg:gem/railties#lib/rails/command/base.rb:20 + # pkg:gem/railties#lib/rails/command/base.rb:18 def __class_attr_bin; end - # pkg:gem/railties#lib/rails/command/base.rb:20 + # pkg:gem/railties#lib/rails/command/base.rb:18 def __class_attr_bin=(new_value); end # Allow the command method to be called perform. # - # pkg:gem/railties#lib/rails/command/base.rb:146 + # pkg:gem/railties#lib/rails/command/base.rb:144 def create_command(meth); end - # pkg:gem/railties#lib/rails/command/base.rb:159 + # pkg:gem/railties#lib/rails/command/base.rb:157 def namespaced_name(name); end - # pkg:gem/railties#lib/rails/command/base.rb:164 + # pkg:gem/railties#lib/rails/command/base.rb:162 def resolve_path(path); end end end -# pkg:gem/railties#lib/rails/command/base.rb:15 +# pkg:gem/railties#lib/rails/command/base.rb:13 class Rails::Command::Base::Error < ::Thor::Error; end # pkg:gem/railties#lib/rails/command/behavior.rb:7 @@ -1547,31 +1620,31 @@ class Rails::Command::CorrectableNameError < ::StandardError def name; end end -# pkg:gem/railties#lib/rails/command/environment_argument.rb:8 +# pkg:gem/railties#lib/rails/command/environment_argument.rb:7 module Rails::Command::EnvironmentArgument extend ::ActiveSupport::Concern - # pkg:gem/railties#lib/rails/command/environment_argument.rb:16 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:15 def initialize(*, **, &); end private - # pkg:gem/railties#lib/rails/command/environment_argument.rb:46 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:45 def available_environments; end - # pkg:gem/railties#lib/rails/command/environment_argument.rb:34 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:33 def environment; end - # pkg:gem/railties#lib/rails/command/environment_argument.rb:38 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:37 def environment=(environment); end - # pkg:gem/railties#lib/rails/command/environment_argument.rb:42 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:41 def environment_specified?; end - # pkg:gem/railties#lib/rails/command/environment_argument.rb:51 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:50 def expand_environment_name(name); end - # pkg:gem/railties#lib/rails/command/environment_argument.rb:29 + # pkg:gem/railties#lib/rails/command/environment_argument.rb:28 def require_application!; end end @@ -2130,7 +2203,7 @@ end # helper MyEngine::SharedEngineHelper # end # -# If you want to include all of the engine's helpers, you can use the #helper method on an engine's +# If you want to include all of the engine's helpers, you can use the #helpers method on an engine's # instance: # # class ApplicationController < ActionController::Base @@ -2174,79 +2247,82 @@ class Rails::Engine < ::Rails::Railtie include ::ActiveSupport::Callbacks extend ::ActiveSupport::Callbacks::ClassMethods - # pkg:gem/railties#lib/rails/engine.rb:440 + # pkg:gem/railties#lib/rails/engine.rb:439 def initialize; end - # pkg:gem/railties#lib/rails/engine.rb:434 + # pkg:gem/railties#lib/rails/engine.rb:433 def __callbacks; end - # pkg:gem/railties#lib/rails/engine.rb:435 + # pkg:gem/railties#lib/rails/engine.rb:434 def _load_seed_callbacks; end - # pkg:gem/railties#lib/rails/engine.rb:435 - def _run_load_seed_callbacks(&block); end + # pkg:gem/railties#lib/rails/engine.rb:434 + def _run_load_seed_callbacks; end + + # pkg:gem/railties#lib/rails/engine.rb:434 + def _run_load_seed_callbacks!(&block); end # Returns the underlying Rack application for this engine. # - # pkg:gem/railties#lib/rails/engine.rb:516 + # pkg:gem/railties#lib/rails/engine.rb:515 def app; end # Define the Rack API for this engine. # - # pkg:gem/railties#lib/rails/engine.rb:533 + # pkg:gem/railties#lib/rails/engine.rb:532 def call(env); end # Define the configuration object for the engine. # - # pkg:gem/railties#lib/rails/engine.rb:552 + # pkg:gem/railties#lib/rails/engine.rb:551 def config; end - # pkg:gem/railties#lib/rails/engine.rb:490 + # pkg:gem/railties#lib/rails/engine.rb:489 def eager_load!; end # Returns the endpoint for this engine. If none is registered, # defaults to an ActionDispatch::Routing::RouteSet. # - # pkg:gem/railties#lib/rails/engine.rb:528 + # pkg:gem/railties#lib/rails/engine.rb:527 def endpoint; end - # pkg:gem/railties#lib/rails/engine.rb:438 + # pkg:gem/railties#lib/rails/engine.rb:437 def engine_name(*, **, &); end # Defines additional Rack env configuration that is added on each call. # - # pkg:gem/railties#lib/rails/engine.rb:539 + # pkg:gem/railties#lib/rails/engine.rb:538 def env_config; end # Returns a module with all the helpers defined for the engine. # - # pkg:gem/railties#lib/rails/engine.rb:500 + # pkg:gem/railties#lib/rails/engine.rb:499 def helpers; end # Returns all registered helpers paths. # - # pkg:gem/railties#lib/rails/engine.rb:511 + # pkg:gem/railties#lib/rails/engine.rb:510 def helpers_paths; end - # pkg:gem/railties#lib/rails/engine.rb:438 + # pkg:gem/railties#lib/rails/engine.rb:437 def isolated?(&); end # Load console and invoke the registered hooks. # Check Rails::Railtie.console for more info. # - # pkg:gem/railties#lib/rails/engine.rb:454 + # pkg:gem/railties#lib/rails/engine.rb:453 def load_console(app = T.unsafe(nil)); end # Load \Rails generators and invoke the registered hooks. # Check Rails::Railtie.generators for more info. # - # pkg:gem/railties#lib/rails/engine.rb:476 + # pkg:gem/railties#lib/rails/engine.rb:475 def load_generators(app = T.unsafe(nil)); end # Load \Rails runner and invoke the registered hooks. # Check Rails::Railtie.runner for more info. # - # pkg:gem/railties#lib/rails/engine.rb:461 + # pkg:gem/railties#lib/rails/engine.rb:460 def load_runner(app = T.unsafe(nil)); end # Load data from db/seeds.rb file. It can be used in to load engines' @@ -2254,136 +2330,136 @@ class Rails::Engine < ::Rails::Railtie # # Blog::Engine.load_seed # - # pkg:gem/railties#lib/rails/engine.rb:560 + # pkg:gem/railties#lib/rails/engine.rb:559 def load_seed; end # Invoke the server registered hooks. # Check Rails::Railtie.server for more info. # - # pkg:gem/railties#lib/rails/engine.rb:485 + # pkg:gem/railties#lib/rails/engine.rb:484 def load_server(app = T.unsafe(nil)); end # Load Rake and railties tasks, and invoke the registered hooks. # Check Rails::Railtie.rake_tasks for more info. # - # pkg:gem/railties#lib/rails/engine.rb:468 + # pkg:gem/railties#lib/rails/engine.rb:467 def load_tasks(app = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine.rb:437 + # pkg:gem/railties#lib/rails/engine.rb:436 def middleware(*, **, &); end - # pkg:gem/railties#lib/rails/engine.rb:437 + # pkg:gem/railties#lib/rails/engine.rb:436 def paths(*, **, &); end - # pkg:gem/railties#lib/rails/engine.rb:495 + # pkg:gem/railties#lib/rails/engine.rb:494 def railties; end - # pkg:gem/railties#lib/rails/engine.rb:437 + # pkg:gem/railties#lib/rails/engine.rb:436 def root(*, **, &); end # Defines the routes for this engine. If a block is given to # routes, it is appended to the engine. # - # pkg:gem/railties#lib/rails/engine.rb:545 + # pkg:gem/railties#lib/rails/engine.rb:544 def routes(&block); end - # pkg:gem/railties#lib/rails/engine.rb:680 + # pkg:gem/railties#lib/rails/engine.rb:679 def routes?; end protected - # pkg:gem/railties#lib/rails/engine.rb:685 + # pkg:gem/railties#lib/rails/engine.rb:684 def run_tasks_blocks(*); end private - # pkg:gem/railties#lib/rails/engine.rb:717 + # pkg:gem/railties#lib/rails/engine.rb:716 def _all_autoload_once_paths; end - # pkg:gem/railties#lib/rails/engine.rb:721 + # pkg:gem/railties#lib/rails/engine.rb:720 def _all_autoload_paths; end - # pkg:gem/railties#lib/rails/engine.rb:730 + # pkg:gem/railties#lib/rails/engine.rb:729 def _all_load_paths(add_autoload_paths_to_load_path); end - # pkg:gem/railties#lib/rails/engine.rb:755 + # pkg:gem/railties#lib/rails/engine.rb:754 def build_middleware; end - # pkg:gem/railties#lib/rails/engine.rb:747 + # pkg:gem/railties#lib/rails/engine.rb:746 def build_request(env); end - # pkg:gem/railties#lib/rails/engine.rb:713 + # pkg:gem/railties#lib/rails/engine.rb:712 def default_middleware_stack; end - # pkg:gem/railties#lib/rails/engine.rb:741 + # pkg:gem/railties#lib/rails/engine.rb:740 def fixtures_in_root_and_not_in_vendor_or_dot_dir?(fixtures); end - # pkg:gem/railties#lib/rails/engine.rb:697 + # pkg:gem/railties#lib/rails/engine.rb:696 def has_migrations?; end - # pkg:gem/railties#lib/rails/engine.rb:691 + # pkg:gem/railties#lib/rails/engine.rb:690 def load_config_initializer(initializer); end class << self - # pkg:gem/railties#lib/rails/engine.rb:434 + # pkg:gem/railties#lib/rails/engine.rb:433 def __callbacks; end - # pkg:gem/railties#lib/rails/engine.rb:434 + # pkg:gem/railties#lib/rails/engine.rb:433 def __callbacks=(value); end - # pkg:gem/railties#lib/rails/engine.rb:435 + # pkg:gem/railties#lib/rails/engine.rb:434 def _load_seed_callbacks; end - # pkg:gem/railties#lib/rails/engine.rb:435 + # pkg:gem/railties#lib/rails/engine.rb:434 def _load_seed_callbacks=(value); end - # pkg:gem/railties#lib/rails/engine.rb:354 + # pkg:gem/railties#lib/rails/engine.rb:353 def called_from; end - # pkg:gem/railties#lib/rails/engine.rb:354 + # pkg:gem/railties#lib/rails/engine.rb:353 def called_from=(_arg0); end - # pkg:gem/railties#lib/rails/engine.rb:359 + # pkg:gem/railties#lib/rails/engine.rb:358 def eager_load!(*, **, &); end - # pkg:gem/railties#lib/rails/engine.rb:379 + # pkg:gem/railties#lib/rails/engine.rb:378 def endpoint(endpoint = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine.rb:357 + # pkg:gem/railties#lib/rails/engine.rb:356 def engine_name(name = T.unsafe(nil)); end # Finds engine with given path. # - # pkg:gem/railties#lib/rails/engine.rb:424 + # pkg:gem/railties#lib/rails/engine.rb:423 def find(path); end - # pkg:gem/railties#lib/rails/engine.rb:375 + # pkg:gem/railties#lib/rails/engine.rb:374 def find_root(from); end - # pkg:gem/railties#lib/rails/engine.rb:701 + # pkg:gem/railties#lib/rails/engine.rb:700 def find_root_with_flag(flag, root_path, default = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine.rb:361 + # pkg:gem/railties#lib/rails/engine.rb:360 def inherited(base); end - # pkg:gem/railties#lib/rails/engine.rb:385 + # pkg:gem/railties#lib/rails/engine.rb:384 def isolate_namespace(mod); end - # pkg:gem/railties#lib/rails/engine.rb:354 + # pkg:gem/railties#lib/rails/engine.rb:353 def isolated; end - # pkg:gem/railties#lib/rails/engine.rb:354 + # pkg:gem/railties#lib/rails/engine.rb:353 def isolated=(_arg0); end - # pkg:gem/railties#lib/rails/engine.rb:356 + # pkg:gem/railties#lib/rails/engine.rb:355 def isolated?; end private - # pkg:gem/railties#lib/rails/engine.rb:434 + # pkg:gem/railties#lib/rails/engine.rb:433 def __class_attr___callbacks; end - # pkg:gem/railties#lib/rails/engine.rb:434 + # pkg:gem/railties#lib/rails/engine.rb:433 def __class_attr___callbacks=(new_value); end end end @@ -2532,39 +2608,80 @@ end # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:11 class Rails::Engine::LazyRouteSet < ::ActionDispatch::Routing::RouteSet - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:41 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:74 def initialize(config = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:58 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:91 def call(req); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:68 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:125 + def define_mounted_helper(name, script_namer = T.unsafe(nil)); end + + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:101 def draw(&block); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:48 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:81 def generate_extras(options, recall = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:54 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:87 def generate_url_helpers(supports_path); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:63 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:121 + def mounted_helpers; end + + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:96 def polymorphic_mappings; end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:73 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:106 def recognize_path(path, environment = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:78 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:111 def recognize_path_with_request(*, **, &); end - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:83 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:116 def routes; end private - # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:89 + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:136 def method_missing_module; end end +# Mounted helpers are only defined when `mount` runs during the route +# draw. _path/_url names are left to method_missing_module, which owns +# them and relies on reload_routes_unless_loaded returning true only to +# the caller that performed the load. +# +# pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:45 +module Rails::Engine::LazyRouteSet::MountedHelpers + extend ::ActiveSupport::Concern + include GeneratedInstanceMethods + include ::ActionDispatch::Routing::UrlFor + include ::ActionDispatch::Routing::RouteSet::MountedHelpers + + mixes_in_class_methods GeneratedClassMethods + + private + + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:51 + def method_missing(method_name, *, **, &); end + + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:64 + def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end + + module GeneratedClassMethods + def default_url_options; end + def default_url_options=(value); end + def default_url_options?; end + end + + module GeneratedInstanceMethods + def default_url_options; end + def default_url_options=(value); end + def default_url_options?; end + end +end + # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:12 class Rails::Engine::LazyRouteSet::NamedRouteCollection < ::ActionDispatch::Routing::RouteSet::NamedRouteCollection # pkg:gem/railties#lib/rails/engine/lazy_route_set.rb:13 @@ -2615,7 +2732,7 @@ module Rails::Generators def namespace=(val); end class << self - # pkg:gem/railties#lib/rails/generators.rb:279 + # pkg:gem/railties#lib/rails/generators.rb:281 def add_generated_file(file); end # pkg:gem/railties#lib/rails/generators.rb:92 @@ -2665,12 +2782,12 @@ module Rails::Generators # Notice that "rails:generators:webrat" could be loaded as well, what # Rails looks for is the first and last parts of the namespace. # - # pkg:gem/railties#lib/rails/generators.rb:234 + # pkg:gem/railties#lib/rails/generators.rb:236 def find_by_namespace(name, base = T.unsafe(nil), context = T.unsafe(nil)); end # Show help message with available generators. # - # pkg:gem/railties#lib/rails/generators.rb:170 + # pkg:gem/railties#lib/rails/generators.rb:172 def help(command = T.unsafe(nil)); end # Returns an array of generator namespaces that are hidden. @@ -2681,17 +2798,17 @@ module Rails::Generators # pkg:gem/railties#lib/rails/generators.rb:134 def hidden_namespaces; end - # pkg:gem/railties#lib/rails/generators.rb:167 + # pkg:gem/railties#lib/rails/generators.rb:169 def hide_namespace(*namespaces); end - # pkg:gem/railties#lib/rails/generators.rb:164 + # pkg:gem/railties#lib/rails/generators.rb:166 def hide_namespaces(*namespaces); end # Receives a namespace, arguments, and the behavior to invoke the generator. # It's used as the default entry point for generate, destroy, and update # commands. # - # pkg:gem/railties#lib/rails/generators.rb:261 + # pkg:gem/railties#lib/rails/generators.rb:263 def invoke(namespace, args = T.unsafe(nil), config = T.unsafe(nil)); end # pkg:gem/railties#lib/rails/generators.rb:27 @@ -2703,13 +2820,13 @@ module Rails::Generators # pkg:gem/railties#lib/rails/generators.rb:88 def options; end - # pkg:gem/railties#lib/rails/generators.rb:192 + # pkg:gem/railties#lib/rails/generators.rb:194 def print_generators; end - # pkg:gem/railties#lib/rails/generators.rb:187 + # pkg:gem/railties#lib/rails/generators.rb:189 def public_namespaces; end - # pkg:gem/railties#lib/rails/generators.rb:196 + # pkg:gem/railties#lib/rails/generators.rb:198 def sorted_groups; end # pkg:gem/railties#lib/rails/generators.rb:80 @@ -2717,24 +2834,24 @@ module Rails::Generators private - # pkg:gem/railties#lib/rails/generators.rb:306 + # pkg:gem/railties#lib/rails/generators.rb:308 def command_type; end - # pkg:gem/railties#lib/rails/generators.rb:314 + # pkg:gem/railties#lib/rails/generators.rb:316 def file_lookup_paths; end # Try fallbacks for the given base. # - # pkg:gem/railties#lib/rails/generators.rb:291 + # pkg:gem/railties#lib/rails/generators.rb:293 def invoke_fallbacks_for(name, base); end - # pkg:gem/railties#lib/rails/generators.rb:310 + # pkg:gem/railties#lib/rails/generators.rb:312 def lookup_paths; end - # pkg:gem/railties#lib/rails/generators.rb:285 + # pkg:gem/railties#lib/rails/generators.rb:287 def print_list(base, namespaces); end - # pkg:gem/railties#lib/rails/generators.rb:318 + # pkg:gem/railties#lib/rails/generators.rb:320 def run_after_generate_callback; end end end @@ -3038,53 +3155,52 @@ module Rails::Generators::Actions # Append string to a file with a newline if necessary # - # pkg:gem/railties#lib/rails/generators/actions.rb:511 + # pkg:gem/railties#lib/rails/generators/actions.rb:510 def append_file_with_newline(path, str, options = T.unsafe(nil)); end # Runs the supplied command using either +rake+ or +rails+ # based on the executor parameter provided. # - # pkg:gem/railties#lib/rails/generators/actions.rb:461 + # pkg:gem/railties#lib/rails/generators/actions.rb:460 def execute_command(executor, command, options = T.unsafe(nil)); end # Returns a string corresponding to the current indentation level # (i.e. 2 * @indentation spaces). See also # #with_indentation, which can be used to manage the indentation level. # - # pkg:gem/railties#lib/rails/generators/actions.rb:496 + # pkg:gem/railties#lib/rails/generators/actions.rb:495 def indentation; end # Define log for backwards compatibility. If just one argument is sent, - # invoke +say+, otherwise invoke +say_status+. Differently from +say+ and - # similarly to +say_status+, this method respects the +quiet?+ option given. + # invoke +say+, otherwise invoke +say_status+. # - # pkg:gem/railties#lib/rails/generators/actions.rb:450 + # pkg:gem/railties#lib/rails/generators/actions.rb:449 def log(*args); end - # pkg:gem/railties#lib/rails/generators/actions.rb:517 + # pkg:gem/railties#lib/rails/generators/actions.rb:516 def match_file(path, pattern); end # Returns optimized string with indentation # - # pkg:gem/railties#lib/rails/generators/actions.rb:487 + # pkg:gem/railties#lib/rails/generators/actions.rb:486 def optimize_indentation(value, amount = T.unsafe(nil)); end # Always returns value in double quotes. # - # pkg:gem/railties#lib/rails/generators/actions.rb:475 + # pkg:gem/railties#lib/rails/generators/actions.rb:474 def quote(value); end - # pkg:gem/railties#lib/rails/generators/actions.rb:491 + # pkg:gem/railties#lib/rails/generators/actions.rb:490 def rebase_indentation(value, amount = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/actions.rb:521 + # pkg:gem/railties#lib/rails/generators/actions.rb:520 def route_namespace_pattern(namespace); end # Increases the current indentation indentation level for the duration # of the given block, and decreases it after the block ends. Call # #indentation to get an indentation string. # - # pkg:gem/railties#lib/rails/generators/actions.rb:503 + # pkg:gem/railties#lib/rails/generators/actions.rb:502 def with_indentation(&block); end end @@ -3216,7 +3332,7 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base include ::Rails::Generators::AppName include ::Rails::Generators::BundleHelper - # pkg:gem/railties#lib/rails/generators/app_base.rb:143 + # pkg:gem/railties#lib/rails/generators/app_base.rb:147 def initialize(positional_argv, option_argv, *); end # pkg:gem/railties#lib/rails/generators/app_base.rb:28 @@ -3236,91 +3352,91 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base private - # pkg:gem/railties#lib/rails/generators/app_base.rb:731 + # pkg:gem/railties#lib/rails/generators/app_base.rb:759 def add_bundler_platforms; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:266 + # pkg:gem/railties#lib/rails/generators/app_base.rb:270 def apply_rails_template; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:295 + # pkg:gem/railties#lib/rails/generators/app_base.rb:299 def asset_pipeline_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:172 + # pkg:gem/railties#lib/rails/generators/app_base.rb:176 def build(meth, *args); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:164 + # pkg:gem/railties#lib/rails/generators/app_base.rb:168 def builder; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:647 + # pkg:gem/railties#lib/rails/generators/app_base.rb:675 def bundle_install?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:640 + # pkg:gem/railties#lib/rails/generators/app_base.rb:663 def cable_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:619 + # pkg:gem/railties#lib/rails/generators/app_base.rb:539 + def capture_command(command, pattern = T.unsafe(nil)); end + + # pkg:gem/railties#lib/rails/generators/app_base.rb:637 def ci_packages; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:337 + # pkg:gem/railties#lib/rails/generators/app_base.rb:341 def comment_if(value); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:259 + # pkg:gem/railties#lib/rails/generators/app_base.rb:263 def create_root; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:627 + # pkg:gem/railties#lib/rails/generators/app_base.rb:650 def css_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:802 + # pkg:gem/railties#lib/rails/generators/app_base.rb:826 def database; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:283 + # pkg:gem/railties#lib/rails/generators/app_base.rb:287 def database_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:176 + # pkg:gem/railties#lib/rails/generators/app_base.rb:180 def deduce_implied_options(options, option_reasons, meta_options); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:655 + # pkg:gem/railties#lib/rails/generators/app_base.rb:683 def depend_on_bootsnap?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:651 + # pkg:gem/railties#lib/rails/generators/app_base.rb:679 def depends_on_system_test?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:410 + # pkg:gem/railties#lib/rails/generators/app_base.rb:418 def devcontainer?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:584 + # pkg:gem/railties#lib/rails/generators/app_base.rb:599 def dockerfile_base_packages; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:555 + # pkg:gem/railties#lib/rails/generators/app_base.rb:570 def dockerfile_binfile_fixups; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:600 + # pkg:gem/railties#lib/rails/generators/app_base.rb:615 def dockerfile_build_packages; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:549 + # pkg:gem/railties#lib/rails/generators/app_base.rb:566 def dockerfile_bun_version; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:793 + # pkg:gem/railties#lib/rails/generators/app_base.rb:817 def dockerfile_chown_directories; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:538 + # pkg:gem/railties#lib/rails/generators/app_base.rb:558 def dockerfile_yarn_version; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:789 + # pkg:gem/railties#lib/rails/generators/app_base.rb:813 def edge_branch; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:764 + # pkg:gem/railties#lib/rails/generators/app_base.rb:786 def empty_directory_with_keep_file(destination, config = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:150 + # pkg:gem/railties#lib/rails/generators/app_base.rb:154 def gemfile_entries; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:741 - def generate_bundler_binstub; end - - # pkg:gem/railties#lib/rails/generators/app_base.rb:777 + # pkg:gem/railties#lib/rails/generators/app_base.rb:799 def git_init_command; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:503 + # pkg:gem/railties#lib/rails/generators/app_base.rb:511 def hotwire_gemfile_entry; end # ==== Options @@ -3342,146 +3458,155 @@ class Rails::Generators::AppBase < ::Rails::Generators::Base # besides implying options such as --skip-asset-pipeline. (And so --api # with --no-skip-asset-pipeline should raise an error.) # - # pkg:gem/railties#lib/rails/generators/app_base.rb:229 + # pkg:gem/railties#lib/rails/generators/app_base.rb:233 def imply_options(option_implications = T.unsafe(nil), meta_options: T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:317 + # pkg:gem/railties#lib/rails/generators/app_base.rb:321 def include_all_railties?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:493 + # pkg:gem/railties#lib/rails/generators/app_base.rb:501 def javascript_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:488 + # pkg:gem/railties#lib/rails/generators/app_base.rb:496 def jbuilder_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:747 + # pkg:gem/railties#lib/rails/generators/app_base.rb:769 def jruby?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:769 + # pkg:gem/railties#lib/rails/generators/app_base.rb:791 def keep_file(destination); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:350 + # pkg:gem/railties#lib/rails/generators/app_base.rb:354 def keeps?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:528 + # pkg:gem/railties#lib/rails/generators/app_base.rb:550 def node_version; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:462 + # pkg:gem/railties#lib/rails/generators/app_base.rb:670 + def rails_command(command, command_options = T.unsafe(nil)); end + + # pkg:gem/railties#lib/rails/generators/app_base.rb:470 def rails_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:458 + # pkg:gem/railties#lib/rails/generators/app_base.rb:466 def rails_prerelease?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:321 + # pkg:gem/railties#lib/rails/generators/app_base.rb:325 def rails_require_statement; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:475 + # pkg:gem/railties#lib/rails/generators/app_base.rb:483 def rails_version_specifier(gem_version = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:242 + # pkg:gem/railties#lib/rails/generators/app_base.rb:246 def report_implied_options; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:301 + # pkg:gem/railties#lib/rails/generators/app_base.rb:305 def required_railties; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:681 + # pkg:gem/railties#lib/rails/generators/app_base.rb:709 def run_bundle; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:700 + # pkg:gem/railties#lib/rails/generators/app_base.rb:728 def run_css; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:694 + # pkg:gem/railties#lib/rails/generators/app_base.rb:722 def run_hotwire; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:685 + # pkg:gem/railties#lib/rails/generators/app_base.rb:713 def run_javascript; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:712 + # pkg:gem/railties#lib/rails/generators/app_base.rb:740 def run_kamal; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:722 + # pkg:gem/railties#lib/rails/generators/app_base.rb:750 def run_solid; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:272 + # pkg:gem/railties#lib/rails/generators/app_base.rb:276 def set_default_accessors!; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:370 + # pkg:gem/railties#lib/rails/generators/app_base.rb:374 def skip_action_cable?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:378 + # pkg:gem/railties#lib/rails/generators/app_base.rb:382 def skip_action_mailbox?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:374 + # pkg:gem/railties#lib/rails/generators/app_base.rb:378 def skip_action_mailer?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:382 + # pkg:gem/railties#lib/rails/generators/app_base.rb:386 def skip_action_text?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:358 + # pkg:gem/railties#lib/rails/generators/app_base.rb:362 def skip_active_record?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:362 + # pkg:gem/railties#lib/rails/generators/app_base.rb:366 def skip_active_storage?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:386 + # pkg:gem/railties#lib/rails/generators/app_base.rb:390 def skip_asset_pipeline?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:398 + # pkg:gem/railties#lib/rails/generators/app_base.rb:402 def skip_brakeman?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:402 + # pkg:gem/railties#lib/rails/generators/app_base.rb:406 + def skip_bundler_audit?; end + + # pkg:gem/railties#lib/rails/generators/app_base.rb:410 def skip_ci?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:406 + # pkg:gem/railties#lib/rails/generators/app_base.rb:414 def skip_devcontainer?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:414 + # pkg:gem/railties#lib/rails/generators/app_base.rb:422 def skip_kamal?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:394 + # pkg:gem/railties#lib/rails/generators/app_base.rb:398 def skip_rubocop?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:418 + # pkg:gem/railties#lib/rails/generators/app_base.rb:426 def skip_solid?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:366 + # pkg:gem/railties#lib/rails/generators/app_base.rb:370 def skip_storage?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:390 + # pkg:gem/railties#lib/rails/generators/app_base.rb:394 def skip_thruster?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:354 + # pkg:gem/railties#lib/rails/generators/app_base.rb:358 def sqlite3?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:659 + # pkg:gem/railties#lib/rails/generators/app_base.rb:687 def target_rails_prerelease(self_command = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:773 + # pkg:gem/railties#lib/rails/generators/app_base.rb:795 def user_default_branch; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:524 + # pkg:gem/railties#lib/rails/generators/app_base.rb:535 def using_bun?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:515 + # pkg:gem/railties#lib/rails/generators/app_base.rb:523 + def using_importmap?; end + + # pkg:gem/railties#lib/rails/generators/app_base.rb:527 def using_js_runtime?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:520 + # pkg:gem/railties#lib/rails/generators/app_base.rb:531 def using_node?; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:751 + # pkg:gem/railties#lib/rails/generators/app_base.rb:773 def version_manager_ruby_version; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:291 + # pkg:gem/railties#lib/rails/generators/app_base.rb:295 def web_server_gemfile_entry; end - # pkg:gem/railties#lib/rails/generators/app_base.rb:544 + # pkg:gem/railties#lib/rails/generators/app_base.rb:562 def yarn_through_corepack?; end class << self # pkg:gem/railties#lib/rails/generators/app_base.rb:34 def add_shared_options_for(name); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:139 + # pkg:gem/railties#lib/rails/generators/app_base.rb:143 def edge_branch; end # pkg:gem/railties#lib/rails/generators/app_base.rb:30 @@ -3495,25 +3620,25 @@ Rails::Generators::AppBase::BUN_VERSION = T.let(T.unsafe(nil), String) # pkg:gem/railties#lib/rails/generators/app_base.rb:23 Rails::Generators::AppBase::CSS_OPTIONS = T.let(T.unsafe(nil), Array) -# pkg:gem/railties#lib/rails/generators/app_base.rb:422 +# pkg:gem/railties#lib/rails/generators/app_base.rb:430 class Rails::Generators::AppBase::GemfileEntry < ::Struct - # pkg:gem/railties#lib/rails/generators/app_base.rb:423 + # pkg:gem/railties#lib/rails/generators/app_base.rb:431 def initialize(name, version, comment, options = T.unsafe(nil), commented_out = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:447 + # pkg:gem/railties#lib/rails/generators/app_base.rb:455 def to_s; end class << self - # pkg:gem/railties#lib/rails/generators/app_base.rb:439 + # pkg:gem/railties#lib/rails/generators/app_base.rb:447 def floats(name, comment = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:427 + # pkg:gem/railties#lib/rails/generators/app_base.rb:435 def github(name, github, branch = T.unsafe(nil), comment = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:443 + # pkg:gem/railties#lib/rails/generators/app_base.rb:451 def path(name, path, comment = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/app_base.rb:435 + # pkg:gem/railties#lib/rails/generators/app_base.rb:443 def version(name, version, comment = T.unsafe(nil)); end end end @@ -3524,7 +3649,7 @@ Rails::Generators::AppBase::JAVASCRIPT_OPTIONS = T.let(T.unsafe(nil), Array) # pkg:gem/railties#lib/rails/generators/app_base.rb:19 Rails::Generators::AppBase::NODE_LTS_VERSION = T.let(T.unsafe(nil), String) -# pkg:gem/railties#lib/rails/generators/app_base.rb:204 +# pkg:gem/railties#lib/rails/generators/app_base.rb:208 Rails::Generators::AppBase::OPTION_IMPLICATIONS = T.let(T.unsafe(nil), Hash) # pkg:gem/railties#lib/rails/generators/app_name.rb:5 @@ -4192,22 +4317,22 @@ Rails::Generators::GeneratedAttribute::UNIQ_INDEX_OPTIONS = T.let(T.unsafe(nil), # [0-9]*_name format and can be used by other frameworks (like Sequel) # just by implementing the +next_migration_number+ method. # -# pkg:gem/railties#lib/rails/generators/migration.rb:11 +# pkg:gem/railties#lib/rails/generators/migration.rb:10 module Rails::Generators::Migration extend ::ActiveSupport::Concern mixes_in_class_methods ::Rails::Generators::Migration::ClassMethods - # pkg:gem/railties#lib/rails/generators/migration.rb:35 + # pkg:gem/railties#lib/rails/generators/migration.rb:34 def create_migration(destination, data, config = T.unsafe(nil), &block); end - # pkg:gem/railties#lib/rails/generators/migration.rb:13 + # pkg:gem/railties#lib/rails/generators/migration.rb:12 def migration_class_name; end - # pkg:gem/railties#lib/rails/generators/migration.rb:13 + # pkg:gem/railties#lib/rails/generators/migration.rb:12 def migration_file_name; end - # pkg:gem/railties#lib/rails/generators/migration.rb:13 + # pkg:gem/railties#lib/rails/generators/migration.rb:12 def migration_number; end # Creates a migration template at the given destination. The difference @@ -4219,25 +4344,25 @@ module Rails::Generators::Migration # # migration_template "migration.rb", "db/migrate/add_foo_to_bar.rb" # - # pkg:gem/railties#lib/rails/generators/migration.rb:56 + # pkg:gem/railties#lib/rails/generators/migration.rb:55 def migration_template(source, destination, config = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/generators/migration.rb:39 + # pkg:gem/railties#lib/rails/generators/migration.rb:38 def set_migration_assigns!(destination); end end -# pkg:gem/railties#lib/rails/generators/migration.rb:15 +# pkg:gem/railties#lib/rails/generators/migration.rb:14 module Rails::Generators::Migration::ClassMethods - # pkg:gem/railties#lib/rails/generators/migration.rb:24 + # pkg:gem/railties#lib/rails/generators/migration.rb:23 def current_migration_number(dirname); end - # pkg:gem/railties#lib/rails/generators/migration.rb:20 + # pkg:gem/railties#lib/rails/generators/migration.rb:19 def migration_exists?(dirname, file_name); end - # pkg:gem/railties#lib/rails/generators/migration.rb:16 + # pkg:gem/railties#lib/rails/generators/migration.rb:15 def migration_lookup_at(dirname); end - # pkg:gem/railties#lib/rails/generators/migration.rb:30 + # pkg:gem/railties#lib/rails/generators/migration.rb:29 def next_migration_number(dirname); end end @@ -4615,7 +4740,7 @@ class Rails::Generators::TestCase < ::ActiveSupport::TestCase end end -# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:13 +# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:10 module Rails::Generators::Testing; end # pkg:gem/railties#lib/rails/generators/testing/assertions.rb:6 @@ -4743,7 +4868,7 @@ module Rails::Generators::Testing::Assertions def assert_no_migration(relative); end end -# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:14 +# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:11 module Rails::Generators::Testing::Behavior include ::ActiveSupport::Testing::Stream extend ::ActiveSupport::Concern @@ -4757,12 +4882,12 @@ module Rails::Generators::Testing::Behavior # # create_generated_attribute(:string, "name") # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:89 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:86 def create_generated_attribute(attribute_type, name = T.unsafe(nil), index = T.unsafe(nil)); end # Instantiate the generator. # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:81 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:78 def generator(args = T.unsafe(nil), options = T.unsafe(nil), config = T.unsafe(nil)); end # Runs the generator configured for this class. The first argument is an array like @@ -4782,23 +4907,23 @@ module Rails::Generators::Testing::Behavior # You can provide a configuration hash as second argument. This method returns the output # printed by the generator. # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:67 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:64 def run_generator(args = T.unsafe(nil), config = T.unsafe(nil)); end private - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:94 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:91 def destination_root_is_set?; end - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:98 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:95 def ensure_current_path; end - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:108 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:105 def migration_file_name(relative); end # Clears all files and directories in destination. # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:103 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:100 def prepare_destination; end module GeneratedClassMethods @@ -4832,28 +4957,28 @@ module Rails::Generators::Testing::Behavior end end -# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:27 +# pkg:gem/railties#lib/rails/generators/testing/behavior.rb:24 module Rails::Generators::Testing::Behavior::ClassMethods # Sets default arguments on generator invocation. This can be overwritten when # invoking it. # # arguments %w(app_name --skip-active-record) # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:39 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:36 def arguments(array); end # Sets the destination of generator files: # # destination File.expand_path("../tmp", __dir__) # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:46 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:43 def destination(path); end # Sets which generator should be tested: # # tests AppGenerator # - # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:31 + # pkg:gem/railties#lib/rails/generators/testing/behavior.rb:28 def tests(klass); end end @@ -4908,10 +5033,10 @@ class Rails::HealthController < ::ActionController::Base # pkg:gem/railties#lib/rails/health_controller.rb:37 def _layout(lookup_context, formats, keys); end - # pkg:gem/railties#lib/rails/health_controller.rb:53 + # pkg:gem/railties#lib/rails/health_controller.rb:59 def html_status(color:); end - # pkg:gem/railties#lib/rails/health_controller.rb:49 + # pkg:gem/railties#lib/rails/health_controller.rb:52 def render_down; end # pkg:gem/railties#lib/rails/health_controller.rb:45 @@ -4920,6 +5045,12 @@ class Rails::HealthController < ::ActionController::Base class << self private + # pkg:gem/railties#lib/rails/health_controller.rb:37 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/health_controller.rb:37 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/health_controller.rb:37 def __class_attr_middleware_stack; end @@ -4938,31 +5069,31 @@ end # Rails::InfoController responses. These include the active \Rails version, # Ruby version, Rack version, and so on. # -# pkg:gem/railties#lib/rails/info.rb:10 +# pkg:gem/railties#lib/rails/info.rb:9 module Rails::Info - # pkg:gem/railties#lib/rails/info.rb:11 + # pkg:gem/railties#lib/rails/info.rb:10 def properties; end - # pkg:gem/railties#lib/rails/info.rb:11 + # pkg:gem/railties#lib/rails/info.rb:10 def properties=(val); end class << self - # pkg:gem/railties#lib/rails/info.rb:42 + # pkg:gem/railties#lib/rails/info.rb:41 def inspect; end - # pkg:gem/railties#lib/rails/info.rb:11 + # pkg:gem/railties#lib/rails/info.rb:10 def properties; end - # pkg:gem/railties#lib/rails/info.rb:11 + # pkg:gem/railties#lib/rails/info.rb:10 def properties=(val); end - # pkg:gem/railties#lib/rails/info.rb:26 + # pkg:gem/railties#lib/rails/info.rb:25 def property(name, value = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/info.rb:44 + # pkg:gem/railties#lib/rails/info.rb:43 def to_html; end - # pkg:gem/railties#lib/rails/info.rb:32 + # pkg:gem/railties#lib/rails/info.rb:31 def to_s; end end end @@ -4989,7 +5120,7 @@ class Rails::InfoController < ::Rails::ApplicationController # pkg:gem/railties#lib/rails/info_controller.rb:8 def _layout_from_proc; end - # pkg:gem/railties#lib/rails/info_controller.rb:44 + # pkg:gem/railties#lib/rails/info_controller.rb:43 def matching_routes(query:, exact_match:); end class << self @@ -5013,6 +5144,12 @@ class Rails::InfoController < ::Rails::ApplicationController # pkg:gem/railties#lib/rails/info_controller.rb:8 def __class_attr__layout_conditions=(new_value); end + # pkg:gem/railties#lib/rails/info_controller.rb:6 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/info_controller.rb:6 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/info_controller.rb:6 def __class_attr_middleware_stack; end @@ -5025,10 +5162,10 @@ end module Rails::Initializable mixes_in_class_methods ::Rails::Initializable::ClassMethods - # pkg:gem/railties#lib/rails/initializable.rb:66 + # pkg:gem/railties#lib/rails/initializable.rb:108 def initializers; end - # pkg:gem/railties#lib/rails/initializable.rb:58 + # pkg:gem/railties#lib/rails/initializable.rb:100 def run_initializers(group = T.unsafe(nil), *args); end class << self @@ -5037,62 +5174,98 @@ module Rails::Initializable end end -# pkg:gem/railties#lib/rails/initializable.rb:70 +# pkg:gem/railties#lib/rails/initializable.rb:112 module Rails::Initializable::ClassMethods - # pkg:gem/railties#lib/rails/initializable.rb:88 + # pkg:gem/railties#lib/rails/initializable.rb:130 def initializer(name, opts = T.unsafe(nil), &blk); end - # pkg:gem/railties#lib/rails/initializable.rb:71 + # pkg:gem/railties#lib/rails/initializable.rb:113 def initializers; end - # pkg:gem/railties#lib/rails/initializable.rb:75 + # pkg:gem/railties#lib/rails/initializable.rb:117 def initializers_chain; end - # pkg:gem/railties#lib/rails/initializable.rb:84 + # pkg:gem/railties#lib/rails/initializable.rb:126 def initializers_for(binding); end end -# pkg:gem/railties#lib/rails/initializable.rb:45 -class Rails::Initializable::Collection < ::Array +# pkg:gem/railties#lib/rails/initializable.rb:37 +class Rails::Initializable::Collection + include ::Enumerable include ::TSort - # pkg:gem/railties#lib/rails/initializable.rb:53 + # pkg:gem/railties#lib/rails/initializable.rb:43 + def initialize(initializers = T.unsafe(nil)); end + + # pkg:gem/railties#lib/rails/initializable.rb:69 def +(other); end - # pkg:gem/railties#lib/rails/initializable.rb:49 + # pkg:gem/railties#lib/rails/initializable.rb:73 + def <<(initializer); end + + # pkg:gem/railties#lib/rails/initializable.rb:86 + def append(*initializers); end + + # pkg:gem/railties#lib/rails/initializable.rb:88 + def concat(*initializer_collections); end + + # pkg:gem/railties#lib/rails/initializable.rb:58 + def each(&block); end + + # pkg:gem/railties#lib/rails/initializable.rb:95 + def has?(name); end + + # pkg:gem/railties#lib/rails/initializable.rb:54 + def last; end + + # pkg:gem/railties#lib/rails/initializable.rb:41 + def method_missing(method, *, **, &); end + + # pkg:gem/railties#lib/rails/initializable.rb:81 + def push(*initializers); end + + # pkg:gem/railties#lib/rails/initializable.rb:50 + def to_a; end + + # pkg:gem/railties#lib/rails/initializable.rb:63 def tsort_each_child(initializer, &block); end - # pkg:gem/railties#lib/rails/initializable.rb:48 - def tsort_each_node; end + # pkg:gem/railties#lib/rails/initializable.rb:62 + def tsort_each_node(&block); end + + private + + # pkg:gem/railties#lib/rails/initializable.rb:41 + def respond_to_missing?(name, include_private = T.unsafe(nil)); end end # pkg:gem/railties#lib/rails/initializable.rb:11 class Rails::Initializable::Initializer # pkg:gem/railties#lib/rails/initializable.rb:14 - def initialize(name, context, options, &block); end + def initialize(name, context, before:, after:, group: T.unsafe(nil), &block); end - # pkg:gem/railties#lib/rails/initializable.rb:23 + # pkg:gem/railties#lib/rails/initializable.rb:12 def after; end - # pkg:gem/railties#lib/rails/initializable.rb:19 + # pkg:gem/railties#lib/rails/initializable.rb:12 def before; end - # pkg:gem/railties#lib/rails/initializable.rb:27 + # pkg:gem/railties#lib/rails/initializable.rb:19 def belongs_to?(group); end - # pkg:gem/railties#lib/rails/initializable.rb:35 + # pkg:gem/railties#lib/rails/initializable.rb:27 def bind(context); end # pkg:gem/railties#lib/rails/initializable.rb:12 def block; end - # pkg:gem/railties#lib/rails/initializable.rb:40 + # pkg:gem/railties#lib/rails/initializable.rb:32 def context_class; end # pkg:gem/railties#lib/rails/initializable.rb:12 def name; end - # pkg:gem/railties#lib/rails/initializable.rb:31 + # pkg:gem/railties#lib/rails/initializable.rb:23 def run(*args); end end @@ -5174,6 +5347,12 @@ class Rails::MailersController < ::Rails::ApplicationController # pkg:gem/railties#lib/rails/mailers_controller.rb:13 def __class_attr__helper_methods=(new_value); end + # pkg:gem/railties#lib/rails/mailers_controller.rb:6 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/mailers_controller.rb:6 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/mailers_controller.rb:6 def __class_attr_middleware_stack; end @@ -5326,10 +5505,10 @@ end # allows you to easily add extra paths: # # path.is_a?(Enumerable) # => true -# path.to_ary.inspect # => ["app/controllers"] +# path.to_ary # => ["app/controllers"] # # path << "lib/controllers" -# path.to_ary.inspect # => ["app/controllers", "lib/controllers"] +# path.to_ary # => ["app/controllers", "lib/controllers"] # # Notice that when you add a path using #add, the # Path[rdoc-ref:Rails::Paths::Path] object created already contains the path @@ -5337,7 +5516,7 @@ end # want this behavior, so you can give :with as option. # # root.add "config/routes", with: "config/routes.rb" -# root["config/routes"].inspect # => ["config/routes.rb"] +# root["config/routes"].to_ary # => ["config/routes.rb"] # # The #add method accepts the following options as arguments: # +eager_load+, +autoload+, +autoload_once+, and +glob+. @@ -5425,6 +5604,12 @@ class Rails::PwaController < ::Rails::ApplicationController # pkg:gem/railties#lib/rails/pwa_controller.rb:6 def __class_attr___callbacks=(new_value); end + # pkg:gem/railties#lib/rails/pwa_controller.rb:5 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/pwa_controller.rb:5 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/pwa_controller.rb:5 def __class_attr_middleware_stack; end @@ -5474,19 +5659,22 @@ end # This is useful for preventing recurring requests like health checks from clogging the logging. # This middleware is used to do just that against the path /up in production by default. # -# Example: +# Examples: # # config.middleware.insert_before \ # Rails::Rack::Logger, Rails::Rack::SilenceRequest, path: "/up" # +# config.middleware.insert_before \ +# Rails::Rack::Logger, Rails::Rack::SilenceRequest, path: /test$/ +# # This middleware can also be configured using `config.silence_healthcheck_path = "/up"` in Rails. # -# pkg:gem/railties#lib/rails/rack/silence_request.rb:19 +# pkg:gem/railties#lib/rails/rack/silence_request.rb:22 class Rails::Rack::SilenceRequest - # pkg:gem/railties#lib/rails/rack/silence_request.rb:20 + # pkg:gem/railties#lib/rails/rack/silence_request.rb:23 def initialize(app, path:); end - # pkg:gem/railties#lib/rails/rack/silence_request.rb:24 + # pkg:gem/railties#lib/rails/rack/silence_request.rb:27 def call(env); end end @@ -5623,144 +5811,144 @@ Rails::Rackup::Server = Rackup::Server # # Be sure to look at the documentation of those specific classes for more information. # -# pkg:gem/railties#lib/rails/railtie.rb:136 +# pkg:gem/railties#lib/rails/railtie.rb:135 class Rails::Railtie include ::Rails::Initializable extend ::ActiveSupport::DescendantsTracker extend ::Rails::Initializable::ClassMethods - # pkg:gem/railties#lib/rails/railtie.rb:245 + # pkg:gem/railties#lib/rails/railtie.rb:244 def initialize; end # This is used to create the config object on Railties, an instance of # Railtie::Configuration, that is used by Railties and Application to store # related configuration. # - # pkg:gem/railties#lib/rails/railtie.rb:262 + # pkg:gem/railties#lib/rails/railtie.rb:261 def config; end - # pkg:gem/railties#lib/rails/railtie.rb:255 + # pkg:gem/railties#lib/rails/railtie.rb:254 def configure(&block); end - # pkg:gem/railties#lib/rails/railtie.rb:251 + # pkg:gem/railties#lib/rails/railtie.rb:250 def inspect; end - # pkg:gem/railties#lib/rails/railtie.rb:243 + # pkg:gem/railties#lib/rails/railtie.rb:242 def railtie_name(*, **, &); end - # pkg:gem/railties#lib/rails/railtie.rb:266 + # pkg:gem/railties#lib/rails/railtie.rb:265 def railtie_namespace; end protected - # pkg:gem/railties#lib/rails/railtie.rb:271 + # pkg:gem/railties#lib/rails/railtie.rb:270 def run_console_blocks(app); end - # pkg:gem/railties#lib/rails/railtie.rb:275 + # pkg:gem/railties#lib/rails/railtie.rb:274 def run_generators_blocks(app); end - # pkg:gem/railties#lib/rails/railtie.rb:279 + # pkg:gem/railties#lib/rails/railtie.rb:278 def run_runner_blocks(app); end - # pkg:gem/railties#lib/rails/railtie.rb:288 + # pkg:gem/railties#lib/rails/railtie.rb:287 def run_server_blocks(app); end - # pkg:gem/railties#lib/rails/railtie.rb:283 + # pkg:gem/railties#lib/rails/railtie.rb:282 def run_tasks_blocks(app); end private # run `&block` in every registered block in `#register_block_for` # - # pkg:gem/railties#lib/rails/railtie.rb:294 + # pkg:gem/railties#lib/rails/railtie.rb:293 def each_registered_block(type, &block); end class << self - # pkg:gem/railties#lib/rails/railtie.rb:194 + # pkg:gem/railties#lib/rails/railtie.rb:193 def <=>(other); end - # pkg:gem/railties#lib/rails/railtie.rb:172 + # pkg:gem/railties#lib/rails/railtie.rb:171 def abstract_railtie?; end # This is used to create the config object on Railties, an instance of # Railtie::Configuration, that is used by Railties and Application to store # related configuration. # - # pkg:gem/railties#lib/rails/railtie.rb:146 + # pkg:gem/railties#lib/rails/railtie.rb:145 def config(*, **, &); end # Allows you to configure the railtie. This is the same method seen in # Railtie::Configurable, but this module is no longer required for all # subclasses of Railtie so we provide the class method here. # - # pkg:gem/railties#lib/rails/railtie.rb:190 + # pkg:gem/railties#lib/rails/railtie.rb:189 def configure(&block); end - # pkg:gem/railties#lib/rails/railtie.rb:156 + # pkg:gem/railties#lib/rails/railtie.rb:155 def console(&blk); end - # pkg:gem/railties#lib/rails/railtie.rb:164 + # pkg:gem/railties#lib/rails/railtie.rb:163 def generators(&blk); end - # pkg:gem/railties#lib/rails/railtie.rb:198 + # pkg:gem/railties#lib/rails/railtie.rb:197 def inherited(subclass); end # Since Rails::Railtie cannot be instantiated, any methods that call # +instance+ are intended to be called only on subclasses of a Railtie. # - # pkg:gem/railties#lib/rails/railtie.rb:183 + # pkg:gem/railties#lib/rails/railtie.rb:182 def instance; end - # pkg:gem/railties#lib/rails/railtie.rb:176 + # pkg:gem/railties#lib/rails/railtie.rb:175 def railtie_name(name = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/railtie.rb:152 + # pkg:gem/railties#lib/rails/railtie.rb:151 def rake_tasks(&blk); end - # pkg:gem/railties#lib/rails/railtie.rb:160 + # pkg:gem/railties#lib/rails/railtie.rb:159 def runner(&blk); end - # pkg:gem/railties#lib/rails/railtie.rb:168 + # pkg:gem/railties#lib/rails/railtie.rb:167 def server(&blk); end - # pkg:gem/railties#lib/rails/railtie.rb:148 + # pkg:gem/railties#lib/rails/railtie.rb:147 def subclasses; end protected - # pkg:gem/railties#lib/rails/railtie.rb:206 + # pkg:gem/railties#lib/rails/railtie.rb:205 def increment_load_index; end - # pkg:gem/railties#lib/rails/railtie.rb:204 + # pkg:gem/railties#lib/rails/railtie.rb:203 def load_index; end private - # pkg:gem/railties#lib/rails/railtie.rb:212 + # pkg:gem/railties#lib/rails/railtie.rb:211 def generate_railtie_name(string); end # If the class method does not have a method, then send the method call # to the Railtie instance. # - # pkg:gem/railties#lib/rails/railtie.rb:224 + # pkg:gem/railties#lib/rails/railtie.rb:223 def method_missing(name, *, **, &); end - # pkg:gem/railties#lib/rails/railtie.rb:145 + # pkg:gem/railties#lib/rails/railtie.rb:144 def new(*_arg0); end # receives an instance variable identifier, set the variable value if is # blank and append given block to value, which will be used later in # `#each_registered_block(type, &block)` # - # pkg:gem/railties#lib/rails/railtie.rb:235 + # pkg:gem/railties#lib/rails/railtie.rb:234 def register_block_for(type, &blk); end - # pkg:gem/railties#lib/rails/railtie.rb:216 + # pkg:gem/railties#lib/rails/railtie.rb:215 def respond_to_missing?(name, _); end end end -# pkg:gem/railties#lib/rails/railtie.rb:142 +# pkg:gem/railties#lib/rails/railtie.rb:141 Rails::Railtie::ABSTRACT_RAILTIES = T.let(T.unsafe(nil), Array) # pkg:gem/railties#lib/rails/railtie/configuration.rb:7 @@ -6027,39 +6215,39 @@ end # pkg:gem/railties#lib/rails/test_unit/test_parser.rb:12 module Rails::TestUnit; end -# pkg:gem/railties#lib/rails/test_unit/runner.rb:151 +# pkg:gem/railties#lib/rails/test_unit/runner.rb:154 class Rails::TestUnit::CompositeFilter - # pkg:gem/railties#lib/rails/test_unit/runner.rb:154 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:157 def initialize(runnable, filter, patterns); end # minitest uses === to find matching filters. # - # pkg:gem/railties#lib/rails/test_unit/runner.rb:161 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:164 def ===(method); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:152 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:155 def named_filter; end private - # pkg:gem/railties#lib/rails/test_unit/runner.rb:176 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:179 def derive_line_filters(patterns); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:166 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:169 def derive_named_filter(filter); end end -# pkg:gem/railties#lib/rails/test_unit/runner.rb:187 +# pkg:gem/railties#lib/rails/test_unit/runner.rb:190 class Rails::TestUnit::Filter - # pkg:gem/railties#lib/rails/test_unit/runner.rb:188 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:191 def initialize(runnable, file, line_or_range); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:197 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:200 def ===(method); end private - # pkg:gem/railties#lib/rails/test_unit/runner.rb:209 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:212 def definition_for(method); end end @@ -6077,49 +6265,55 @@ class Rails::TestUnit::Runner # pkg:gem/railties#lib/rails/test_unit/runner.rb:28 def filters; end + # pkg:gem/railties#lib/rails/test_unit/runner.rb:29 + def load_test_files; end + class << self - # pkg:gem/railties#lib/rails/test_unit/runner.rb:31 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:32 def attach_before_load_options(opts); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:82 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:87 def compose_filter(runnable, filter); end # pkg:gem/railties#lib/rails/test_unit/runner.rb:28 def filters; end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:61 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:29 + def load_test_files; end + + # pkg:gem/railties#lib/rails/test_unit/runner.rb:66 def load_tests(argv); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:36 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:37 def parse_options(argv); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:55 - def run(argv = T.unsafe(nil)); end + # pkg:gem/railties#lib/rails/test_unit/runner.rb:56 + def run(args = T.unsafe(nil)); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:49 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:50 def run_from_rake(test_command, argv = T.unsafe(nil)); end private - # pkg:gem/railties#lib/rails/test_unit/runner.rb:117 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:120 def default_test_exclude_glob; end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:113 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:116 def default_test_glob; end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:93 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:98 def extract_filters(argv); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:129 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:132 def list_tests(patterns); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:136 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:139 def normalize_declarative_test_filter(filter); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:125 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:128 def path_argument?(arg); end - # pkg:gem/railties#lib/rails/test_unit/runner.rb:121 + # pkg:gem/railties#lib/rails/test_unit/runner.rb:124 def regexp_filter?(arg); end end end @@ -6199,6 +6393,12 @@ class Rails::WelcomeController < ::Rails::ApplicationController # pkg:gem/railties#lib/rails/welcome_controller.rb:7 def __class_attr__layout_conditions=(new_value); end + # pkg:gem/railties#lib/rails/welcome_controller.rb:5 + def __class_attr_config; end + + # pkg:gem/railties#lib/rails/welcome_controller.rb:5 + def __class_attr_config=(new_value); end + # pkg:gem/railties#lib/rails/welcome_controller.rb:5 def __class_attr_middleware_stack; end diff --git a/sorbet/rbi/gems/sentry-ruby@5.28.1.rbi b/sorbet/rbi/gems/sentry-ruby@7.2.0.rbi similarity index 65% rename from sorbet/rbi/gems/sentry-ruby@5.28.1.rbi rename to sorbet/rbi/gems/sentry-ruby@7.2.0.rbi index ad4cbef3..9087fecc 100644 --- a/sorbet/rbi/gems/sentry-ruby@5.28.1.rbi +++ b/sorbet/rbi/gems/sentry-ruby@7.2.0.rbi @@ -22,17 +22,6 @@ class Array def deep_dup; end end -# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:109 -class BigDecimal < ::Numeric - # BigDecimals are duplicable: - # - # BigDecimal("1.2").duplicable? # => true - # BigDecimal("1.2").dup # => # - # - # pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:114 - def duplicable?; end -end - # pkg:gem/sentry-ruby#lib/sentry/core_ext/object/deep_dup.rb:40 class Hash include ::Enumerable @@ -50,22 +39,6 @@ class Hash def deep_dup; end end -# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:119 -class Method - # Methods are not duplicable: - # - # method(:puts).duplicable? # => false - # method(:puts).dup # => TypeError: allocator undefined for Method - # - # pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:124 - def duplicable?; end -end - -# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:94 -class Numeric - include ::Comparable -end - # This file was copied from Rails 5.2 # # # -- @@ -87,7 +60,7 @@ end # using that rescue idiom. # ++ # -# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:27 +# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/deep_dup.rb:11 class Object < ::BasicObject include ::Kernel include ::PP::ObjectMixin @@ -104,14 +77,6 @@ class Object < ::BasicObject # # pkg:gem/sentry-ruby#lib/sentry/core_ext/object/deep_dup.rb:21 def deep_dup; end - - # Can you safely dup this object? - # - # False for method objects; - # true otherwise. - # - # pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:32 - def duplicable?; end end # @api private @@ -138,14 +103,14 @@ module Sentry # @!method add_attachment # @!macro add_attachment # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:230 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:257 def add_attachment(**opts); end # Takes an instance of Sentry::Breadcrumb and stores it to the current active scope. # # @return [Breadcrumb, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:331 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:355 def add_breadcrumb(breadcrumb, **options); end # Add a global event processor [Proc]. @@ -161,30 +126,30 @@ module Sentry # event # end # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:570 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:596 def add_global_event_processor(&block); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:118 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:116 def apply_patches(config); end # @!attribute [rw] background_worker # @return [BackgroundWorker] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:86 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:88 def background_worker; end # @!attribute [rw] background_worker # @return [BackgroundWorker] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:86 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:88 def background_worker=(_arg0); end # @!attribute [r] backpressure_monitor # @return [BackpressureMonitor, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:94 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:96 def backpressure_monitor; end # Captures a check-in and sends it to Sentry via the currently active hub. @@ -199,14 +164,14 @@ module Sentry # # @return [String, nil] The {CheckInEvent#check_in_id} to use for later updates on the same slug # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:490 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:516 def capture_check_in(slug, status, **options); end # Takes an instance of Sentry::Event and dispatches it to the currently active hub. # # @return [Event, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:474 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:500 def capture_event(event); end # Takes an exception and reports it to Sentry via the currently active hub. @@ -214,7 +179,7 @@ module Sentry # @yieldparam scope [Scope] # @return [Event, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:438 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:464 def capture_exception(exception, **options, &block); end # Captures a log event and sends it to Sentry via the currently active hub. @@ -231,9 +196,9 @@ module Sentry # Sentry.capture_log("User logged in", level: :info, user_id: 123) # # @see https://develop.sentry.dev/sdk/telemetry/logs/ Sentry SDK Telemetry Logs Protocol - # @return [LogEvent, nil] The created log event or nil if logging is disabled + # @return [LogEvent, nil] The created log event or nil if Sentry is not initialized # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:510 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:536 def capture_log(message, **options); end # Takes a message string and reports it to Sentry via the currently active hub. @@ -241,14 +206,19 @@ module Sentry # @yieldparam scope [Scope] # @return [Event, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:466 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:492 def capture_message(message, **options, &block); end - # Clones the main thread's active hub and stores it to the current thread. + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:721 + def clear_external_propagation_context; end + + # Clones the main hub and stores it for the current execution context + # (the current thread, or the current fiber when +config.hub_isolation_level+ + # is +:fiber+). # # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:368 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:394 def clone_hub_to_current_thread; end # Flushes pending events and cleans up SDK state. @@ -256,13 +226,13 @@ module Sentry # # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:264 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:291 def close; end # @!method configuration # @!macro configuration # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:170 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:168 def configuration; end # Takes a block and yields the current active scope. @@ -277,7 +247,7 @@ module Sentry # @yieldparam scope [Scope] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:384 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:410 def configure_scope(&block); end # Continue an incoming trace from a rack env like hash. @@ -285,7 +255,7 @@ module Sentry # @param env [Hash] # @return [Transaction, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:614 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:640 def continue_trace(env, **options); end # Returns an uri for security policy reporting that's generated from the given DSN @@ -297,38 +267,49 @@ module Sentry # # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:313 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:337 def csp_report_uri; end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:684 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:731 def dependency_installed?(name); end # Checks if the exception object has been captured by the SDK. # # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:552 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:578 def exception_captured?(exc); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:68 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:70 def exception_locals_tp; end + # Copies +hub+ for a context that inherited it. The span is re-attached + # because Scope#dup deep-copies it, and spans recorded on a detached + # transaction copy are never sent. + # + # @!visibility private + # @param hub [Hub] + # @return [Hub] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:766 + def fork_hub(hub); end + # Returns the baggage header for distributed tracing. # Can be either from the currently active span or the propagation context. # # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:587 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:613 def get_baggage; end # Returns the current active client. # @return [Client, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:352 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:376 def get_current_client; end # Returns the current active hub. @@ -337,21 +318,40 @@ module Sentry # # @return [Hub] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:341 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:365 def get_current_hub; end + # Reads the hub stored for the current execution context. The active + # isolation level (cached from +config.hub_isolation_level+ at init) decides + # whether that context is the current thread or the current fiber. Reads the + # cached level rather than the configuration to avoid recursing back through + # hub resolution. + # + # @!visibility private + # @return [Hub, nil] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:743 + def get_current_hub_internal; end + # Returns the current active scope. # # @return [Scope, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:360 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:384 def get_current_scope; end + # Returns the external propagation context (trace_id, span_id) if a callback is registered. + # + # @return [Array, nil] A tuple of [trace_id, span_id] or nil if no context is available + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:712 + def get_external_propagation_context; end + # Returns the main thread's active hub. # # @return [Hub] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:321 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:345 def get_main_hub; end # Returns the a Hash containing sentry-trace and baggage. @@ -359,7 +359,7 @@ module Sentry # # @return [Hash, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:596 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:622 def get_trace_propagation_headers; end # Returns the a Hash containing sentry-trace and baggage. @@ -367,7 +367,7 @@ module Sentry # # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:605 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:631 def get_trace_propagation_meta; end # Returns the traceparent (sentry-trace) header for distributed tracing. @@ -375,7 +375,7 @@ module Sentry # # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:578 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:604 def get_traceparent; end # Initializes the SDK with given configuration. @@ -383,40 +383,32 @@ module Sentry # @yieldparam config [Configuration] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:241 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:268 def init(&block); end # Returns true if the SDK is initialized. # # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:301 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:325 def initialized?; end # Returns a hash that contains all the integrations that have been registered to the main SDK. # # @return [Hash{String=>Hash}] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:134 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:132 def integrations; end # Returns the id of the lastly reported Sentry::Event. # # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:544 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:570 def last_event_id; end # Returns the structured logger instance that implements Sentry's SDK telemetry logs protocol. # - # This logger is only available when logs are enabled in the configuration. - # - # @example Enable logs in configuration - # Sentry.init do |config| - # config.dsn = "YOUR_DSN" - # config.enable_logs = true - # end - # # @example Basic usage # Sentry.logger.info("User logged in successfully", user_id: 123) # Sentry.logger.error("Failed to process payment", @@ -426,96 +418,153 @@ module Sentry # # @see https://develop.sentry.dev/sdk/telemetry/logs/ Sentry SDK Telemetry Logs Protocol # - # @return [StructuredLogger, nil] The structured logger instance or nil if logs are disabled + # @return [StructuredLogger] The structured logger instance # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:639 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:657 def logger; end - # @!attribute [r] metrics_aggregator - # @return [Metrics::Aggregator, nil] + # Returns the metrics API for capturing custom metrics. + # + # @example Usage + # Sentry.metrics.count("button.click", 1, attributes: { button_id: "submit" }) + # Sentry.metrics.distribution("response.time", 120.5, unit: "millisecond") + # Sentry.metrics.gauge("cpu.usage", 75.2, unit: "percent") + # + # @return [Metrics] The metrics API + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:669 + def metrics; end + + # Registers a callback function that retrieves the current external propagation context. + # This is used by OpenTelemetry integration to provide trace_id and span_id from OTel context. + # + # @param callback [Proc, nil] A callable that returns [trace_id, span_id] or nil + # @return [void] + # + # @example + # Sentry.register_external_propagation_context do + # span_context = OpenTelemetry::Trace.current_span.context + # return nil unless span_context.valid? + # [span_context.hex_trace_id, span_context.hex_span_id] + # end # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:98 - def metrics_aggregator; end + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:705 + def register_external_propagation_context(&callback); end # Registers the SDK integration with its name and version. # # @param name [String] name of the integration # @param version [String] version of the integration # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:142 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:140 def register_integration(name, version); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:103 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:101 def register_patch(key, patch = T.unsafe(nil), target = T.unsafe(nil), &block); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:125 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:123 def registered_patches; end + # @!method remove_attribute + # Removes a single attribute from the current scope. + # @param key [String, Symbol] + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:250 + def remove_attribute(key); end + # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:669 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:684 def sdk_logger; end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:674 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:689 def sdk_meta; end # @!method send_event # @!macro send_event # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:177 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:175 def send_event(*args); end # @!attribute [r] session_flusher # @return [SessionFlusher, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:90 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:92 def session_flusher; end + # @!method set_attribute + # Sets a single attribute on the current scope. + # @param key [String, Symbol] + # @param value [Object] + # @param unit [String, Symbol, nil] an optional measurement unit for the value + # @return [Hash] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:241 + def set_attribute(key, value, unit: T.unsafe(nil)); end + + # @!method set_attributes + # Updates the current scope's attributes by merging with the old value. + # @param attributes_hash [Hash] + # @return [Hash] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:230 + def set_attributes(attributes_hash); end + # @!method set_context # @!macro set_context # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:223 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:221 def set_context(*args); end + # Stores +hub+ for the current execution context (thread or fiber). + # + # @!visibility private + # @param hub [Hub, nil] + # @return [Hub, nil] + # + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:779 + def set_current_hub_internal(hub); end + # @!method set_extras # @!macro set_extras # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:209 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:207 def set_extras(*args); end # @!method set_tags # @!macro set_tags # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:202 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:200 def set_tags(*args); end # @!method set_user # @!macro set_user # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:216 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:214 def set_user(*args); end # Takes or initializes a new Sentry::Transaction and makes a sampling decision for it. # # @return [Transaction, nil] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:518 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:544 def start_transaction(**options); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:661 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:676 def sys_command(command); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:679 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:726 def utc_now; end # Records the block's execution as a child of the current span. @@ -531,7 +580,7 @@ module Sentry # # result will be returned # end # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:536 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:562 def with_child_span(**attributes, &block); end # Takes a block and evaluates it. If the block raised an exception, it reports the exception to Sentry and re-raises it. @@ -546,7 +595,7 @@ module Sentry # 1/0 #=> ZeroDivisionError will be reported and re-raised # end # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:455 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:481 def with_exception_captured(**options, &block); end # Takes a block and yields a temporary scope. @@ -570,7 +619,7 @@ module Sentry # @yieldparam scope [Scope] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:409 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:435 def with_scope(&block); end # Wrap a given block with session tracking. @@ -589,7 +638,7 @@ module Sentry # end # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:429 + # pkg:gem/sentry-ruby#lib/sentry-ruby.rb:455 def with_session_tracking(&block); end end end @@ -640,7 +689,7 @@ end # pkg:gem/sentry-ruby#lib/sentry/attachment.rb:5 class Sentry::Attachment::PathNotFoundError < ::StandardError; end -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:51 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:54 Sentry::BAGGAGE_HEADER_NAME = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:8 @@ -650,7 +699,7 @@ class Sentry::BackgroundWorker # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:17 def initialize(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:67 + # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:64 def full?; end # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:11 @@ -661,10 +710,10 @@ class Sentry::BackgroundWorker # if you want to monkey-patch this method, please override `_perform` instead # - # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:52 + # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:49 def perform(&block); end - # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:62 + # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:59 def shutdown; end # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:13 @@ -675,7 +724,7 @@ class Sentry::BackgroundWorker private - # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:74 + # pkg:gem/sentry-ruby#lib/sentry/background_worker.rb:71 def _perform(&block); end end @@ -711,96 +760,123 @@ Sentry::BackpressureMonitor::MAX_DOWNSAMPLE_FACTOR = T.let(T.unsafe(nil), Intege # @api private # -# pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:7 +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:5 class Sentry::Backtrace - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:103 + extend ::Sentry::CallbackHelper + + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:82 def initialize(lines); end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:119 + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:98 def ==(other); end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:107 + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:86 def inspect; end # holder for an Array of Backtrace::Line instances # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:85 + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:13 def lines; end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:111 + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:90 def to_s; end class << self - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:87 - def parse(backtrace, project_root, app_dirs_pattern, &backtrace_cleanup_callback); end + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:69 + def line_cache; end + + # @deprecated project_root, in_app_pattern passed from outside + # @deprecated app_dirs_pattern, in_app_pattern passed from outside + # + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:17 + def parse(backtrace, project_root, app_dirs_pattern, in_app_pattern: T.unsafe(nil), &backtrace_cleanup_callback); end + + # Since Sentry is mostly used in production, we don't want to fallback + # to the slower implementation and adds potentially big overhead to the + # application. + # + # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:45 + def source_location(&backtrace_cleaner); end end end # Handles backtrace parsing line by line # -# pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:9 +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:7 class Sentry::Backtrace::Line - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:52 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:77 def initialize(file, number, method, module_name, in_app_pattern); end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:75 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:97 def ==(other); end # The file portion of the line (such as app/models/user.rb) # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:22 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:21 def file; end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:60 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:85 def in_app; end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:33 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:32 def in_app_pattern; end - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:79 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:101 def inspect; end # The method of the line (such as index) # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:28 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:27 def method; end # The module name (JRuby) # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:30 def module_name; end # The line number portion of the line # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:25 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:24 def number; end # Reconstructs the line in a readable fashion # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:71 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:93 def to_s; end class << self + # Creates a Line from a Thread::Backtrace::Location object + # This is more efficient than converting to string and parsing with regex + # @param [Thread::Backtrace::Location] location The location object + # @param [Regexp, nil] in_app_pattern Optional pattern to determine if the line is in-app + # @return [Line] The backtrace line + # + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:65 + def from_source_location(location, in_app_pattern = T.unsafe(nil)); end + # Parses a single line of a given backtrace # @param [String] unparsed_line The raw line from +caller+ or some backtrace # @return [Line] The parsed backtrace line # - # pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:38 + # pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:37 def parse(unparsed_line, in_app_pattern = T.unsafe(nil)); end end end +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:9 +Sentry::Backtrace::Line::CLASS_EXTENSION = T.let(T.unsafe(nil), String) + # org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) # -# pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:19 +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:18 Sentry::Backtrace::Line::JAVA_INPUT_FORMAT = T.let(T.unsafe(nil), Regexp) -# pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:10 +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:8 Sentry::Backtrace::Line::RB_EXTENSION = T.let(T.unsafe(nil), String) # regexp (optional leading X: on windows, or JRuby9000 class-prefix) # -# pkg:gem/sentry-ruby#lib/sentry/backtrace.rb:12 +# pkg:gem/sentry-ruby#lib/sentry/backtrace/line.rb:11 Sentry::Backtrace::Line::RUBY_INPUT_FORMAT = T.let(T.unsafe(nil), Regexp) # A {https://www.w3.org/TR/baggage W3C Baggage Header} implementation. @@ -846,7 +922,7 @@ class Sentry::Baggage # The presence of a Sentry item makes the baggage object immutable. # # @param header [String] The incoming Baggage header string. - # @return [Baggage, nil] + # @return [Baggage] # # pkg:gem/sentry-ruby#lib/sentry/baggage.rb:29 def from_incoming_header(header); end @@ -926,7 +1002,7 @@ class Sentry::Breadcrumb # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/breadcrumb.rb:37 - def to_hash; end + def to_h; end # @return [String, nil] # @@ -1007,15 +1083,30 @@ class Sentry::BreadcrumbBuffer # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/breadcrumb_buffer.rb:51 - def to_hash; end + def to_h; end end # pkg:gem/sentry-ruby#lib/sentry/breadcrumb_buffer.rb:7 Sentry::BreadcrumbBuffer::DEFAULT_SIZE = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:45 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:48 Sentry::CAPTURED_SIGNATURE = T.let(T.unsafe(nil), Symbol) +# @private +# +# pkg:gem/sentry-ruby#lib/sentry/utils/callback_helper.rb:5 +module Sentry::CallbackHelper + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/utils/callback_helper.rb:7 + def safe_dispatch_callback(callback_name, callback, args, fallback: T.unsafe(nil)); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/utils/callback_helper.rb:16 + def log_callback_error(callback_name, exception); end +end + # pkg:gem/sentry-ruby#lib/sentry/check_in_event.rb:8 class Sentry::CheckInEvent < ::Sentry::Event # pkg:gem/sentry-ruby#lib/sentry/check_in_event.rb:33 @@ -1084,7 +1175,7 @@ class Sentry::CheckInEvent < ::Sentry::Event # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/check_in_event.rb:51 - def to_hash; end + def to_h; end end # pkg:gem/sentry-ruby#lib/sentry/check_in_event.rb:9 @@ -1093,27 +1184,35 @@ Sentry::CheckInEvent::TYPE = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/check_in_event.rb:31 Sentry::CheckInEvent::VALID_STATUSES = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/client.rb:9 +# pkg:gem/sentry-ruby#lib/sentry/client.rb:12 class Sentry::Client include ::Sentry::LoggingHelper + include ::Sentry::CallbackHelper # @param configuration [Configuration] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:27 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:34 def initialize(configuration); end # Buffer a log event to be sent later with other logs in a single envelope # @param event [LogEvent] the log event to be buffered # @return [LogEvent] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:101 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:105 def buffer_log_event(event, scope); end + # Buffer a metric event to be sent later with other metrics in a single envelope + # @param event [MetricEvent] the metric event to be buffered + # @return [MetricEvent] + # + # pkg:gem/sentry-ruby#lib/sentry/client.rb:114 + def buffer_metric_event(event, scope); end + # Capture an envelope directly. # @param envelope [Envelope] the envelope to be captured. # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:110 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:124 def capture_envelope(envelope); end # Applies the given scope's data to the event and sends it to Sentry. @@ -1122,12 +1221,12 @@ class Sentry::Client # @param hint [Hash] the hint data that'll be passed to `before_send` callback and the scope's event processors. # @return [Event, nil] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:55 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:62 def capture_event(event, scope, hint = T.unsafe(nil)); end # @!macro configuration # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:24 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:31 def configuration; end # Initializes a CheckInEvent object with the given options. @@ -1141,7 +1240,7 @@ class Sentry::Client # # @return [Event] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:166 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:181 def event_from_check_in(slug, status, hint = T.unsafe(nil), duration: T.unsafe(nil), monitor_config: T.unsafe(nil), check_in_id: T.unsafe(nil)); end # Initializes an Event object with the given exception. Returns `nil` if the exception's class is excluded from reporting. @@ -1149,7 +1248,7 @@ class Sentry::Client # @param hint [Hash] the hint data that'll be passed to `before_send` callback and the scope's event processors. # @return [Event, nil] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:126 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:141 def event_from_exception(exception, hint = T.unsafe(nil)); end # Initializes a LogEvent object with the given message and options @@ -1161,7 +1260,7 @@ class Sentry::Client # # @return [LogEvent] the created log event # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:195 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:210 def event_from_log(message, level:, **options); end # Initializes an Event object with the given message. @@ -1169,95 +1268,69 @@ class Sentry::Client # @param hint [Hash] the hint data that'll be passed to `before_send` callback and the scope's event processors. # @return [Event] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:146 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:161 def event_from_message(message, hint = T.unsafe(nil), backtrace: T.unsafe(nil)); end # Initializes an Event object with the given Transaction object. # @param transaction [Transaction] the transaction to be recorded. # @return [TransactionEvent] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:207 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:231 def event_from_transaction(transaction); end # Flush pending events to Sentry. # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:116 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:130 def flush; end - # @deprecated Use Sentry.get_baggage instead. - # - # Generates a W3C Baggage header for distributed tracing from the given Span. - # Returns `nil` if `config.propagate_traces` is `false`. - # @param span [Span] the span to generate trace from. - # @return [String, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:357 - def generate_baggage(span); end - - # @deprecated use Sentry.get_traceparent instead. - # - # Generates a Sentry trace for distribted tracing from the given Span. - # Returns `nil` if `config.propagate_traces` is `false`. - # @param span [Span] the span to generate trace from. - # @return [String, nil] + # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:343 - def generate_sentry_trace(span); end + # pkg:gem/sentry-ruby#lib/sentry/client.rb:25 + def log_event_buffer; end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:21 - def log_event_buffer; end + # pkg:gem/sentry-ruby#lib/sentry/client.rb:28 + def metric_event_buffer; end # Send an envelope directly to Sentry. # @param envelope [Envelope] the envelope to be sent. # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:324 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:310 def send_envelope(envelope); end # @!macro send_event # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:212 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:236 def send_event(event, hint = T.unsafe(nil)); end - # Send an envelope with batched logs - # @param log_events [Array] the log events to be sent - # @api private - # @return [void] - # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:278 - def send_logs(log_events); end - # The Transport object that'll send events for the client. # @return [SpotlightTransport, nil] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:22 def spotlight_transport; end # The Transport object that'll send events for the client. # @return [Transport] # - # pkg:gem/sentry-ruby#lib/sentry/client.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:18 def transport; end private - # pkg:gem/sentry-ruby#lib/sentry/client.rb:377 - def dispatch_async_event(async_block, event, hint); end - - # pkg:gem/sentry-ruby#lib/sentry/client.rb:371 + # pkg:gem/sentry-ruby#lib/sentry/client.rb:330 def dispatch_background_event(event, hint); end end -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:20 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:22 class Sentry::Configuration include ::Sentry::CustomInspection include ::Sentry::LoggingHelper include ::Sentry::ArgumentCheckingHelper - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:462 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:539 def initialize; end # Directories to be recognized as part of your app. e.g. if you @@ -1268,7 +1341,7 @@ class Sentry::Configuration # # @return [Regexp, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:32 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:34 def app_dirs_pattern; end # Directories to be recognized as part of your app. e.g. if you @@ -1279,31 +1352,19 @@ class Sentry::Configuration # # @return [Regexp, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:32 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:34 def app_dirs_pattern=(_arg0); end - # Provide an object that responds to `call` to send events asynchronously. - # E.g.: lambda { |event| Thread.new { Sentry.send_event(event) } } - # - # @deprecated It will be removed in the next major release. Please read https://github.com/getsentry/sentry-ruby/issues/1522 for more information - # @return [Proc, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:39 - def async; end - - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:558 - def async=(value); end - # Track sessions in request/response cycles automatically # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:315 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:307 def auto_session_tracking; end # Track sessions in request/response cycles automatically # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:315 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:307 def auto_session_tracking=(_arg0); end # The maximum queue size for the background worker. @@ -1312,7 +1373,7 @@ class Sentry::Configuration # Default is {BackgroundWorker::DEFAULT_MAX_QUEUE}. # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:56 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:51 def background_worker_max_queue; end # The maximum queue size for the background worker. @@ -1321,7 +1382,7 @@ class Sentry::Configuration # Default is {BackgroundWorker::DEFAULT_MAX_QUEUE}. # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:56 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:51 def background_worker_max_queue=(_arg0); end # to send events in a non-blocking way, sentry-ruby has its own background worker @@ -1333,7 +1394,7 @@ class Sentry::Configuration # E.g.: config.background_worker_threads = 0 # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:49 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:44 def background_worker_threads; end # to send events in a non-blocking way, sentry-ruby has its own background worker @@ -1345,7 +1406,7 @@ class Sentry::Configuration # E.g.: config.background_worker_threads = 0 # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:49 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:44 def background_worker_threads=(_arg0); end # a proc/lambda that takes an array of stack traces @@ -1358,7 +1419,7 @@ class Sentry::Configuration # # @return [Proc, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:67 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:62 def backtrace_cleanup_callback; end # a proc/lambda that takes an array of stack traces @@ -1371,7 +1432,7 @@ class Sentry::Configuration # # @return [Proc, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:67 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:62 def backtrace_cleanup_callback=(_arg0); end # Optional Proc, called before adding the breadcrumb to the current scope @@ -1382,17 +1443,16 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:76 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:71 def before_breadcrumb; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:599 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:705 def before_breadcrumb=(value); end - # Optional Proc, called before sending an event to the server + # Optional Proc, called before sending an error event to the server # @example # config.before_send = lambda do |event, hint| # # skip ZeroDivisionError exceptions - # # note: hint[:exception] would be a String if you use async callback # if hint[:exception].is_a?(ZeroDivisionError) # nil # else @@ -1401,12 +1461,29 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:90 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:84 def before_send; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:587 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:681 def before_send=(value); end + # Optional Proc, called before sending a check-in event to the server + # @example + # config.before_send_check_in = lambda do |event, hint| + # if event.monitor_slug == "unimportant_job" + # nil + # else + # event + # end + # end + # @return [Proc] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:109 + def before_send_check_in; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:693 + def before_send_check_in=(value); end + # Optional Proc, called before sending an event to the server # @example # config.before_send_log = lambda do |log| @@ -1415,7 +1492,7 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:112 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:118 def before_send_log; end # Optional Proc, called before sending an event to the server @@ -1426,10 +1503,24 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:112 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:118 def before_send_log=(_arg0); end - # Optional Proc, called before sending an event to the server + # Optional Proc, called before sending a metric + # @example + # config.before_send_metric = lambda do |metric| + # # return nil to drop the metric + # metric + # end + # @return [Proc, nil] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:375 + def before_send_metric; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:699 + def before_send_metric=(value); end + + # Optional Proc, called before sending a transaction event to the server # @example # config.before_send_transaction = lambda do |event, hint| # # skip unimportant transactions or strip sensitive data @@ -1441,10 +1532,10 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:103 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:97 def before_send_transaction; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:593 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:687 def before_send_transaction=(value); end # An array of breadcrumbs loggers to be used. Available options are: @@ -1454,83 +1545,106 @@ class Sentry::Configuration # # And if you also use sentry-rails: # - :active_support_logger - # - :monotonic_active_support_logger # # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:124 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:129 def breadcrumbs_logger; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:574 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:668 def breadcrumbs_logger=(logger); end - # @deprecated Use {#include_local_variables} instead. + # Capture queue time from X-Request-Start header set by reverse proxies. + # Works with any Rack app behind Nginx, HAProxy, Heroku router, etc. + # Defaults to true. + # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:178 - def capture_exception_frame_locals; end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:262 + def capture_queue_time; end - # @deprecated Use {#include_local_variables=} instead. + # Capture queue time from X-Request-Start header set by reverse proxies. + # Works with any Rack app behind Nginx, HAProxy, Heroku router, etc. + # Defaults to true. + # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:181 - def capture_exception_frame_locals=(value); end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:262 + def capture_queue_time=(_arg0); end # Number of lines of code context to capture, or nil for none + # @deprecated Use {#data_collection} and `frame_context_lines` instead. # @return [Integer, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:132 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:138 def context_lines; end - # Number of lines of code context to capture, or nil for none - # @return [Integer, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:132 - def context_lines=(_arg0); end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:140 + def context_lines=(value); end # Cron related configuration. # @return [Cron::Configuration] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:274 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:280 def cron; end # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:698 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:817 def csp_report_uri; end + # Controls which categories of data may be collected. + # Replacement for send_default_pii. + # @return [DataCollection] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:256 + def data_collection; end + + # Controls which categories of data may be collected. + # Replacement for send_default_pii. + # @return [DataCollection] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:256 + def data_collection=(_arg0); end + # Whether the SDK should run in the debugging mode. Default is false. # If set to true, SDK errors will be logged with backtrace # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:141 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:152 def debug; end # Whether the SDK should run in the debugging mode. Default is false. # If set to true, SDK errors will be logged with backtrace # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:141 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:152 def debug=(_arg0); end # @api private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:720 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:847 def detect_release; end # the dsn value, whether it's set via `config.dsn=` or `ENV["SENTRY_DSN"]` # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:145 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:156 def dsn; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:546 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:634 def dsn=(value); end + # Returns the effective org ID, preferring the explicit config option over the DSN-parsed value. + # @return [String, nil] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:758 + def effective_org_id; end + # Whether to downsample transactions automatically because of backpressure. # Starts a new monitor thread to check health of the SDK every 10 seconds. # Default is false # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:321 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:313 def enable_backpressure_handling; end # Whether to downsample transactions automatically because of backpressure. @@ -1538,150 +1652,145 @@ class Sentry::Configuration # Default is false # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:321 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:313 def enable_backpressure_handling=(_arg0); end - # Enable Structured Logging - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:296 - def enable_logs; end - - # Enable Structured Logging - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:296 - def enable_logs=(_arg0); end - - # Easier way to use performance tracing - # If set to true, will set traces_sample_rate to 1.0 - # @deprecated It will be removed in the next major release. - # @return [Boolean, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:306 - def enable_tracing; end - - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:613 - def enable_tracing=(enable_tracing); end - # Whitelist of enabled_environments that will send notifications to Sentry. Array of Strings. - # @return [Array] + # @return [Array, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:149 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:160 def enabled_environments; end # Whitelist of enabled_environments that will send notifications to Sentry. Array of Strings. - # @return [Array] + # @return [Array, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:149 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:160 def enabled_environments=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:676 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:795 def enabled_in_current_env?; end # Array of patches to apply. # Default is {DEFAULT_PATCHES} # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:345 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:358 def enabled_patches; end # Array of patches to apply. # Default is {DEFAULT_PATCHES} # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:345 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:358 def enabled_patches=(_arg0); end # RACK_ENV by default. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:136 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:147 def environment; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:605 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:717 def environment=(environment); end # @api private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:733 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:860 def error_messages; end # these are not config options # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:353 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:424 def errors; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:663 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:782 def exception_class_allowed?(exc); end # Logger 'progname's to exclude from breadcrumbs # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:153 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:164 def exclude_loggers; end # Logger 'progname's to exclude from breadcrumbs # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:153 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:164 def exclude_loggers=(_arg0); end # Array of exception classes that should never be sent. See IGNORE_DEFAULT. # You should probably append to this rather than overwrite it. # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:158 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:169 def excluded_exceptions; end # Array of exception classes that should never be sent. See IGNORE_DEFAULT. # You should probably append to this rather than overwrite it. # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:158 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:169 def excluded_exceptions=(_arg0); end # these are not config options # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:353 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:424 def gem_specs; end - # Whether to capture local variables from the raised exception's frame. Default is false. - # @return [Boolean] + # Which execution primitive owns the SDK's current hub. # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:167 - def include_local_variables; end + # [+:thread+ (default)] Store the hub in thread-local storage. Correct for + # thread-based servers (Puma, Unicorn) and background processors (Sidekiq, + # Resque). Every fiber on a thread shares one hub. + # [+:fiber+] Store the hub in Fiber Storage (Ruby 3.2+). Each fiber gets its + # own hub, so concurrent requests on a fiber-based server (Falcon/async) + # are isolated instead of sharing and corrupting one another's scope. A + # fiber or thread started from another inherits its context and trace, but + # its own scope changes stay local. Requested on a Ruby without Fiber + # Storage (< 3.2), the SDK logs a warning and falls back to +:thread+. + # + # @return [Symbol] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:417 + def hub_isolation_level; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:651 + def hub_isolation_level=(level); end # Whether to capture local variables from the raised exception's frame. Default is false. + # @deprecated Use {#data_collection} and `stack_frame_variables` instead. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:167 - def include_local_variables=(_arg0); end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:179 + def include_local_variables; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:181 + def include_local_variables=(value); end # Boolean to check nested exceptions when deciding if to exclude. Defaults to true # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:162 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:173 def inspect_exception_causes_for_exclusion; end # Boolean to check nested exceptions when deciding if to exclude. Defaults to true # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:162 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:173 def inspect_exception_causes_for_exclusion=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:163 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:174 def inspect_exception_causes_for_exclusion?; end # The instrumenter to use, :sentry or :otel # @return [Symbol] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:330 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:334 def instrumenter; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:609 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:721 def instrumenter=(instrumenter); end # You may provide your own LineCache for matching paths with source files. @@ -1689,7 +1798,7 @@ class Sentry::Configuration # @see LineCache # @return [LineCache] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:193 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:198 def linecache; end # You may provide your own LineCache for matching paths with source files. @@ -1697,177 +1806,218 @@ class Sentry::Configuration # @see LineCache # @return [LineCache] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:193 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:198 def linecache=(_arg0); end - # @deprecated Use {#sdk_logger} instead. - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:212 - def logger; end - - # @deprecated Use {#sdk_logger=} instead. + # @api private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:206 - def logger=(logger); end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:827 + def log_deprecations; end # Max number of breadcrumbs a breadcrumb buffer can hold # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:128 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:133 def max_breadcrumbs; end # Max number of breadcrumbs a breadcrumb buffer can hold # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:128 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:133 def max_breadcrumbs=(_arg0); end # Maximum number of log events to buffer before sending # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:349 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:362 def max_log_events; end # Maximum number of log events to buffer before sending # @return [Integer] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:349 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:362 def max_log_events=(_arg0); end - # Metrics related configuration. - # @return [Metrics::Configuration] + # Maximum number of metric events to buffer before sending + # @return [Integer] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:366 + def max_metric_events; end + + # Maximum number of metric events to buffer before sending + # @return [Integer] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:366 + def max_metric_events=(_arg0); end + + # An optional organization ID. The SDK will try to extract it from the DSN in most cases + # but you can provide it explicitly for self-hosted and Relay setups. + # This value is used for trace propagation and for features like strict_trace_continuation. + # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:278 - def metrics; end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:390 + def org_id; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:752 + def org_id=(value); end # The profiler class # @return [Class] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:334 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:338 def profiler_class; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:632 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:741 def profiler_class=(profiler_class); end + # Interval in microseconds at which to take samples. + # The default is 1e6 / 101, or 101Hz. + # Note that the 101 is intentional to avoid lockstep sampling. + # + # @example + # config.profiles_sample_interval = 1e5 / 101 + # @return [Float] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:353 + def profiles_sample_interval; end + + # Interval in microseconds at which to take samples. + # The default is 1e6 / 101, or 101Hz. + # Note that the 101 is intentional to avoid lockstep sampling. + # + # @example + # config.profiles_sample_interval = 1e5 / 101 + # @return [Float] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:353 + def profiles_sample_interval=(_arg0); end + # Take a float between 0.0 and 1.0 as the sample rate for capturing profiles. # Note that this rate is relative to traces_sample_rate / traces_sampler, # i.e. the profile is sampled by this rate after the transaction is sampled. # @return [Float, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:340 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:344 def profiles_sample_rate; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:628 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:737 def profiles_sample_rate=(profiles_sample_rate); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:691 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:810 def profiling_enabled?; end # Project directory root for in_app detection. Could be Rails root, etc. # Set automatically for Rails. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:220 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:213 def project_root; end # Project directory root for in_app detection. Could be Rails root, etc. # Set automatically for Rails. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:220 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:213 def project_root=(_arg0); end # Insert sentry-trace to outgoing requests' headers # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:229 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:222 def propagate_traces; end # Insert sentry-trace to outgoing requests' headers # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:229 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:222 def propagate_traces=(_arg0); end # Array of rack env parameters to be included in the event sent to sentry. + # @deprecated Use `data_collection.http_headers.request` to control request data collection instead. # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:233 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:227 def rack_env_whitelist; end # Array of rack env parameters to be included in the event sent to sentry. + # @deprecated Use `data_collection.http_headers.request` to control request data collection instead. # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:233 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:227 def rack_env_whitelist=(_arg0); end # Release tag to be passed with every event sent to Sentry. # We automatically try to set this to a git SHA or Capistrano release. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:238 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:232 def release; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:552 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:645 def release=(value); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:653 + # @api private + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:866 + def run_after_close_callbacks; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:772 def sample_allowed?; end # The sampling factor to apply to events. A value of 0.0 will not send # any events, and a value of 1.0 will send 100% of events. # @return [Float] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:243 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:237 def sample_rate; end # The sampling factor to apply to events. A value of 0.0 will not send # any events, and a value of 1.0 will send 100% of events. # @return [Float] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:243 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:237 def sample_rate=(_arg0); end # File path for DebugTransport to log events to. If not set, defaults to a temporary file. # This is useful for debugging and testing purposes. # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:203 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:208 def sdk_debug_transport_log_file; end # File path for DebugTransport to log events to. If not set, defaults to a temporary file. # This is useful for debugging and testing purposes. # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:203 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:208 def sdk_debug_transport_log_file=(_arg0); end # Logger used by Sentry. In Rails, this is the Rails logger, otherwise # Sentry provides its own Sentry::Logger. # @return [Logger] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:198 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:203 def sdk_logger; end # Logger used by Sentry. In Rails, this is the Rails logger, otherwise # Sentry provides its own Sentry::Logger. # @return [Logger] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:198 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:203 def sdk_logger=(_arg0); end # Send diagnostic client reports about dropped events, true by default # tries to attach to an existing envelope max once every 30s # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:311 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:303 def send_client_reports; end # Send diagnostic client reports about dropped events, true by default # tries to attach to an existing envelope max once every 30s # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:311 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:303 def send_client_reports=(_arg0); end # When send_default_pii's value is false (default), sensitive information like @@ -1876,66 +2026,59 @@ class Sentry::Configuration # - request body # - query string # will not be sent to Sentry. + # @deprecated Use {#data_collection} instead. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:256 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:251 def send_default_pii; end - # When send_default_pii's value is false (default), sensitive information like - # - user ip - # - user cookie - # - request body - # - query string - # will not be sent to Sentry. - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:256 - def send_default_pii=(_arg0); end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:638 + def send_default_pii=(value); end # Include module versions in reports - boolean. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:247 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:241 def send_modules; end # Include module versions in reports - boolean. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:247 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:241 def send_modules=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:643 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:762 def sending_allowed?; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:647 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:766 def sending_to_dsn_allowed?; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:550 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:643 def server=(value); end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:266 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:272 def server_name; end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:266 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:272 def server_name=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:659 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:778 def session_tracking?; end # Allow to skip Sentry emails within rake tasks # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:260 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:266 def skip_rake_integration; end # Allow to skip Sentry emails within rake tasks # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:260 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:266 def skip_rake_integration=(_arg0); end # Whether to capture events and traces into Spotlight. Default is false. @@ -1945,7 +2088,7 @@ class Sentry::Configuration # with the proxy URL. # @return [Boolean, String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:175 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:192 def spotlight; end # Whether to capture events and traces into Spotlight. Default is false. @@ -1955,55 +2098,114 @@ class Sentry::Configuration # with the proxy URL. # @return [Boolean, String] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:175 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:192 def spotlight=(_arg0); end # @api private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:708 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:835 def stacktrace_builder; end + # Optional Proc, called to filter log messages before sending to Sentry + # @example + # config.std_lib_logger_filter = lambda do |logger, message, level| + # # Only send error and fatal logs to Sentry + # [:error, :fatal].include?(level) + # end + # @return [Proc, nil] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:384 + def std_lib_logger_filter; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:711 + def std_lib_logger_filter=(value); end + + # If set to true, the SDK will only continue a trace if the org_id of the incoming trace found in the + # baggage header matches the org_id of the current Sentry client and only if BOTH are present. + # + # If set to false, consistency of org_id will only be enforced if both are present. + # If either are missing, the trace will be continued. + # + # The client's organization ID is extracted from the DSN or can be set with the org_id option. + # If the organization IDs do not match, the SDK will start a new trace instead of continuing the incoming one. + # This is useful to prevent traces of unknown third-party services from being continued in your application. + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:402 + def strict_trace_continuation; end + + # If set to true, the SDK will only continue a trace if the org_id of the incoming trace found in the + # baggage header matches the org_id of the current Sentry client and only if BOTH are present. + # + # If set to false, consistency of org_id will only be enforced if both are present. + # If either are missing, the trace will be continued. + # + # The client's organization ID is extracted from the DSN or can be set with the org_id option. + # If the organization IDs do not match, the SDK will start a new trace instead of continuing the incoming one. + # This is useful to prevent traces of unknown third-party services from being continued in your application. + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:402 + def strict_trace_continuation=(_arg0); end + # Whether to strip the load path while constructing the backtrace frame filename. # Defaults to true. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:225 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:218 def strip_backtrace_load_path; end # Whether to strip the load path while constructing the backtrace frame filename. # Defaults to true. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:225 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:218 def strip_backtrace_load_path=(_arg0); end # Structured logging configuration. # @return [StructuredLoggingConfiguration] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:300 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:298 def structured_logging; end + # Collection of HTTP status codes or ranges of codes to ignore when tracing incoming requests. + # If a transaction's http.response.status_code matches one of these values, + # the transaction will be dropped and marked as not sampled. + # Defaults to TRACE_IGNORE_STATUS_CODES_DEFAULT. + # + # @example + # # ignore 404 and 502 <= status_code <= 511 + # config.trace_ignore_status_codes = [404, (502..511)] + # + # @return [Array, Array] + # + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:330 + def trace_ignore_status_codes; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:725 + def trace_ignore_status_codes=(codes); end + # Allowlist of outgoing request targets to which sentry-trace and baggage headers are attached. # Default is all (/.*/) # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:326 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:318 def trace_propagation_targets; end # Allowlist of outgoing request targets to which sentry-trace and baggage headers are attached. # Default is all (/.*/) # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:326 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:318 def trace_propagation_targets=(_arg0); end # Take a float between 0.0 and 1.0 as the sample rate for tracing events (transactions). # @return [Float, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:282 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:284 def traces_sample_rate; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:624 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:733 def traces_sample_rate=(traces_sample_rate); end # Take a Proc that controls the sample rate for every tracing event, e.g. @@ -2015,7 +2217,7 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:292 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:294 def traces_sampler; end # Take a Proc that controls the sample rate for every tracing event, e.g. @@ -2027,151 +2229,173 @@ class Sentry::Configuration # end # @return [Proc] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:292 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:294 def traces_sampler=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:685 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:804 def tracing_enabled?; end # Transport related configuration. # @return [Transport::Configuration] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:270 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:276 def transport; end # IP ranges for trusted proxies that will be skipped when calculating IP address. # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:263 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:269 def trusted_proxies; end # IP ranges for trusted proxies that will be skipped when calculating IP address. # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:263 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:269 def trusted_proxies=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:680 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:799 def valid_sample_rate?(sample_rate); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:528 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:616 def validate; end private - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:775 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:911 def capture_in_environment?; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:791 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:927 def environment_from_env; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:746 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:882 def excluded_exception?(incoming_exception); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:752 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:888 def excluded_exception_classes; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:756 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:872 + def fiber_storage_available?; end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:892 def get_exception_class(x); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:740 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:876 def init_dsn(dsn_string); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:760 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:896 def matches_exception?(excluded_exception_class, incoming_exception); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:815 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:951 def processor_count; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:809 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:945 def run_callbacks(hook, event); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:805 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:941 def running_on_heroku?; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:768 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:904 def safe_const_get(x); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:795 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:931 def server_name_from_env; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:782 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:918 def valid?; end + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:956 + def valid_http_status_code?(code); end + + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:960 + def valid_status_code_entry?(entry); end + class << self # allow extensions to add their hooks to the Configuration class # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:402 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:478 def add_post_initialization_callback(&block); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:410 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:486 def after(event, &block); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:406 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:482 def before(event, &block); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:415 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:491 def callbacks; end # Post initialization callbacks are called at the end of initialization process # allowing extending the configuration of sentry-ruby by multiple extensions # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:397 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:473 def post_initialization_callbacks; end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:426 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:503 def validate(attribute, optional: T.unsafe(nil), type: T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:422 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:499 def validations; end private - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:436 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:513 def build_validation_proc(optional, type); end end end -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:392 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:465 Sentry::Configuration::APP_DIRS_PATTERN = T.let(T.unsafe(nil), Regexp) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:390 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:463 Sentry::Configuration::DEFAULT_PATCHES = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:379 +# 101 Hz in microseconds +# +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:468 +Sentry::Configuration::DEFAULT_PROFILES_SAMPLE_INTERVAL = T.let(T.unsafe(nil), Float) + +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:452 Sentry::Configuration::HEROKU_DYNO_METADATA_MESSAGE = T.let(T.unsafe(nil), String) # Most of these errors generate 4XX responses. In general, Sentry clients # only automatically report 5xx responses. # -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:366 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:437 Sentry::Configuration::IGNORE_DEFAULT = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:386 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:459 Sentry::Configuration::INSTRUMENTERS = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:382 +# Isolation levels the SDK understands for hub storage. +# +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:420 +Sentry::Configuration::ISOLATION_LEVELS = T.let(T.unsafe(nil), Array) + +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:455 Sentry::Configuration::LOG_PREFIX = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:383 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:456 Sentry::Configuration::MODULE_SEPARATOR = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:388 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:461 Sentry::Configuration::PROPAGATION_TARGETS_MATCH_ALL = T.let(T.unsafe(nil), Regexp) # These exceptions could enter Puma's `lowlevel_error_handler` callback and the SDK's Puma integration # But they are mostly considered as noise and should be ignored by default # Please see https://github.com/getsentry/sentry-ruby/pull/2026 for more information # -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:358 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:429 Sentry::Configuration::PUMA_IGNORE_DEFAULT = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:373 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:444 Sentry::Configuration::RACK_ENV_WHITELIST_DEFAULT = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:384 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:457 Sentry::Configuration::SKIP_INSPECTION_ATTRIBUTES = T.let(T.unsafe(nil), Array) +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:450 +Sentry::Configuration::TRACE_IGNORE_STATUS_CODES_DEFAULT = T.let(T.unsafe(nil), Array) + # pkg:gem/sentry-ruby#lib/sentry/cron/configuration.rb:4 module Sentry::Cron; end @@ -2218,34 +2442,92 @@ class Sentry::Cron::Configuration def default_timezone=(_arg0); end end +# Converts fugit schedules into monitor configs. Returns nil when the +# schedule can't be expressed in the Crons schedule format. +# +# pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:7 +module Sentry::Cron::FugitSchedule + class << self + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:14 + def from_cron(cron); end + + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:20 + def from_seconds(seconds); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:85 + def crontab_field(values, min, max, step: T.unsafe(nil)); end + + # Rebuilds a 5-field crontab from fugit's expanded fields. Returns nil for + # sub-minute seconds, `%`, `&`, and negative days other than `L` and `#-1`. + # + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:43 + def crontab_for(cron); end + + # Day fields never use `*/n`: Debian cron treats a field starting with + # `*` as unrestricted when combining day-of-month and weekday. + # + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:63 + def monthday_field(monthdays); end + + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:107 + def offset_timezone(hours, minutes); end + + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:36 + def options; end + + # Sentry only accepts IANA names, so only whole-hour offsets get a zone. + # + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:97 + def timezone_for(cron); end + + # pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:74 + def weekday_field(weekdays); end + end +end + +# et-orbi names offset zones like "+05:00". +# +# pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:11 +Sentry::Cron::FugitSchedule::OFFSET = T.let(T.unsafe(nil), Regexp) + +# `#n` and `#-1` (last) have Crons equivalents; other `#-n` don't. +# +# pkg:gem/sentry-ruby#lib/sentry/cron/fugit_schedule.rb:9 +Sentry::Cron::FugitSchedule::WEEKDAY_HASHES = T.let(T.unsafe(nil), Array) + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:5 module Sentry::Cron::MonitorCheckIns mixes_in_class_methods ::Sentry::Cron::MonitorCheckIns::ClassMethods class << self - # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:72 + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:78 def included(base); end + + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:8 + def with_check_in(slug, monitor_config: T.unsafe(nil)); end end end -# pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:45 +# pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:51 module Sentry::Cron::MonitorCheckIns::ClassMethods - # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:52 def sentry_monitor_check_ins(slug: T.unsafe(nil), monitor_config: T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:67 + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:73 def sentry_monitor_config; end - # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:60 + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:66 def sentry_monitor_slug(name: T.unsafe(nil)); end end # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:6 Sentry::Cron::MonitorCheckIns::MAX_SLUG_LENGTH = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:8 +# pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:39 module Sentry::Cron::MonitorCheckIns::Patch - # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:9 + # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_check_ins.rb:40 def perform(*args, **opts); end end @@ -2307,7 +2589,7 @@ class Sentry::Cron::MonitorConfig def timezone=(_arg0); end # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_config.rb:43 - def to_hash; end + def to_h; end class << self # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_config.rb:33 @@ -2327,7 +2609,7 @@ class Sentry::Cron::MonitorSchedule::Crontab def initialize(value); end # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_schedule.rb:15 - def to_hash; end + def to_h; end # A crontab formatted string such as "0 * * * *". # @return [String] @@ -2348,7 +2630,7 @@ class Sentry::Cron::MonitorSchedule::Interval def initialize(value, unit); end # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_schedule.rb:36 - def to_hash; end + def to_h; end # The unit representing duration of the interval. # @return [Symbol] @@ -2378,6 +2660,23 @@ end # pkg:gem/sentry-ruby#lib/sentry/cron/monitor_schedule.rb:29 Sentry::Cron::MonitorSchedule::Interval::VALID_UNITS = T.let(T.unsafe(nil), Array) +# pkg:gem/sentry-ruby#lib/sentry/cron/slug.rb:5 +module Sentry::Cron::Slug + private + + # Returns nil when nothing usable is left. + # + # pkg:gem/sentry-ruby#lib/sentry/cron/slug.rb:9 + def from(name); end + + class << self + # Returns nil when nothing usable is left. + # + # pkg:gem/sentry-ruby#lib/sentry/cron/slug.rb:9 + def from(name); end + end +end + # pkg:gem/sentry-ruby#lib/sentry/utils/custom_inspection.rb:4 module Sentry::CustomInspection # pkg:gem/sentry-ruby#lib/sentry/utils/custom_inspection.rb:5 @@ -2386,154 +2685,465 @@ end # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:8 class Sentry::DSN - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:18 def initialize(dsn_string); end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:49 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:53 def csp_report_uri; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:53 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:57 def envelope_endpoint; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:93 + def generate_auth_header(client: T.unsafe(nil)); end + + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def host; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:57 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:65 def local?; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:61 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:69 def localhost?; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 + def org_id; end + + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:61 + def otlp_traces_endpoint; end + + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def path; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def port; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:65 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:73 def private_ip?; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def project_id; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def public_key; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:75 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:83 def resolved_ips_private?; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def scheme; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:16 def secret_key; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:43 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:47 def server; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:39 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:43 def to_s; end - # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:35 + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:39 def valid?; end + + private + + # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:110 + def extract_org_id_from_host; end end -# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:11 +# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:12 Sentry::DSN::LOCALHOST_NAMES = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:12 +# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:13 Sentry::DSN::LOCALHOST_PATTERN = T.let(T.unsafe(nil), Regexp) -# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:9 -Sentry::DSN::PORT_MAP = T.let(T.unsafe(nil), Hash) +# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:14 +Sentry::DSN::ORG_ID_REGEX = T.let(T.unsafe(nil), Regexp) # pkg:gem/sentry-ruby#lib/sentry/dsn.rb:10 +Sentry::DSN::PORT_MAP = T.let(T.unsafe(nil), Hash) + +# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:9 +Sentry::DSN::PROTOCOL_VERSION = T.let(T.unsafe(nil), String) + +# pkg:gem/sentry-ruby#lib/sentry/dsn.rb:11 Sentry::DSN::REQUIRED_ATTRIBUTES = T.let(T.unsafe(nil), Array) +# pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:4 +class Sentry::DataCollection + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:153 + def initialize; end + + # Copies the legacy context_lines configuration. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:175 + def backfill_frame_context_lines(configuration); end + + # Copies the legacy stack frame variable configuration. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:170 + def backfill_stack_frame_variables(configuration); end + + # Returns whether incoming HTTP request bodies should be collected. + # nil implies all BODY_TYPES according to spec + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:198 + def collect_incoming_http_body?; end + + # Returns whether outgoing HTTP request bodies should be collected. + # nil implies all BODY_TYPES according to spec + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:204 + def collect_outgoing_http_body?; end + + # Returns whether stack frame local variables should be captured. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:180 + def collect_stack_frame_variables?; end + + # @return [Boolean, KeyValueCollection] + # A boolean is shorthand for `mode: :deny_list` (`true`) or `mode: :off` (`false`). + # @default `mode: :deny_list, terms: nil` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:84 + def cookies; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:188 + def cookies=(value); end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:101 + def database_query_data; end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:101 + def database_query_data=(_arg0); end + + # @return [Integer] + # @default `3` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:118 + def frame_context_lines; end + + # @return [Integer] + # @default `3` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:118 + def frame_context_lines=(_arg0); end + + # @return [GraphQL] + # @default `document: true, variables: true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:105 + def graphql; end + + # @return [GraphQL] + # @default `document: true, variables: true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:105 + def graphql=(_arg0); end + + # @return [Array] containing values from BODY_TYPES + # @default `nil` (all valid body types) + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:92 + def http_bodies; end + + # @return [Array] containing values from BODY_TYPES + # @default `nil` (all valid body types) + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:92 + def http_bodies=(_arg0); end + + # @return [HttpHeaders] + # @default request and response use `mode: :deny_list, terms: nil` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:88 + def http_headers; end + + # @return [HttpHeaders] + # @default request and response use `mode: :deny_list, terms: nil` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:88 + def http_headers=(_arg0); end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:109 + def queues; end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:109 + def queues=(_arg0); end + + # @return [Boolean, KeyValueCollection] + # A boolean is shorthand for `mode: :deny_list` (`true`) or `mode: :off` (`false`). + # @default `false` (Ruby-specific to avoid TracePoint overhead) + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:114 + def stack_frame_variables; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:184 + def stack_frame_variables=(value); end + + # @return [Boolean, KeyValueCollection] + # A boolean is shorthand for `mode: :deny_list` (`true`) or `mode: :off` (`false`). + # @default `mode: :deny_list, terms: nil` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:97 + def url_query_params; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:192 + def url_query_params=(value); end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:79 + def user_info; end + + # @return [Boolean] + # @default `true` + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:79 + def user_info=(_arg0); end + + class << self + # Builds data collection settings compatible with the legacy send_default_pii + # configuration. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:131 + def backfill(configuration); end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:125 + def default_filter; end + + # Filters key-value data using the default sensitive denylist. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:121 + def filter(values); end + end +end + +# pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:36 +Sentry::DataCollection::BODY_TYPES = T.let(T.unsafe(nil), Array) + +# pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:64 +class Sentry::DataCollection::GraphQL + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:71 + def initialize(document:, variables:); end + + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:66 + def document; end + + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:66 + def document=(_arg0); end + + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:69 + def variables; end + + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:69 + def variables=(_arg0); end +end + +# pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:43 +class Sentry::DataCollection::HttpHeaders + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:50 + def initialize(request:, response:); end + + # @return [KeyValueCollection] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:45 + def request; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:55 + def request=(value); end + + # @return [KeyValueCollection] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:48 + def response; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:59 + def response=(value); end +end + +# Configuration for key-value data collection. +# +# pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:6 +class Sentry::DataCollection::KeyValueCollection + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:68 + def initialize(mode:, terms:); end + + # Applies this collection configuration without changing the input hash. + # Keys are retained whenever the category is collected; values that are not + # safe to send are replaced with FILTERED_VALUE. + # + # @param values [Hash] key-value data to filter + # @return [Hash] a new filtered hash, or an empty hash when collection is off + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:99 + def filter(values, cookie: T.unsafe(nil)); end + + # `mode` controls whether values are collected: + # - `:off` disables collection. + # - `:deny_list` collects values except those matching `terms`. + # - `:allow_list` collects only values matching `terms`. + # Boolean values are accepted as shorthand for `:deny_list` and `:off`. + # @return [:off, :deny_list, :allow_list] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:62 + def mode; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:73 + def mode=(mode); end + + # `terms` contains the keys or patterns used by the selected mode. + # @return [Array, nil] + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:66 + def terms; end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:88 + def terms=(terms); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:129 + def matches_any_term?(key, key_downcase); end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:109 + def safe_value?(key, cookie: T.unsafe(nil)); end + + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:124 + def sensitive?(key, cookie: T.unsafe(nil)); end + + class << self + # Converts the boolean shorthand into a collection configuration. + # + # pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:82 + def from(value); end + end +end + +# pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:7 +Sentry::DataCollection::KeyValueCollection::FILTERED_VALUE = T.let(T.unsafe(nil), String) + +# Additional terms applied to cookie names only. These cover common +# opaque session, identity-provider, and load-balancer cookies without +# making the general header denylist overly broad. +# +# pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:35 +Sentry::DataCollection::KeyValueCollection::SENSITIVE_COOKIE_NAME_DENY_LIST = T.let(T.unsafe(nil), Array) + +# Keys from this list are ALWAYS filtered, regardless of :mode +# +# pkg:gem/sentry-ruby#lib/sentry/data_collection/key_value_collection.rb:10 +Sentry::DataCollection::KeyValueCollection::SENSITIVE_DENY_LIST = T.let(T.unsafe(nil), Array) + +# Configuration for the categories of data collected by the SDK. +# Replacement for send_default_pii. +# Spec: https://develop.sentry.dev/sdk/foundations/client/data-collection/ +# +# @example Configure data collection +# Sentry.init do |config| +# data_collection = config.data_collection +# data_collection.user_info = true +# data_collection.cookies.mode = :deny_list +# data_collection.cookies.terms = ["session", "token"] +# data_collection.http_headers.request.mode = :deny_list +# data_collection.http_headers.request.terms = nil +# data_collection.http_headers.response.mode = :allow_list +# data_collection.http_headers.response.terms = ["my_special_header"] +# data_collection.http_bodies = [:incoming_request] +# data_collection.url_query_params.mode = :allow_list +# data_collection.url_query_params.terms = ["page", "limit"] +# data_collection.graphql.document = true +# data_collection.graphql.variables = true +# data_collection.database_query_data = true +# data_collection.queues = true +# data_collection.stack_frame_variables = true +# data_collection.frame_context_lines = 5 +# end +# +# pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:32 +Sentry::DataCollection::MODES = T.let(T.unsafe(nil), Array) + +# pkg:gem/sentry-ruby#lib/sentry/data_collection.rb:34 +Sentry::DataCollection::PII_HEADER_SNIPPETS = T.let(T.unsafe(nil), Array) + # DebugStructuredLogger is a logger that captures structured log events to a file for debugging purposes. # -# It can optionally also send log events to Sentry via the normal structured logger if logging -# is enabled. +# It also sends log events to Sentry via the normal structured logger. # -# pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:13 +# pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:12 class Sentry::DebugStructuredLogger < ::SimpleDelegator - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:17 def initialize(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:16 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:15 def backend; end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:42 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:41 def capture_log_event(level, message, parameters, **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:61 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:60 def clear; end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def debug(message, parameters = T.unsafe(nil), **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def error(message, parameters = T.unsafe(nil), **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def fatal(message, parameters = T.unsafe(nil), **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def info(message, parameters = T.unsafe(nil), **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:36 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:35 def log(level, message, parameters:, **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:16 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:15 def log_file; end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:55 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:54 def logged_events; end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def trace(message, parameters = T.unsafe(nil), **attributes); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:28 def warn(message, parameters = T.unsafe(nil), **attributes); end private - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:70 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:69 def initialize_backend(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:79 + # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:73 def initialize_log_file(log_file_path); end end -# pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:14 +# pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:13 Sentry::DebugStructuredLogger::DEFAULT_LOG_FILE_PATH = T.let(T.unsafe(nil), String) -# No-op logger for when structured logging is disabled -# -# pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:88 -class Sentry::DebugStructuredLogger::NoOpLogger - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def debug(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def error(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def fatal(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def info(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def log(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def trace(*args, **kwargs); end - - # pkg:gem/sentry-ruby#lib/sentry/debug_structured_logger.rb:90 - def warn(*args, **kwargs); end -end - # DebugTransport is a transport that logs events to a file for debugging purposes. # # It can optionally also send events to Sentry via HTTP transport if a real DSN @@ -2547,27 +3157,33 @@ class Sentry::DebugTransport < ::SimpleDelegator # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:16 def backend; end - # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:50 + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:55 def clear; end - # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:35 def log_envelope(envelope); end # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:16 def log_file; end - # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:42 + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:47 def logged_envelopes; end + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:30 + def send_envelope(envelope); end + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:25 def send_event(event); end private - # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:57 + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:62 + def fully_written?(line); end + + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:66 def initialize_backend(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:62 + # pkg:gem/sentry-ruby#lib/sentry/transport/debug_transport.rb:71 def initialize_log_file(configuration); end end @@ -2579,6 +3195,12 @@ class Sentry::DummyTransport < ::Sentry::Transport # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:7 def initialize(*); end + # Empties the captured events and envelopes so `TestHelper.clear_sentry_events` + # also clears the dummy transport instance + # + # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:25 + def clear; end + # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:5 def envelopes; end @@ -2591,10 +3213,10 @@ class Sentry::DummyTransport < ::Sentry::Transport # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:5 def events=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:19 def send_envelope(envelope); end - # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:13 + # pkg:gem/sentry-ruby#lib/sentry/transport/dummy_transport.rb:14 def send_event(event); end end @@ -2631,28 +3253,37 @@ end # # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:5 class Sentry::Envelope::Item - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:28 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:35 def initialize(headers, payload); end + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:43 + def byte_data_category; end + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:13 def data_category; end # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:13 def headers; end + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:47 + def item_count; end + + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:51 + def lost_event_byte_size; end + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:13 def payload; end - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:40 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:61 def serialize; end - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:56 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:77 def size_breakdown; end # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:13 def size_limit; end - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:36 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:57 def to_s; end # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:13 @@ -2660,13 +3291,16 @@ class Sentry::Envelope::Item private - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:72 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:93 def reduce_stacktrace!; end - # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:64 + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:85 def remove_breadcrumbs!; end class << self + # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:28 + def byte_data_category(data_category); end + # rate limits and client reports use the data_category rather than envelope item type # # pkg:gem/sentry-ruby#lib/sentry/envelope/item.rb:16 @@ -2713,7 +3347,7 @@ class Sentry::ErrorEvent < ::Sentry::Event # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/error_event.rb:13 - def to_hash; end + def to_h; end end # This is an abstract class that defines the shared attributes of an event. @@ -2746,12 +3380,6 @@ class Sentry::Event # pkg:gem/sentry-ruby#lib/sentry/event.rb:35 def breadcrumbs=(_arg0); end - # @deprecated This method will be removed in v5.0.0. Please just use Sentry.configuration - # @return [Configuration] - # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:86 - def configuration; end - # pkg:gem/sentry-ruby#lib/sentry/event.rb:36 def contexts; end @@ -2803,7 +3431,7 @@ class Sentry::Event # @param level [String, Symbol] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:100 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:94 def level=(level); end # pkg:gem/sentry-ruby#lib/sentry/event.rb:36 @@ -2829,7 +3457,7 @@ class Sentry::Event # @param env [Hash] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:108 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:102 def rack_env=(env); end # pkg:gem/sentry-ruby#lib/sentry/event.rb:36 @@ -2868,17 +3496,17 @@ class Sentry::Event # @param time [Time, Float] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:93 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:87 def timestamp=(time); end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:121 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/event.rb:115 + def to_h; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:129 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:123 def to_json_compatible; end # pkg:gem/sentry-ruby#lib/sentry/event.rb:36 @@ -2904,16 +3532,16 @@ class Sentry::Event private - # pkg:gem/sentry-ruby#lib/sentry/event.rb:135 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:129 def add_request_interface(env); end # When behind a proxy (or if the user is using a proxy), we can't use # REMOTE_ADDR to determine the Event IP, and must use other headers instead. # - # pkg:gem/sentry-ruby#lib/sentry/event.rb:149 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:147 def calculate_real_ip_from_rack(env); end - # pkg:gem/sentry-ruby#lib/sentry/event.rb:139 + # pkg:gem/sentry-ruby#lib/sentry/event.rb:137 def serialize_attributes; end end @@ -2946,7 +3574,7 @@ class Sentry::ExceptionInterface < ::Sentry::Interface # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/interfaces/exception.rb:16 - def to_hash; end + def to_h; end # @return [] # @@ -2960,10 +3588,11 @@ class Sentry::ExceptionInterface < ::Sentry::Interface # @see SingleExceptionInterface#build_with_stacktrace # @see SingleExceptionInterface#initialize # @param mechanism [Mechanism] + # @param data_collection [DataCollection] # @return [ExceptionInterface] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/exception.rb:29 - def build(exception:, stacktrace_builder:, mechanism:); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/exception.rb:30 + def build(exception:, stacktrace_builder:, mechanism:, data_collection:); end end end @@ -2984,29 +3613,46 @@ module Sentry::Faraday::Connection def initialize(url = T.unsafe(nil), options = T.unsafe(nil)); end end -# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:25 +# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:28 class Sentry::Faraday::Instrumenter include ::Sentry::Utils::HttpTracing - # pkg:gem/sentry-ruby#lib/sentry/faraday.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/faraday.rb:34 def instrument(op_name, env, &block); end private - # pkg:gem/sentry-ruby#lib/sentry/faraday.rb:58 + # pkg:gem/sentry-ruby#lib/sentry/faraday.rb:61 def extract_request_info(env); end end -# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:27 +# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:30 Sentry::Faraday::Instrumenter::BREADCRUMB_CATEGORY = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:26 +# pkg:gem/sentry-ruby#lib/sentry/faraday.rb:29 Sentry::Faraday::Instrumenter::SPAN_ORIGIN = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/faraday.rb:5 Sentry::Faraday::OP_NAME = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:57 +# pkg:gem/sentry-ruby#lib/sentry/utils/filename_cache.rb:4 +class Sentry::FilenameCache + # pkg:gem/sentry-ruby#lib/sentry/utils/filename_cache.rb:7 + def initialize(project_root); end + + # pkg:gem/sentry-ruby#lib/sentry/utils/filename_cache.rb:5 + def cache; end + + # pkg:gem/sentry-ruby#lib/sentry/utils/filename_cache.rb:13 + def compute_filename(abs_path, in_app, strip_backtrace_load_path); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/utils/filename_cache.rb:43 + def longest_load_path(abs_path); end +end + +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:60 Sentry::GLOBALS = T.let(T.unsafe(nil), Array) # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:7 @@ -3014,16 +3660,16 @@ class Sentry::HTTPTransport < ::Sentry::Transport # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:26 def initialize(*args); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:85 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:81 def conn; end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:110 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:106 def do_request(endpoint, headers, body); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:67 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:73 def endpoint; end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:71 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:77 def generate_auth_header; end # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:31 @@ -3031,26 +3677,26 @@ class Sentry::HTTPTransport < ::Sentry::Transport private - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:124 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:120 def handle_rate_limited_response(headers); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:120 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:116 def has_rate_limited_header?(headers); end # @param proxy [String, URI, Hash] Proxy config value passed into `config.transport`. # Accepts either a URI formatted string, URI, or a hash with the `uri`, `user`, and `password` keys. # @return [Hash] Normalized proxy config that will be passed into `Net::HTTP` # - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:185 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:181 def normalize_proxy(proxy); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:150 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:146 def parse_rate_limit_header(rate_limit_header); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:178 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:174 def should_compress?(data); end - # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:199 + # pkg:gem/sentry-ruby#lib/sentry/transport/http_transport.rb:195 def ssl_configuration; end end @@ -3084,140 +3730,160 @@ Sentry::HTTPTransport::USER_AGENT = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/hub.rb:8 class Sentry::Hub include ::Sentry::ArgumentCheckingHelper + include ::Sentry::CallbackHelper - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:17 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:18 def initialize(client, scope); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:263 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:295 def add_breadcrumb(breadcrumb, hint: T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:75 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:82 def bind_client(client); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:196 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:203 def capture_check_in(slug, status, **options); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:230 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:262 def capture_event(event, **options, &block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:155 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:162 def capture_exception(exception, **options, &block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:220 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:227 def capture_log_event(message, **options); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:181 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:188 def capture_message(message, **options, &block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:65 + # Captures a metric and sends it to Sentry + # + # @param name [String] the metric name + # @param type [Symbol] the metric type (:counter, :gauge, :distribution) + # @param value [Numeric] the metric value + # @param unit [String, nil] (optional) the metric unit + # @param attributes [Hash, nil] (optional) additional attributes for the metric + # @param integration [String, Symbol, nil] (optional) registered integration emitting the metric + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:246 + def capture_metric(name:, type:, value:, unit: T.unsafe(nil), attributes: T.unsafe(nil), integration: T.unsafe(nil)); end + + # All clients bound across the hub's scope stack, base layer first. + # @return [Array] + # + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:60 + def clients; end + + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:72 def clone; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:57 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:64 def configuration; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:83 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:90 def configure_scope(&block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:347 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:383 def continue_trace(env, **options); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:53 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:54 def current_client; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:15 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:16 def current_profiler; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:61 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:68 def current_scope; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:292 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:328 def end_session; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:322 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:358 def get_baggage; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:329 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:365 def get_trace_propagation_headers; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:341 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:377 def get_trace_propagation_meta; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:315 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:351 def get_traceparent; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:13 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:14 def last_event_id; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:49 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:50 def new_from_top; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:105 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:112 def pop_scope; end # This is an internal private method # @api private # - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:43 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:44 def profiler_running?; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:94 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:101 def push_scope; end # This is an internal private method # @api private # - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:26 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:27 def start_profiler!(transaction); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:287 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:323 def start_session; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:115 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:122 def start_transaction(transaction: T.unsafe(nil), custom_sampling_context: T.unsafe(nil), instrumenter: T.unsafe(nil), **options); end # This is an internal private method # @api private # - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:35 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:36 def stop_profiler!(transaction); end # this doesn't do anything to the already initialized background worker # but it temporarily disables dispatching events to it # - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:278 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:314 def with_background_worker_disabled(&block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:135 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:142 def with_child_span(instrumenter: T.unsafe(nil), **attributes, &block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:87 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:94 def with_scope(&block); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:306 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:342 def with_session_tracking(&block); end private - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:368 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:403 def current_layer; end end -# pkg:gem/sentry-ruby#lib/sentry/hub.rb:372 +# pkg:gem/sentry-ruby#lib/sentry/hub.rb:407 class Sentry::Hub::Layer - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:376 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:411 def initialize(client, scope); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:373 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:408 def client; end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:373 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:408 def client=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/hub.rb:374 + # pkg:gem/sentry-ruby#lib/sentry/hub.rb:409 def scope; end end -# pkg:gem/sentry-ruby#lib/sentry/hub.rb:11 +# pkg:gem/sentry-ruby#lib/sentry/hub.rb:12 Sentry::Hub::MUTEX = T.let(T.unsafe(nil), Thread::Mutex) # pkg:gem/sentry-ruby#lib/sentry/interface.rb:4 @@ -3225,10 +3891,10 @@ class Sentry::Interface # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/interface.rb:6 - def to_hash; end + def to_h; end end -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:47 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:50 Sentry::LOGGER_PROGNAME = T.let(T.unsafe(nil), String) # @api private @@ -3248,178 +3914,111 @@ class Sentry::LineCache private - # pkg:gem/sentry-ruby#lib/sentry/linecache.rb:38 - def getline(path, n); end - - # pkg:gem/sentry-ruby#lib/sentry/linecache.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/linecache.rb:34 def getlines(path); end - # pkg:gem/sentry-ruby#lib/sentry/linecache.rb:25 - def valid_path?(path); end + # pkg:gem/sentry-ruby#lib/sentry/linecache.rb:28 + def line_at(lines, n); end end # Event type that represents a log entry with its attributes # # @see https://develop.sentry.dev/sdk/telemetry/logs/#log-envelope-item-payload # -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:7 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:9 class Sentry::LogEvent - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:74 - def initialize(configuration: T.unsafe(nil), **options); end + include ::Sentry::Utils::TelemetryAttributes - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:25 + def initialize(**options); end + + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def attributes; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def attributes=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def body; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def body=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 - def configuration; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 - def contexts; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 - def environment; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def level; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def level=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def origin; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def origin=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 - def release; end + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 + def span_id; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 - def server_name; end + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 + def span_id=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def template; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def template=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:21 def timestamp; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:90 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:37 + def to_h; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:48 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 def trace_id; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 - def user; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:46 - def user=(_arg0); end + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:20 + def trace_id=(_arg0); end private - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:180 - def attribute_hash(value); end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:215 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:97 def has_parameters?; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:211 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:93 def is_template?; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:188 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:70 def parameters; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:98 - def serialize(name); end + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:65 + def populate_sentry_attributes!; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:158 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:60 def serialize_attributes; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:132 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:50 def serialize_body; end - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:108 - def serialize_level; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:128 - def serialize_parent_span_id; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:112 - def serialize_sdk_name; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:116 - def serialize_sdk_version; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:154 - def serialize_template; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:120 - def serialize_timestamp; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:124 - def serialize_trace_id; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:150 - def serialize_user_email; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:142 - def serialize_user_id; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:146 - def serialize_user_username; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:207 + # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:89 def template_tokens; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event.rb:184 - def value_type(value); end end -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:11 -Sentry::LogEvent::DEFAULT_ATTRIBUTES = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:10 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:14 Sentry::LogEvent::DEFAULT_PARAMETERS = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:44 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:18 Sentry::LogEvent::LEVELS = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:36 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:16 Sentry::LogEvent::PARAMETER_PREFIX = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:25 -Sentry::LogEvent::SENTRY_ATTRIBUTES = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:13 -Sentry::LogEvent::SERIALIZEABLE_ATTRIBUTES = T.let(T.unsafe(nil), Array) - -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:50 -Sentry::LogEvent::SERIALIZERS = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:72 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:23 Sentry::LogEvent::TOKEN_REGEXP = T.let(T.unsafe(nil), Regexp) -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:8 +# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:12 Sentry::LogEvent::TYPE = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:38 -Sentry::LogEvent::USER_ATTRIBUTES = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/log_event.rb:65 -Sentry::LogEvent::VALUE_TYPES = T.let(T.unsafe(nil), Hash) - # LogEventBuffer buffers log events and sends them to Sentry in a single envelope. # # This is used internally by the `Sentry::Client`. @@ -3427,46 +4026,16 @@ Sentry::LogEvent::VALUE_TYPES = T.let(T.unsafe(nil), Hash) # @!visibility private # # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:11 -class Sentry::LogEventBuffer < ::Sentry::ThreadedPeriodicWorker - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:18 +class Sentry::LogEventBuffer < ::Sentry::TelemetryEventBuffer + # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:15 def initialize(configuration, client); end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:49 - def add_event(event); end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:60 - def empty?; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:34 - def flush; end - - # @!visibility private - # - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:16 - def pending_events; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:47 - def run; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:64 - def size; end - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:29 - def start; end - - private - - # pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:70 - def send_events; end end -# seconds -# -# pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:13 +# pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:12 Sentry::LogEventBuffer::DEFAULT_MAX_EVENTS = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:12 -Sentry::LogEventBuffer::FLUSH_INTERVAL = T.let(T.unsafe(nil), Integer) +# pkg:gem/sentry-ruby#lib/sentry/log_event_buffer.rb:13 +Sentry::LogEventBuffer::MAX_EVENTS_BEFORE_DROP = T.let(T.unsafe(nil), Integer) # pkg:gem/sentry-ruby#lib/sentry/logger.rb:6 class Sentry::Logger < ::Logger @@ -3486,29 +4055,34 @@ Sentry::Logger::PROGNAME = T.let(T.unsafe(nil), String) module Sentry::LoggingHelper # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:20 + # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:17 def log_debug(message); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:10 + # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:7 def log_error(message, exception, debug: T.unsafe(nil)); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:25 + # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:36 + def log_to_stderr(error, message); end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:24 def log_warn(message); end # @!visibility private # - # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:7 + # pkg:gem/sentry-ruby#lib/sentry/utils/logging_helper.rb:31 def sdk_logger; end end -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:43 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:46 Sentry::META = T.let(T.unsafe(nil), Hash) -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:55 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:58 Sentry::MUTEX = T.let(T.unsafe(nil), Thread::Mutex) # pkg:gem/sentry-ruby#lib/sentry/interfaces/mechanism.rb:4 @@ -3545,365 +4119,110 @@ class Sentry::Mechanism < ::Sentry::Interface def type=(_arg0); end end -# pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:4 -module Sentry::Metrics - class << self - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:26 - def distribution(key, value, unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil)); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:36 - def gauge(key, value, unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil)); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:21 - def increment(key, value = T.unsafe(nil), unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil)); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:61 - def log_deprecation; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:31 - def set(key, value, unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil)); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:41 - def timing(key, unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil), &block); end - end -end - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:5 -class Sentry::Metrics::Aggregator < ::Sentry::ThreadedPeriodicWorker - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:36 - def initialize(configuration, client); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:59 - def add(type, key, value, unit: T.unsafe(nil), tags: T.unsafe(nil), timestamp: T.unsafe(nil), stacklevel: T.unsafe(nil)); end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:34 - def buckets; end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:34 - def client; end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:34 - def code_locations; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:91 - def flush(force: T.unsafe(nil)); end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:34 - def flush_shift; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:119 - def run(force: T.unsafe(nil)); end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:34 - def thread; end - - private - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:151 - def get_code_locations!; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:134 - def get_flushable_buckets!(force); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:200 - def get_transaction_name; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:208 - def get_updated_tags(tags); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:225 - def process_bucket(timestamp, key, type, value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:217 - def process_span_aggregator(key, value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:239 - def record_code_location(type, key, unit, timestamp, stacklevel: T.unsafe(nil)); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:184 - def sanitize_key(key); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:192 - def sanitize_tag_key(key); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:196 - def sanitize_tag_value(value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:188 - def sanitize_unit(unit); end - - # serialize buckets to statsd format - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:160 - def serialize_buckets(buckets); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:172 - def serialize_locations(timestamp, locations); end - - # important to sort for key consistency - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:124 - def serialize_tags(tags); end -end - -# this is how far removed from user code in the backtrace we are -# when we record code locations -# -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:11 -Sentry::Metrics::Aggregator::DEFAULT_STACKLEVEL = T.let(T.unsafe(nil), Integer) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:6 -Sentry::Metrics::Aggregator::FLUSH_INTERVAL = T.let(T.unsafe(nil), Integer) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:13 -Sentry::Metrics::Aggregator::KEY_SANITIZATION_REGEX = T.let(T.unsafe(nil), Regexp) +# pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:6 +class Sentry::MetricEvent + include ::Sentry::Utils::TelemetryAttributes -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:26 -Sentry::Metrics::Aggregator::METRIC_TYPES = T.let(T.unsafe(nil), Hash) + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:12 + def initialize(name:, type:, value:, unit: T.unsafe(nil), attributes: T.unsafe(nil), integration_meta: T.unsafe(nil)); end -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:7 -Sentry::Metrics::Aggregator::ROLLUP_IN_SECONDS = T.let(T.unsafe(nil), Integer) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:15 -Sentry::Metrics::Aggregator::TAG_KEY_SANITIZATION_REGEX = T.let(T.unsafe(nil), Regexp) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:17 -Sentry::Metrics::Aggregator::TAG_VALUE_SANITIZATION_MAP = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/aggregator.rb:14 -Sentry::Metrics::Aggregator::UNIT_SANITIZATION_REGEX = T.let(T.unsafe(nil), Regexp) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:5 -class Sentry::Metrics::Configuration - include ::Sentry::ArgumentCheckingHelper - include ::Sentry::LoggingHelper - - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:36 - def initialize(sdk_logger); end - - # Optional Proc, called before emitting a metric to the aggregator. - # Use it to filter keys (return false/nil) or update tags. - # Make sure to return true at the end. - # - # @example - # config.metrics.before_emit = lambda do |key, tags| - # return nil if key == 'foo' - # tags[:bar] = 42 - # tags.delete(:baz) - # true - # end - # - # @return [Proc, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:34 - def before_emit; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:50 - def before_emit=(value); end - - # Enable code location reporting. - # Will be sent once per day. - # True by default. - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:19 - def enable_code_locations; end - - # Enable code location reporting. - # Will be sent once per day. - # True by default. - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:19 - def enable_code_locations=(_arg0); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def attributes; end - # Enable metrics usage. - # Starts a new {Sentry::Metrics::Aggregator} instance to aggregate metrics - # and a thread to aggregate flush every 5 seconds. - # @return [Boolean] - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:13 - def enabled; end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:10 + def attributes=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/metrics/configuration.rb:42 - def enabled=(value); end -end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def integration_meta; end -# pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:5 -class Sentry::Metrics::CounterMetric < ::Sentry::Metrics::Metric - # pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:8 - def initialize(value); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def name; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:12 - def add(value); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def span_id; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:16 - def serialize; end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:10 + def span_id=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:6 - def value; end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def timestamp; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/counter_metric.rb:20 - def weight; end -end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:32 + def to_h; end -# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:13 -Sentry::Metrics::DURATION_UNITS = T.let(T.unsafe(nil), Array) + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def trace_id; end -# pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:5 -class Sentry::Metrics::DistributionMetric < ::Sentry::Metrics::Metric - # pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:8 - def initialize(value); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:10 + def trace_id=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:12 - def add(value); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def type; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:16 - def serialize; end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 + def unit; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:6 + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:9 def value; end - # pkg:gem/sentry-ruby#lib/sentry/metrics/distribution_metric.rb:20 - def weight; end -end - -# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:15 -Sentry::Metrics::FRACTIONAL_UNITS = T.let(T.unsafe(nil), Array) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:5 -class Sentry::Metrics::GaugeMetric < ::Sentry::Metrics::Metric - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:8 - def initialize(value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:17 - def add(value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:6 - def count; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:6 - def last; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:6 - def max; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:6 - def min; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:26 - def serialize; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:6 - def sum; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/gauge_metric.rb:30 - def weight; end -end - -# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:14 -Sentry::Metrics::INFORMATION_UNITS = T.let(T.unsafe(nil), Array) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:5 -class Sentry::Metrics::LocalAggregator - # pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:9 - def initialize; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:13 - def add(key, value); end - - # exposed only for testing - # - # pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:7 - def buckets; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:21 - def to_hash; end - private - # pkg:gem/sentry-ruby#lib/sentry/metrics/local_aggregator.rb:42 - def deserialize_tags(tags); end + # pkg:gem/sentry-ruby#lib/sentry/metric_event.rb:47 + def serialize_attributes; end end -# pkg:gem/sentry-ruby#lib/sentry/metrics/metric.rb:5 -class Sentry::Metrics::Metric - # pkg:gem/sentry-ruby#lib/sentry/metrics/metric.rb:6 - def add(value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/metric.rb:10 - def serialize; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/metric.rb:14 - def weight; end +# MetricEventBuffer buffers metric events and sends them to Sentry in a single envelope. +# +# This is used internally by the `Sentry::Client`. +# +# @!visibility private +# +# pkg:gem/sentry-ruby#lib/sentry/metric_event_buffer.rb:11 +class Sentry::MetricEventBuffer < ::Sentry::TelemetryEventBuffer + # pkg:gem/sentry-ruby#lib/sentry/metric_event_buffer.rb:15 + def initialize(configuration, client); end end -# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:17 -Sentry::Metrics::OP_NAME = T.let(T.unsafe(nil), String) - -# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:18 -Sentry::Metrics::SPAN_ORIGIN = T.let(T.unsafe(nil), String) - -# pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:8 -class Sentry::Metrics::SetMetric < ::Sentry::Metrics::Metric - # pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:11 - def initialize(value); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:15 - def add(value); end +# pkg:gem/sentry-ruby#lib/sentry/metric_event_buffer.rb:12 +Sentry::MetricEventBuffer::DEFAULT_MAX_METRICS = T.let(T.unsafe(nil), Integer) - # pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:19 - def serialize; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:9 - def value; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/set_metric.rb:23 - def weight; end -end +# pkg:gem/sentry-ruby#lib/sentry/metric_event_buffer.rb:13 +Sentry::MetricEventBuffer::MAX_METRICS_BEFORE_DROP = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:5 -module Sentry::Metrics::Timing +# pkg:gem/sentry-ruby#lib/sentry/metrics.rb:6 +module Sentry::Metrics class << self - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:33 - def day; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:45 - def duration_end(start); end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:41 - def duration_start; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:29 - def hour; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:12 - def microsecond; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:17 - def millisecond; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:25 - def minute; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:7 - def nanosecond; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:21 - def second; end - - # pkg:gem/sentry-ruby#lib/sentry/metrics/timing.rb:37 - def week; end + # Increments a counter metric + # @param name [String] the metric name + # @param value [Numeric] the value to increment by (default: 1) + # @param attributes [Hash, nil] additional attributes for the metric (optional) + # @param integration [String, Symbol, nil] registered integration emitting the metric (optional) + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:14 + def count(name, value: T.unsafe(nil), attributes: T.unsafe(nil), integration: T.unsafe(nil)); end + + # Records a distribution metric + # @param name [String] the metric name + # @param value [Numeric] the distribution value + # @param unit [String, nil] the metric unit (optional) + # @param attributes [Hash, nil] additional attributes for the metric (optional) + # @param integration [String, Symbol, nil] registered integration emitting the metric (optional) + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:53 + def distribution(name, value, unit: T.unsafe(nil), attributes: T.unsafe(nil), integration: T.unsafe(nil)); end + + # Records a gauge metric + # @param name [String] the metric name + # @param value [Numeric] the gauge value + # @param unit [String, nil] the metric unit (optional) + # @param attributes [Hash, nil] additional attributes for the metric (optional) + # @param integration [String, Symbol, nil] registered integration emitting the metric (optional) + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry/metrics.rb:33 + def gauge(name, value, unit: T.unsafe(nil), attributes: T.unsafe(nil), integration: T.unsafe(nil)); end end end @@ -3960,16 +4279,16 @@ Sentry::Net::HTTP::URI_PARSER = T.let(T.unsafe(nil), URI::RFC2396_Parser) class Sentry::Profiler include ::Sentry::Profiler::Helpers - # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:20 + # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:18 def initialize(configuration); end # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:51 def active_thread_id; end - # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:16 def event_id; end - # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:16 def sampled; end # Sets initial sampling decision of the profile. @@ -3981,14 +4300,14 @@ class Sentry::Profiler # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:32 def start; end - # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:16 def started; end # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:43 def stop; end # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:84 - def to_hash; end + def to_h; end private @@ -3999,31 +4318,22 @@ class Sentry::Profiler def record_lost_event(reason); end end -# 101 Hz in microseconds -# -# pkg:gem/sentry-ruby#lib/sentry/profiler.rb:14 -Sentry::Profiler::DEFAULT_INTERVAL = T.let(T.unsafe(nil), Float) - # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:7 module Sentry::Profiler::Helpers - # copied from stacktrace.rb since I don't want to touch existing code - # TODO-neel-profiler try to fetch this from stackprof once we patch - # the native extension - # - # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:15 + # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:12 def compute_filename(abs_path, in_app); end # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:8 def in_app?(abs_path); end - # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:36 + # pkg:gem/sentry-ruby#lib/sentry/profiler/helpers.rb:16 def split_module(name); end end -# pkg:gem/sentry-ruby#lib/sentry/profiler.rb:15 +# pkg:gem/sentry-ruby#lib/sentry/profiler.rb:13 Sentry::Profiler::MICRO_TO_NANO_SECONDS = T.let(T.unsafe(nil), Float) -# pkg:gem/sentry-ruby#lib/sentry/profiler.rb:16 +# pkg:gem/sentry-ruby#lib/sentry/profiler.rb:14 Sentry::Profiler::MIN_SAMPLES_REQUIRED = T.let(T.unsafe(nil), Integer) # pkg:gem/sentry-ruby#lib/sentry/profiler.rb:12 @@ -4034,7 +4344,7 @@ Sentry::Profiler::VERSION = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:9 class Sentry::PropagationContext - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:83 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:121 def initialize(scope, env = T.unsafe(nil)); end # This is only for accessing the current baggage variable. @@ -4047,25 +4357,25 @@ class Sentry::PropagationContext # Returns the Baggage from the propagation context or populates as head SDK if empty. # @return [Baggage, nil] # - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:142 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:181 def get_baggage; end # Returns the Dynamic Sampling Context from the baggage. # @return [Hash, nil] # - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:149 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:188 def get_dynamic_sampling_context; end # Returns the trace context that can be used to embed in an Event. # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:126 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:165 def get_trace_context; end # Returns the sentry-trace header from the propagation context. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:136 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:175 def get_traceparent; end # Is there an incoming trace or not? @@ -4106,11 +4416,11 @@ class Sentry::PropagationContext private - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:155 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:194 def populate_head_baggage; end class << self - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:56 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:94 def extract_sample_rand_from_baggage(baggage, trace_id = T.unsafe(nil)); end # Extract the trace_id, parent_span_id and parent_sampled values from a sentry-trace header. @@ -4121,8 +4431,17 @@ class Sentry::PropagationContext # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:43 def extract_sentry_trace(sentry_trace); end - # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:66 + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:104 def generate_sample_rand(baggage, trace_id, parent_sampled); end + + # Determines whether we should continue an incoming trace based on org_id matching + # and the strict_trace_continuation configuration option. + # + # @param incoming_baggage [Baggage] the baggage from the incoming request + # @return [Boolean] + # + # pkg:gem/sentry-ruby#lib/sentry/propagation_context.rb:61 + def should_continue_trace?(incoming_baggage); end end end @@ -4142,21 +4461,54 @@ class Sentry::Rack::CaptureExceptions private + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:80 + def attach_queue_time(transaction, env); end + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:60 def capture_exception(exception, env); end # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:52 def collect_exception(env); end - # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:79 + # Extracts queue time from the request environment. + # Calculates the time (in milliseconds) the request spent waiting in the + # web server queue before processing began. + # + # Subtracts puma.request_body_wait to account for time spent waiting for + # slow clients to send the request body, isolating actual queue time. + # See: https://github.com/puma/puma/blob/master/docs/architecture.md + # + # @param env [Hash] Rack env + # @return [Float, nil] queue time in milliseconds or nil + # + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:109 + def extract_queue_time(env); end + + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:88 def finish_transaction(transaction, status_code); end - # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:86 + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:95 def mechanism; end + # Parses X-Request-Start header value to extract a timestamp. + # Supports multiple formats: + # - Nginx: "t=1234567890.123" (seconds with decimal) + # - Heroku, HAProxy 1.9+: "t=1234567890123456" (microseconds) + # - HAProxy < 1.9: "t=1234567890" (seconds) + # - Generic: "1234567890.123" (raw timestamp) + # + # @param header_value [String] The X-Request-Start header value + # @return [Float, nil] Timestamp in seconds since epoch or nil + # + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:144 + def parse_request_start_header(header_value); end + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:66 def start_transaction(env, scope); end + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:174 + def status_code_for_exception(exception); end + # pkg:gem/sentry-ruby#lib/sentry/rack/capture_exceptions.rb:56 def transaction_op; end end @@ -4250,108 +4602,111 @@ class Sentry::ReleaseDetector # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:7 def detect_release(project_root:, running_on_heroku:); end - # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:19 + # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:20 def detect_release_from_capistrano(project_root); end - # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:34 + # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:39 def detect_release_from_env; end - # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:31 def detect_release_from_git; end - # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:15 def detect_release_from_heroku(running_on_heroku); end + + # pkg:gem/sentry-ruby#lib/sentry/release_detector.rb:35 + def detect_release_from_kamal; end end end -# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:4 +# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:6 class Sentry::RequestInterface < ::Sentry::Interface # @param env [Hash] - # @param send_default_pii [Boolean] + # @param data_collection [DataCollection] # @param rack_env_whitelist [Array] - # @see Configuration#send_default_pii + # @see Configuration#data_collection # @see Configuration#rack_env_whitelist # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:44 - def initialize(env:, send_default_pii:, rack_env_whitelist:); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:43 + def initialize(env:, data_collection:, rack_env_whitelist:); end - # @return [String] + # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:30 def cookies; end - # @return [String] + # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:30 def cookies=(_arg0); end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:25 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:24 def data; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:25 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:24 def data=(_arg0); end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:37 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:36 def env; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:37 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:36 def env=(_arg0); end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:34 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:33 def headers; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:34 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:33 def headers=(_arg0); end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:22 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:21 def method; end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:22 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:21 def method=(_arg0); end - # @return [String] + # @return [String, Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:28 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:27 def query_string; end - # @return [String] + # @return [String, Hash] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:28 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:27 def query_string=(_arg0); end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:19 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:18 def url; end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:19 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:18 def url=(_arg0); end private - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:126 - def filter_and_format_env(env, rack_env_whitelist); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:129 + def filter_and_format_env(env, collection, rack_env_whitelist); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:84 - def filter_and_format_headers(env, send_default_pii); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:81 + def filter_and_format_headers(env, collection); end # In versions < 3, Rack adds in an incorrect HTTP_VERSION key, which causes downstream # to think this is a Version header. Instead, this is mapped to @@ -4359,60 +4714,110 @@ class Sentry::RequestInterface < ::Sentry::Interface # if the request has legitimately sent a Version header themselves. # See: https://github.com/rack/rack/blob/028438f/lib/rack/handler/cgi.rb#L29 # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:119 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:116 def is_server_protocol?(key, value, protocol_version); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:108 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:106 def is_skippable_header?(key); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:71 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:59 def read_data_from(request); end + + class << self + # pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:122 + def rack_3_or_above?; end + end end -# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:6 +# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:8 Sentry::RequestInterface::CONTENT_HEADERS = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:7 -Sentry::RequestInterface::IP_HEADERS = T.let(T.unsafe(nil), Array) +# Regex to detect lowercase chars — match? is allocation-free (no MatchData/String) +# +# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:11 +Sentry::RequestInterface::LOWERCASE_PATTERN = T.let(T.unsafe(nil), Regexp) # See Sentry server default limits at # https://github.com/getsentry/sentry/blob/master/src/sentry/conf/server.py # -# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:16 +# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:15 Sentry::RequestInterface::MAX_BODY_LIMIT = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:5 +# pkg:gem/sentry-ruby#lib/sentry/interfaces/request.rb:7 Sentry::RequestInterface::REQUEST_ID_HEADERS = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:49 +# Sends Crons check-ins for rufus-scheduler `cron`, `every` and `interval` jobs. +# Enable with `config.enabled_patches << :rufus_scheduler`. +# +# pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:6 +module Sentry::RufusScheduler + class << self + # Returns [slug, monitor_config], or nil for jobs that aren't monitored (like `at`/`in`). + # + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:50 + def monitor_for(job); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:94 + def monitor_config_for(job); end + + # sidekiq-scheduler jobs are monitored by the :sidekiq_scheduler patch. + # + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:70 + def sidekiq_scheduler_job?(job); end + + # Job ids are random per process and block paths change between deploys, + # so the slug comes from `name:`, then the handler method or class. + # + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:77 + def slug_for(job); end + end +end + +# pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:7 +module Sentry::RufusScheduler::Job + protected + + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:10 + def do_call(time, do_rescue); end + + private + + # pkg:gem/sentry-ruby#lib/sentry/rufus_scheduler.rb:38 + def sentry_monitor; end +end + +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:52 Sentry::SENTRY_TRACE_HEADER_NAME = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/scope.rb:9 +# pkg:gem/sentry-ruby#lib/sentry/scope.rb:10 class Sentry::Scope include ::Sentry::ArgumentCheckingHelper + include ::Sentry::CallbackHelper # @param max_breadcrumbs [Integer] the maximum number of breadcrumbs to be stored in the scope. # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:36 def initialize(max_breadcrumbs: T.unsafe(nil)); end # Add a new attachment to the scope. # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:305 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:380 def add_attachment(**opts); end # Adds the breadcrumb to the scope's breadcrumbs buffer. # @param breadcrumb [Breadcrumb] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:95 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:127 def add_breadcrumb(breadcrumb); end # Adds a new event processor [Proc] to the scope. # @param block [Proc] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:293 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:368 def add_event_processor(&block); end # Applies stored attributes and event processors to the given event. @@ -4420,85 +4825,129 @@ class Sentry::Scope # @param hint [Hash] the hint data that'll be passed to event processors. # @return [Event] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:48 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:51 def apply_to_event(event, hint = T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # A leaner version of apply_to_event that applies to + # lightweight payloads like Logs and Metrics. + # + # Adds trace_id, span_id, user from the scope and default attributes from configuration. + # + # @param telemetry [MetricEvent, LogEvent] the telemetry event to apply scope context to + # @return [MetricEvent, LogEvent] the telemetry event with scope context applied + # + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:90 + def apply_to_telemetry(telemetry); end + + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def attachments; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 + def attributes; end + + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def breadcrumbs; end # Resets the scope's attributes to defaults. # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:40 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:43 def clear; end # Clears the scope's breadcrumbs buffer # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:101 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:133 def clear_breadcrumbs; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def contexts; end # @return [Scope] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:106 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:138 def dup; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def event_processors; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def extra; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def fingerprint; end # Generate a new propagation context either from the incoming env headers or from scratch. # @param env [Hash, nil] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:300 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:375 def generate_propagation_context(env = T.unsafe(nil)); end # Returns the associated Span object. # @return [Span, nil] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:277 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:338 def get_span; end + # Returns the trace context for this scope. + # Prioritizes external propagation context (from OTel) over local propagation context. + # @return [Hash] + # + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:345 + def get_trace_context; end + # Returns the associated Transaction object. # @return [Transaction, nil] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:271 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:332 def get_transaction; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def level; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def propagation_context; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def rack_env; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # Removes a single attribute from the scope. No-op if the attribute is not set. + # @param key [String, Symbol] + # @return [void] + # + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:297 + def remove_attribute(key); end + + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def session; end + # Sets a single attribute on the scope. + # @param key [String, Symbol] + # @param value [Object] + # @param unit [String, Symbol, nil] an optional measurement unit for the value + # @return [Hash] + # + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:289 + def set_attribute(key, value, unit: T.unsafe(nil)); end + + # Updates the scope's attributes by merging with the old value. + # @param attributes_hash [Hash] + # @return [Hash] + # + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:278 + def set_attributes(attributes_hash); end + # @!macro set_context # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:235 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:270 def set_context(key, value); end # Updates the scope's contexts attribute by merging with the old value. # @param contexts [Hash] # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:223 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:258 def set_contexts(contexts_hash); end # Adds a new key-value pair to current extras. @@ -4506,47 +4955,47 @@ class Sentry::Scope # @param value [Object] # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:202 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:237 def set_extra(key, value); end # @!macro set_extras # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:193 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:228 def set_extras(extras_hash); end # Sets the scope's fingerprint attribute. # @param fingerprint [Array] # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:284 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:359 def set_fingerprint(fingerprint); end # Sets the scope's level attribute. # @param level [String, Symbol] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:243 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:304 def set_level(level); end # Sets the scope's rack_env attribute. # @param env [Hash] # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:173 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:208 def set_rack_env(env); end # Sets the currently active session on the scope. # @param session [Session, nil] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:259 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:320 def set_session(session); end # Sets the scope's span attribute. # @param span [Span] # @return [Span] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:181 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:216 def set_span(span); end # Adds a new key-value pair to current tags. @@ -4554,12 +5003,12 @@ class Sentry::Scope # @param value [Object] # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:216 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:251 def set_tag(key, value); end # @!macro set_tags # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:207 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:242 def set_tags(tags_hash); end # Appends a new transaction name to the scope. @@ -4567,35 +5016,35 @@ class Sentry::Scope # @param transaction_name [String] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:251 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:312 def set_transaction_name(transaction_name, source: T.unsafe(nil)); end # @!macro set_user # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:187 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:222 def set_user(user_hash); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def span; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def tags; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def transaction_name; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def transaction_source; end # These are high cardinality and thus bad. # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:265 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:326 def transaction_source_low_quality?; end # Updates the scope's data from the given options. # @param contexts [Hash] - # @param extras [Hash] + # @param extra [Hash] # @param tags [Hash] # @param user [Hash] # @param level [String, Symbol] @@ -4603,72 +5052,75 @@ class Sentry::Scope # @param attachments [Array] # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:149 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:184 def update_from_options(contexts: T.unsafe(nil), extra: T.unsafe(nil), tags: T.unsafe(nil), user: T.unsafe(nil), level: T.unsafe(nil), fingerprint: T.unsafe(nil), attachments: T.unsafe(nil), **options); end # Updates the scope's data from a given scope. # @param scope [Scope] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:126 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:160 def update_from_scope(scope); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:30 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:33 def user; end protected - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def attachments=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 + def attributes=(_arg0); end + + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def breadcrumbs=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def contexts=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def event_processors=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def extra=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def fingerprint=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def level=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def propagation_context=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def rack_env=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def session=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def span=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def tags=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def transaction_name=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def transaction_source=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:313 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:388 def user=(_arg0); end private - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:317 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:392 def set_default_value; end - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:335 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:411 def set_new_breadcrumb_buffer; end class << self @@ -4679,28 +5131,28 @@ class Sentry::Scope # @param block [Proc] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:375 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:451 def add_global_event_processor(&block); end # Returns the global event processors array. # @return [Array] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:365 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:441 def global_event_processors; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:341 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:417 def os_context; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/scope.rb:356 + # pkg:gem/sentry-ruby#lib/sentry/scope.rb:432 def runtime_context; end end end -# pkg:gem/sentry-ruby#lib/sentry/scope.rb:12 +# pkg:gem/sentry-ruby#lib/sentry/scope.rb:14 Sentry::Scope::ATTRIBUTES = T.let(T.unsafe(nil), Array) # pkg:gem/sentry-ruby#lib/sentry/session.rb:4 @@ -4753,14 +5205,17 @@ class Sentry::SessionFlusher < ::Sentry::ThreadedPeriodicWorker private - # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:58 + # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:65 def attrs; end - # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:38 + # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:45 def init_aggregates(aggregation_key); end - # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:44 + # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:51 def pending_envelope; end + + # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:38 + def reset_if_forked; end end # pkg:gem/sentry-ruby#lib/sentry/session_flusher.rb:5 @@ -4786,7 +5241,7 @@ class Sentry::SingleExceptionInterface < ::Sentry::Interface def thread_id; end # pkg:gem/sentry-ruby#lib/sentry/interfaces/single_exception.rb:35 - def to_hash; end + def to_h; end # pkg:gem/sentry-ruby#lib/sentry/interfaces/single_exception.rb:14 def type; end @@ -4802,7 +5257,7 @@ class Sentry::SingleExceptionInterface < ::Sentry::Interface # also see `StacktraceBuilder.build`. # # pkg:gem/sentry-ruby#lib/sentry/interfaces/single_exception.rb:44 - def build_with_stacktrace(exception:, stacktrace_builder:, mechanism:); end + def build_with_stacktrace(exception:, stacktrace_builder:, mechanism:, data_collection:); end end end @@ -4818,205 +5273,200 @@ Sentry::SingleExceptionInterface::PROBLEMATIC_LOCAL_VALUE_REPLACEMENT = T.let(T. # pkg:gem/sentry-ruby#lib/sentry/interfaces/single_exception.rb:9 Sentry::SingleExceptionInterface::SKIP_INSPECTION_ATTRIBUTES = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:8 +# pkg:gem/sentry-ruby#lib/sentry/exceptions.rb:10 +class Sentry::SizeExceededError < ::Sentry::ExternalError; end + +# pkg:gem/sentry-ruby#lib/sentry/span.rb:7 class Sentry::Span - # pkg:gem/sentry-ruby#lib/sentry/span.rb:118 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:121 def initialize(transaction:, description: T.unsafe(nil), op: T.unsafe(nil), status: T.unsafe(nil), trace_id: T.unsafe(nil), span_id: T.unsafe(nil), parent_span_id: T.unsafe(nil), sampled: T.unsafe(nil), start_timestamp: T.unsafe(nil), timestamp: T.unsafe(nil), origin: T.unsafe(nil)); end # Span data # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:103 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:106 def data; end - # pkg:gem/sentry-ruby#lib/sentry/span.rb:247 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:245 def deep_dup; end # Span description # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:91 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:94 def description; end # Finishes the span by adding a timestamp. # @return [self] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:148 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:151 def finish(end_timestamp: T.unsafe(nil)); end # Returns the Dynamic Sampling Context from the transaction baggage. # @return [Hash, nil] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:171 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:174 def get_dynamic_sampling_context; end # Returns the span's context that can be used to embed in an Event. # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:199 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:197 def get_trace_context; end - # Collects gauge metrics on the span for metric summaries. - # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:312 - def metrics_local_aggregator; end - - # pkg:gem/sentry-ruby#lib/sentry/span.rb:316 - def metrics_summary; end - # Span operation # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:94 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:97 def op; end # Span origin that tracks what kind of instrumentation created a span # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:106 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:109 def origin; end # Span parent's span_id. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:79 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:82 def parent_span_id; end # Sampling result of the span. # @return [Boolean, nil] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:82 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:85 def sampled; end # Inserts a key-value pair to the span's data payload. # @param key [String, Symbol] # @param value [Object] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:294 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:292 def set_data(key, value); end # Sets the span's description. # @param description [String] description of the span. # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:259 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:257 def set_description(description); end # Sets the span's status with given http status code. # @param status_code [String] example: "500". # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:278 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:276 def set_http_status(status_code); end # Sets the span's operation. # @param op [String] operation of the span. # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:253 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:251 def set_op(op); end # Sets the origin of the span. # @param origin [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:307 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:305 def set_origin(origin); end # Sets the span's status. # @param status [String] status of the span. # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:266 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:264 def set_status(status); end # Sets a tag to the span. # @param key [String, Symbol] # @param value [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:301 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:299 def set_tag(key, value); end # Sets the span's finish timestamp. # @param timestamp [Float] finished time in float format (most precise). # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:272 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:270 def set_timestamp(timestamp); end # An uuid that can be used to identify the span. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:76 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:79 def span_id; end # The SpanRecorder the current span belongs to. # SpanRecorder holds all spans under the same Transaction object (including the Transaction itself). # @return [SpanRecorder] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:111 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:114 def span_recorder; end # The SpanRecorder the current span belongs to. # SpanRecorder holds all spans under the same Transaction object (including the Transaction itself). # @return [SpanRecorder] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:111 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:114 def span_recorder=(_arg0); end # Starts a child span with given attributes. # @param attributes [Hash] the attributes for the child span. # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:214 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:212 def start_child(**attributes); end # Starting timestamp of the span. # @return [Float] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:85 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:88 def start_timestamp; end # Span status # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:97 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:100 def status; end # Span tags # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:100 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:103 def tags; end # Finishing timestamp of the span. # @return [Float] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:88 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:91 def timestamp; end # Generates a W3C Baggage header string for distributed tracing # from the incoming baggage stored on the transaction. # @return [String, nil] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:165 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:168 def to_baggage; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:176 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/span.rb:179 + def to_h; end # Generates a trace string that can be used to connect other transactions. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:155 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:158 def to_sentry_trace; end # An uuid that can be used to identify a trace. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:73 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:76 def trace_id; end # The Transaction object the Span belongs to. # Every span needs to be attached to a Transaction and their child spans will also inherit the same transaction. # @return [Transaction] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:116 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:119 def transaction; end # Starts a child span, yield it to the given block, and then finish the span after the block is executed. @@ -5029,17 +5479,17 @@ class Sentry::Span # @param block [Proc] the action to be recorded in the child span. # @yieldparam child_span [Span] # - # pkg:gem/sentry-ruby#lib/sentry/span.rb:235 + # pkg:gem/sentry-ruby#lib/sentry/span.rb:233 def with_child_span(**attributes, &block); end end -# pkg:gem/sentry-ruby#lib/sentry/span.rb:69 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:72 Sentry::Span::DEFAULT_SPAN_ORIGIN = T.let(T.unsafe(nil), String) # We will try to be consistent with OpenTelemetry on this front going forward. # https://develop.sentry.dev/sdk/performance/span-data-conventions/ # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:11 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:10 module Sentry::Span::DataConventions; end # The name of the database being accessed. @@ -5047,31 +5497,36 @@ module Sentry::Span::DataConventions; end # (even if the command fails). # Example: myDatabase # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:25 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:24 Sentry::Span::DataConventions::DB_NAME = T.let(T.unsafe(nil), String) # An identifier for the database management system (DBMS) product being used. # Example: postgresql # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:19 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:18 Sentry::Span::DataConventions::DB_SYSTEM = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:44 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:43 Sentry::Span::DataConventions::FILEPATH = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:46 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:45 Sentry::Span::DataConventions::FUNCTION = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:15 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:14 Sentry::Span::DataConventions::HTTP_METHOD = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:14 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:13 Sentry::Span::DataConventions::HTTP_QUERY = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:13 +# Time in ms the request spent in the server queue before processing began. +# +# pkg:gem/sentry-ruby#lib/sentry/span.rb:55 +Sentry::Span::DataConventions::HTTP_QUEUE_TIME_MS = T.let(T.unsafe(nil), String) + +# pkg:gem/sentry-ruby#lib/sentry/span.rb:12 Sentry::Span::DataConventions::HTTP_STATUS_CODE = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:45 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:44 Sentry::Span::DataConventions::LINENO = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/span.rb:50 @@ -5086,38 +5541,41 @@ Sentry::Span::DataConventions::MESSAGING_MESSAGE_RECEIVE_LATENCY = T.let(T.unsaf # pkg:gem/sentry-ruby#lib/sentry/span.rb:52 Sentry::Span::DataConventions::MESSAGING_MESSAGE_RETRY_COUNT = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:47 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:48 +Sentry::Span::DataConventions::MESSAGING_SYSTEM = T.let(T.unsafe(nil), String) + +# pkg:gem/sentry-ruby#lib/sentry/span.rb:46 Sentry::Span::DataConventions::NAMESPACE = T.let(T.unsafe(nil), String) # Name of the database host. # Example: example.com # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:29 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:28 Sentry::Span::DataConventions::SERVER_ADDRESS = T.let(T.unsafe(nil), String) # Logical server port number # Example: 80; 8080; 443 # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:33 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:32 Sentry::Span::DataConventions::SERVER_PORT = T.let(T.unsafe(nil), String) # Physical server IP address or Unix socket address. # Example: 10.5.3.2 # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:37 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:36 Sentry::Span::DataConventions::SERVER_SOCKET_ADDRESS = T.let(T.unsafe(nil), String) # Physical server port. # Recommended: If different than server.port. # Example: 16456 # -# pkg:gem/sentry-ruby#lib/sentry/span.rb:42 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:41 Sentry::Span::DataConventions::SERVER_SOCKET_PORT = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:12 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:11 Sentry::Span::DataConventions::URL = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/span.rb:55 +# pkg:gem/sentry-ruby#lib/sentry/span.rb:58 Sentry::Span::STATUS_MAP = T.let(T.unsafe(nil), Hash) # Designed to just report events to Spotlight in development. @@ -5127,7 +5585,7 @@ class Sentry::SpotlightTransport < ::Sentry::HTTPTransport # pkg:gem/sentry-ruby#lib/sentry/transport/spotlight_transport.rb:12 def initialize(configuration); end - # Similar to HTTPTransport connection, but does not support Proxy and SSL + # Similar to HTTPTransport connection, but does not support Proxy # # pkg:gem/sentry-ruby#lib/sentry/transport/spotlight_transport.rb:43 def conn; end @@ -5148,7 +5606,7 @@ Sentry::SpotlightTransport::DEFAULT_SIDECAR_URL = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/transport/spotlight_transport.rb:10 Sentry::SpotlightTransport::MAX_FAILED_REQUESTS = T.let(T.unsafe(nil), Integer) -# pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:4 +# pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:6 class Sentry::StacktraceBuilder # @param project_root [String] # @param app_dirs_pattern [Regexp, nil] @@ -5163,17 +5621,17 @@ class Sentry::StacktraceBuilder # @see Configuration#backtrace_cleanup_callback # @see Configuration#strip_backtrace_load_path # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:35 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:40 def initialize(project_root:, app_dirs_pattern:, linecache:, context_lines:, backtrace_cleanup_callback: T.unsafe(nil), strip_backtrace_load_path: T.unsafe(nil)); end # @return [Regexp, nil] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:9 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:11 def app_dirs_pattern; end # @return [Proc, nil] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:20 def backtrace_cleanup_callback; end # Generates a StacktraceInterface with the given backtrace. @@ -5192,41 +5650,40 @@ class Sentry::StacktraceBuilder # @yieldparam frame [StacktraceInterface::Frame] # @return [StacktraceInterface] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:66 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:73 def build(backtrace:, &frame_callback); end # @return [Integer, nil] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:15 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:17 def context_lines; end - # @return [LineCache] + # @return [FilenameCache] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:12 - def linecache; end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:26 + def filename_cache; end - # Get the code location hash for a single line for where metrics where added. - # @return [Hash] + # @return [LineCache] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:80 - def metrics_code_location(unparsed_line); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:14 + def linecache; end # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:6 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:8 def project_root; end # @return [Boolean] # - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:21 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:23 def strip_backtrace_load_path; end private - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:88 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:95 def convert_parsed_line_into_frame(line); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:94 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace_builder.rb:101 def parse_backtrace_lines(backtrace); end end @@ -5250,7 +5707,7 @@ class Sentry::StacktraceInterface # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:14 - def to_hash; end + def to_h; end end # Not actually an interface, but I want to use the same style @@ -5258,7 +5715,7 @@ end # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:26 class Sentry::StacktraceInterface::Frame < ::Sentry::Interface # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:30 - def initialize(project_root, line, strip_backtrace_load_path = T.unsafe(nil)); end + def initialize(project_root, line, strip_backtrace_load_path = T.unsafe(nil), filename_cache: T.unsafe(nil)); end # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 def abs_path; end @@ -5266,9 +5723,6 @@ class Sentry::StacktraceInterface::Frame < ::Sentry::Interface # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 def abs_path=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:46 - def compute_filename; end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 def context_line; end @@ -5317,13 +5771,13 @@ class Sentry::StacktraceInterface::Frame < ::Sentry::Interface # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 def pre_context=(_arg0); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:62 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:43 def set_context(linecache, context_lines); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:69 - def to_hash(*args); end + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:50 + def to_h(*args); end - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:42 + # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:39 def to_s; end # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 @@ -5331,14 +5785,6 @@ class Sentry::StacktraceInterface::Frame < ::Sentry::Interface # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:27 def vars=(_arg0); end - - private - - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:84 - def longest_load_path; end - - # pkg:gem/sentry-ruby#lib/sentry/interfaces/stacktrace.rb:80 - def under_project_root?; end end # Ruby Logger support Add commentMore actions @@ -5346,14 +5792,16 @@ end # # pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:6 module Sentry::StdLibLogger - # pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:17 + include ::Sentry::CallbackHelper + + # pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:19 def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end end -# pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:15 +# pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:17 Sentry::StdLibLogger::ORIGIN = T.let(T.unsafe(nil), String) -# pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:7 +# pkg:gem/sentry-ruby#lib/sentry/std_lib_logger.rb:9 Sentry::StdLibLogger::SEVERITY_MAP = T.let(T.unsafe(nil), Hash) # The StructuredLogger class implements Sentry's SDK telemetry logs protocol. @@ -5485,51 +5933,152 @@ end # pkg:gem/sentry-ruby#lib/sentry/structured_logger.rb:35 Sentry::StructuredLogger::LEVELS = T.let(T.unsafe(nil), Hash) -# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:821 +# pkg:gem/sentry-ruby#lib/sentry/configuration.rb:974 class Sentry::StructuredLoggingConfiguration - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:830 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:983 def initialize; end # File path for DebugStructuredLogger to log events to # @return [String, Pathname, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:824 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:977 def file_path; end # File path for DebugStructuredLogger to log events to # @return [String, Pathname, nil] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:824 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:977 def file_path=(_arg0); end # The class to use as a structured logger. # @return [Class] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:828 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:981 def logger_class; end # The class to use as a structured logger. # @return [Class] # - # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:828 + # pkg:gem/sentry-ruby#lib/sentry/configuration.rb:981 def logger_class=(_arg0); end end -# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:53 +# pkg:gem/sentry-ruby#lib/sentry-ruby.rb:56 Sentry::THREAD_LOCAL = T.let(T.unsafe(nil), Symbol) +# TelemetryEventBuffer is a base class for buffering telemetry events (logs, metrics, etc.) +# and sending them to Sentry in a single envelope. +# +# This is used internally by the `Sentry::Client`. +# +# @!visibility private +# +# pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:14 +class Sentry::TelemetryEventBuffer < ::Sentry::ThreadedPeriodicWorker + include ::Sentry::CallbackHelper + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:23 + def initialize(configuration, client, event_class:, max_items:, max_items_before_drop:, envelope_type:, envelope_content_type:, before_send:); end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:54 + def add_item(item); end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:94 + def clear!; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:21 + def data_category; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:86 + def empty?; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:21 + def envelope_type; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:44 + def flush; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:21 + def pending_items; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:50 + def run; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:90 + def size; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:21 + def thread; end + + private + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:108 + def flush_pending_items; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:100 + def reset_if_forked; end + + # pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:124 + def send_items(pending_items); end +end + +# pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:17 +Sentry::TelemetryEventBuffer::FLUSH_INTERVAL = T.let(T.unsafe(nil), Integer) + +# seconds +# +# pkg:gem/sentry-ruby#lib/sentry/telemetry_event_buffer.rb:18 +Sentry::TelemetryEventBuffer::FLUSH_TIMEOUT = T.let(T.unsafe(nil), Integer) + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:4 class Sentry::ThreadedPeriodicWorker include ::Sentry::LoggingHelper - # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:7 + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:10 def initialize(sdk_logger, interval); end - # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:25 def ensure_thread; end - # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:32 + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:8 + def idle_condition; end + + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:67 def kill; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:8 + def thread; end + + # @!visibility private + # + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:8 + def thread_mutex; end + + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:52 + def wait_until_idle(timeout = T.unsafe(nil)); end + + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:42 + def wake; end + + private + + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:86 + def reset_if_forked; end + + # pkg:gem/sentry-ruby#lib/sentry/threaded_periodic_worker.rb:100 + def worker_loop; end end # pkg:gem/sentry-ruby#lib/sentry/interfaces/threads.rb:4 @@ -5543,7 +6092,7 @@ class Sentry::ThreadsInterface # @return [Hash] # # pkg:gem/sentry-ruby#lib/sentry/interfaces/threads.rb:16 - def to_hash; end + def to_h; end class << self # Builds the ThreadsInterface with given backtrace and stacktrace_builder. @@ -5562,90 +6111,80 @@ end # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:9 class Sentry::Transaction < ::Sentry::Span include ::Sentry::LoggingHelper + include ::Sentry::CallbackHelper - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:65 - def initialize(hub:, name: T.unsafe(nil), source: T.unsafe(nil), parent_sampled: T.unsafe(nil), baggage: T.unsafe(nil), sample_rand: T.unsafe(nil), **options); end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:57 + def initialize(name: T.unsafe(nil), source: T.unsafe(nil), parent_sampled: T.unsafe(nil), baggage: T.unsafe(nil), sample_rand: T.unsafe(nil), **options); end # The parsed incoming W3C baggage header. # This is only for accessing the current baggage variable. # Please use the #get_baggage method for interfacing outside this class. # @return [Baggage, nil] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:37 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:35 def baggage; end - # @deprecated Use Sentry.configuration instead. - # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:47 - def configuration; end - # Additional contexts stored directly on the transaction object. # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:55 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:47 def contexts; end # @return [Transaction] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:184 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:106 def deep_dup; end # The effective sample rate at which this transaction was sampled. # @return [Float, nil] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:51 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:43 def effective_sample_rate; end # Finishes the transaction's recording and send it to Sentry. - # @param hub [Hub] the hub that'll send this transaction. (Deprecated) # @return [TransactionEvent] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:270 - def finish(hub: T.unsafe(nil), end_timestamp: T.unsafe(nil)); end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:198 + def finish(end_timestamp: T.unsafe(nil)); end # Get the existing frozen incoming baggage # or populate one with sentry- items as the head SDK. # @return [Baggage] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:304 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:232 def get_baggage; end - # @deprecated Use Sentry.get_current_hub instead. - # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:44 - def hub; end - # The measurements added to the transaction. # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:41 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:39 def measurements; end # The name of the transaction. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:23 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:21 def name; end - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:176 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:98 def parent_sample_rate; end # The sampling decision of the parent transaction, which will be considered when making the current transaction's sampling decision. # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:29 def parent_sampled; end # The Profiler instance for this transaction. # @return [Profiler] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:59 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:51 def profiler; end # Sample rand value generated from trace_id # @return [String] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:63 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:55 def sample_rand; end # Set contexts directly on the transaction. @@ -5653,14 +6192,14 @@ class Sentry::Transaction < ::Sentry::Span # @param value [Object] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:323 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:251 def set_context(key, value); end # Sets initial sampling decision of the transaction. # @param sampling_context [Hash] a context Hash that'll be passed to `traces_sampler` (if provided). # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:209 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:131 def set_initial_sample_decision(sampling_context:); end # Sets a custom measurement on the transaction. @@ -5669,7 +6208,7 @@ class Sentry::Transaction < ::Sentry::Span # @param unit [String] unit of the measurement # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:202 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:124 def set_measurement(name, value, unit = T.unsafe(nil)); end # Set the transaction name directly. @@ -5678,108 +6217,85 @@ class Sentry::Transaction < ::Sentry::Span # @param source [Symbol] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:314 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:242 def set_name(name, source: T.unsafe(nil)); end # The source of the transaction name. # @return [Symbol] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:27 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:25 def source; end # These are high cardinality and thus bad # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:337 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:265 def source_low_quality?; end # Start the profiler. # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:329 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:257 def start_profiler!; end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:163 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:85 + def to_h; end protected - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:343 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:276 + def init_profiler; end + + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:271 def init_span_recorder(limit = T.unsafe(nil)); end private - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:350 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:287 def generate_transaction_description; end - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:357 - def populate_head_baggage; end - - class << self - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:157 - def extract_sample_rand_from_baggage(baggage, trace_id, parent_sampled); end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:326 + def get_http_status_code; end - # @deprecated Use Sentry::PropagationContext.extract_sentry_trace instead. - # @return [Array, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:153 - def extract_sentry_trace(sentry_trace); end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:314 + def ignore_status_code?; end - # @deprecated use Sentry.continue_trace instead. - # - # Initalizes a Transaction instance with a Sentry trace string from another transaction (usually from an external request). - # - # The original transaction will become the parent of the new Transaction instance. And they will share the same `trace_id`. - # - # The child transaction will also store the parent's sampling decision in its `parent_sampled` attribute. - # @param sentry_trace [String] the trace string from the previous transaction. - # @param baggage [String, nil] the incoming baggage header string. - # @param hub [Hub] the hub that'll be responsible for sending this transaction when it's finished. - # @param options [Hash] the options you want to use to initialize a Transaction instance. - # @return [Transaction, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:117 - def from_sentry_trace(sentry_trace, baggage: T.unsafe(nil), hub: T.unsafe(nil), **options); end - end + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:294 + def populate_head_baggage; end end -# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:14 -Sentry::Transaction::MESSAGE_PREFIX = T.let(T.unsafe(nil), String) - -# @deprecated Use Sentry::PropagationContext::SENTRY_TRACE_REGEXP instead. -# # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:11 -Sentry::Transaction::SENTRY_TRACE_REGEXP = T.let(T.unsafe(nil), Regexp) +Sentry::Transaction::MESSAGE_PREFIX = T.let(T.unsafe(nil), String) # https://develop.sentry.dev/sdk/event-payloads/transaction/#transaction-annotations # -# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:17 +# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:14 Sentry::Transaction::SOURCES = T.let(T.unsafe(nil), Array) -# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:374 +# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:330 class Sentry::Transaction::SpanRecorder - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:377 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:333 def initialize(max_length); end - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:382 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:338 def add(span); end - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:375 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:331 def max_length; end - # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:375 + # pkg:gem/sentry-ruby#lib/sentry/transaction.rb:331 def spans; end end -# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:13 +# pkg:gem/sentry-ruby#lib/sentry/transaction.rb:10 Sentry::Transaction::UNLABELD_NAME = T.let(T.unsafe(nil), String) # TransactionEvent represents events that carry transaction data (type: "transaction"). # # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:5 class Sentry::TransactionEvent < ::Sentry::Event - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:23 + # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:20 def initialize(transaction:, **options); end # @return [Hash] @@ -5792,16 +6308,6 @@ class Sentry::TransactionEvent < ::Sentry::Event # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:12 def measurements=(_arg0); end - # @return [Hash, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:21 - def metrics_summary; end - - # @return [Hash, nil] - # - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:21 - def metrics_summary=(_arg0); end - # @return [Hash, nil] # # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:18 @@ -5831,21 +6337,21 @@ class Sentry::TransactionEvent < ::Sentry::Event # @param time [Time, Float] # @return [void] # - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:42 def start_timestamp=(time); end # @return [Hash] # - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:51 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:47 + def to_h; end private - # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:64 + # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:59 def populate_profile(transaction); end end -# pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:62 +# pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:57 Sentry::TransactionEvent::EMPTY_PROFILE = T.let(T.unsafe(nil), Hash) # pkg:gem/sentry-ruby#lib/sentry/transaction_event.rb:6 @@ -5855,51 +6361,51 @@ Sentry::TransactionEvent::TYPE = T.let(T.unsafe(nil), String) class Sentry::Transport include ::Sentry::LoggingHelper - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:30 def initialize(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:110 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:115 def any_rate_limited?; end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:27 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:28 def discarded_events; end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:114 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:119 def envelope_from_event(event); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:175 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:182 def flush; end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:88 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:93 def is_rate_limited?(data_category); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:27 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:28 def last_client_report_sent; end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:27 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:28 def rate_limits; end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:168 - def record_lost_event(reason, data_category, num: T.unsafe(nil)); end + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:170 + def record_lost_event(reason, data_category, num: T.unsafe(nil), num_bytes: T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:42 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:43 def send_data(data, options = T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:53 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:54 def send_envelope(envelope); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:46 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:47 def send_event(event); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:66 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:71 def serialize_envelope(envelope); end private - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:186 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:193 def fetch_pending_client_report(force: T.unsafe(nil)); end - # pkg:gem/sentry-ruby#lib/sentry/transport.rb:208 + # pkg:gem/sentry-ruby#lib/sentry/transport.rb:215 def reject_rate_limited_items(envelope); end end @@ -6113,14 +6619,20 @@ Sentry::Utils::DELIMITER = T.let(T.unsafe(nil), String) # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:5 module Sentry::Utils::EncodingHelper class << self - # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:6 + # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:8 def encode_to_utf_8(value); end - # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:15 + # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:23 + def safe_utf_8_string(value); end + + # pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:17 def valid_utf_8?(value); end end end +# pkg:gem/sentry-ruby#lib/sentry/utils/encoding_helper.rb:6 +Sentry::Utils::EncodingHelper::MALFORMED_STRING = T.let(T.unsafe(nil), String) + # pkg:gem/sentry-ruby#lib/sentry/utils/env_helper.rb:5 module Sentry::Utils::EnvHelper class << self @@ -6143,32 +6655,38 @@ module Sentry::Utils::ExceptionCauseChain end end -# pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:5 +# pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:7 module Sentry::Utils::HttpTracing - # Kindly borrowed from Rack::Utils - # - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:41 - def build_nested_query(value, prefix = T.unsafe(nil)); end + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:8 + def filter_query_params(query); end - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:33 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:67 def propagate_trace?(url); end - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:18 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:52 def record_sentry_breadcrumb(request_info, response_status); end - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:29 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:63 def record_sentry_breadcrumb?; end - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:14 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:42 def set_propagation_headers(req); end - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:6 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:34 def set_span_info(sentry_span, request_info, response_status); end private - # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:61 + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:83 def get_level(status); end + + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:77 + def url_with_query(request_info); end + + class << self + # pkg:gem/sentry-ruby#lib/sentry/utils/http_tracing.rb:28 + def format_query(query); end + end end # pkg:gem/sentry-ruby#lib/sentry/utils/real_ip.rb:11 @@ -6259,6 +6777,14 @@ Sentry::Utils::SampleRand::FORMAT_PRECISION = T.let(T.unsafe(nil), Integer) # pkg:gem/sentry-ruby#lib/sentry/utils/sample_rand.rb:6 Sentry::Utils::SampleRand::PRECISION = T.let(T.unsafe(nil), Float) +# pkg:gem/sentry-ruby#lib/sentry/utils/telemetry_attributes.rb:7 +module Sentry::Utils::TelemetryAttributes + private + + # pkg:gem/sentry-ruby#lib/sentry/utils/telemetry_attributes.rb:10 + def attribute_hash(raw_value); end +end + # pkg:gem/sentry-ruby#lib/sentry/version.rb:4 Sentry::VERSION = T.let(T.unsafe(nil), String) @@ -6270,29 +6796,29 @@ class Sentry::Vernier::Output include ::Sentry::Profiler::Helpers # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:13 - def initialize(profile, project_root:, in_app_pattern:, app_dirs_pattern:); end + def initialize(profile, project_root:, in_app_pattern:, app_dirs_pattern:, filename_cache:); end # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:11 def profile; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:20 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:21 def to_h; end private - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:56 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:57 def frames; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:37 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:38 def samples; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:84 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:85 def stack_table_hash; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:78 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:79 def stacks; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:31 + # pkg:gem/sentry-ruby#lib/sentry/vernier/output.rb:32 def thread_metadata; end end @@ -6301,7 +6827,7 @@ class Sentry::Vernier::Profiler # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:15 def initialize(configuration); end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:89 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:91 def active_thread_id; end # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:13 @@ -6310,40 +6836,35 @@ class Sentry::Vernier::Profiler # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:13 def result; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:28 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:30 def set_initial_sample_decision(transaction_sampled); end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:55 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:57 def start; end # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:13 def started; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:73 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:75 def stop; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:93 - def to_hash; end + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:95 + def to_h; end private - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:106 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:108 def log(message); end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:122 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:124 def output; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:114 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:116 def profile_meta; end - # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:110 + # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:112 def record_lost_event(reason); end end # pkg:gem/sentry-ruby#lib/sentry/vernier/profiler.rb:11 Sentry::Vernier::Profiler::EMPTY_RESULT = T.let(T.unsafe(nil), Hash) - -# pkg:gem/sentry-ruby#lib/sentry/core_ext/object/duplicable.rb:79 -class Symbol - include ::Comparable -end diff --git a/sorbet/rbi/gems/sidekiq@7.3.9.rbi b/sorbet/rbi/gems/sidekiq@8.1.7.rbi similarity index 52% rename from sorbet/rbi/gems/sidekiq@7.3.9.rbi rename to sorbet/rbi/gems/sidekiq@8.1.7.rbi index 56959f8a..6be51aee 100644 --- a/sorbet/rbi/gems/sidekiq@7.3.9.rbi +++ b/sorbet/rbi/gems/sidekiq@8.1.7.rbi @@ -5,390 +5,175 @@ # Please instead update this file by running `bin/tapioca gem sidekiq`. -# source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#3 +# Patch the ActiveJob module +# +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:36 module ActiveJob - class << self - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#7 - def adapter_name(adapter); end - - # source://activejob/8.0.2.1/lib/active_job/deprecator.rb#4 - def deprecator; end - - # source://activejob/8.0.2.1/lib/active_job/gem_version.rb#5 - def gem_version; end - - # source://activejob/8.0.2.1/lib/active_job/enqueuing.rb#14 - def perform_all_later(*jobs); end - - # source://activejob/8.0.2.1/lib/active_job.rb#57 - def verbose_enqueue_logs; end - - # source://activejob/8.0.2.1/lib/active_job.rb#57 - def verbose_enqueue_logs=(_arg0); end - - # source://activejob/8.0.2.1/lib/active_job/version.rb#7 - def version; end - - private - - # source://activejob/8.0.2.1/lib/active_job/instrumentation.rb#6 - def instrument_enqueue_all(queue_adapter, jobs); end - end + extend ::ActiveJob::EnqueueAfterTransactionCommit::ActiveJobMethods end class ActiveJob::Base - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#69 - def __callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#924 - def _enqueue_callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#924 - def _perform_callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#912 - def _run_enqueue_callbacks(&block); end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#912 - def _run_perform_callbacks(&block); end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs; end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs=(_arg0); end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs?; end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#15 - def logger; end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#15 - def logger=(val); end - - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#27 - def queue_adapter(&_arg0); end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix=(_arg0); end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix?; end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers; end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers=(_arg0); end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers?; end + include ::Sidekiq::Job::Options + extend ::Sidekiq::Job::Options::ClassMethods - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_options_hash=(_arg0); end - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retries_exhausted_block=(_arg0); end - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retry_in_block; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retry_in_block=(_arg0); end class << self - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#69 - def __callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#69 - def __callbacks=(value); end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#916 - def _enqueue_callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#920 - def _enqueue_callbacks=(value); end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#916 - def _perform_callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/callbacks.rb#920 - def _perform_callbacks=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#25 - def _queue_adapter; end - - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#25 - def _queue_adapter=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#24 - def _queue_adapter_name; end - - # source://activejob/8.0.2.1/lib/active_job/queue_adapter.rb#24 - def _queue_adapter_name=(value); end - - # source://activejob/8.0.2.1/lib/active_job/test_helper.rb#19 - def _test_adapter; end - - # source://activejob/8.0.2.1/lib/active_job/test_helper.rb#19 - def _test_adapter=(value); end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs; end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs=(value); end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#12 - def after_discard_procs?; end - - # source://activejob/8.0.2.1/lib/active_job/enqueuing.rb#53 - def enqueue_after_transaction_commit; end - - # source://activejob/8.0.2.1/lib/active_job/enqueuing.rb#53 - def enqueue_after_transaction_commit=(value); end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#26 - def log_arguments; end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#26 - def log_arguments=(value); end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#26 - def log_arguments?; end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#15 - def logger; end - - # source://activejob/8.0.2.1/lib/active_job/logging.rb#15 - def logger=(val); end - - # source://activejob/8.0.2.1/lib/active_job/queue_priority.rb#49 - def priority; end - - # source://activejob/8.0.2.1/lib/active_job/queue_priority.rb#49 - def priority=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_priority.rb#49 - def priority?; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#55 - def queue_name; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#55 - def queue_name=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#55 - def queue_name?; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#56 - def queue_name_delimiter; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#56 - def queue_name_delimiter=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#56 - def queue_name_delimiter?; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix; end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix=(value); end - - # source://activejob/8.0.2.1/lib/active_job/queue_name.rb#57 - def queue_name_prefix?; end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers; end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers=(value); end - - # source://activesupport/8.0.2.1/lib/active_support/rescuable.rb#15 - def rescue_handlers?; end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#11 - def retry_jitter; end - - # source://activejob/8.0.2.1/lib/active_job/exceptions.rb#11 - def retry_jitter=(value); end - - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_options_hash=(val); end - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retries_exhausted_block=(val); end - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retry_in_block; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def sidekiq_retry_in_block=(val); end private - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr___callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr___callbacks=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr__queue_adapter; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr__queue_adapter=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr__queue_adapter_name; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr__queue_adapter_name=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr__test_adapter; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr__test_adapter=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_after_discard_procs; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_after_discard_procs=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_enqueue_after_transaction_commit; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_enqueue_after_transaction_commit=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_log_arguments; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_log_arguments=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_priority; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_priority=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_queue_name; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_queue_name=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_queue_name_delimiter; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_queue_name_delimiter=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_queue_name_prefix; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_queue_name_prefix=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_rescue_handlers; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_rescue_handlers=(new_value); end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr_retry_jitter; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr_retry_jitter=(new_value); end - - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def __synchronized_sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def __synchronized_sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:32 def __synchronized_sidekiq_retry_in_block; end end end -# source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#4 -module ActiveJob::QueueAdapters - class << self - # source://activejob/8.0.2.1/lib/active_job/queue_adapters.rb#135 - def lookup(name); end - end -end +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:37 +module ActiveJob::QueueAdapters; end -# Sidekiq adapter for Active Job -# -# To use Sidekiq set the queue_adapter config to +:sidekiq+. -# -# Rails.application.config.active_job.queue_adapter = :sidekiq -# -# source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#13 -class ActiveJob::QueueAdapters::SidekiqAdapter +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:47 +class ActiveJob::QueueAdapters::SidekiqAdapter < ::ActiveJob::QueueAdapters::AbstractAdapter # @api private # - # source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#22 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:63 def enqueue(job); end # Defines whether enqueuing should happen implicitly to after commit when called # from inside a transaction. - # # @api private - # @return [Boolean] # - # source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#17 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:58 def enqueue_after_transaction_commit?; end # @api private # - # source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#38 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:82 def enqueue_all(jobs); end # @api private # - # source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#30 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:74 def enqueue_at(job, timestamp); end + + # @api private + # + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:114 + def stopping?(job = T.unsafe(nil)); end end # Defines a class alias for backwards compatibility with enqueued Active Job jobs. -# # @api private # -# source://sidekiq//lib/active_job/queue_adapters/sidekiq_adapter.rb#71 -class ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper < ::Sidekiq::ActiveJob::Wrapper; end +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:118 +ActiveJob::QueueAdapters::SidekiqAdapter::JobWrapper = Sidekiq::ActiveJob::Wrapper +# Sidekiq's Data API provides a Ruby object model on top +# of Sidekiq's runtime data in Redis. This API should never +# be used within application code for business logic. +# +# The Sidekiq server process never uses this API: all data +# manipulation is done directly for performance reasons to +# ensure we are using Redis as efficiently as possible at +# every callsite. +# +# This file is designed to be required within the user's +# deployment script; it should need a bare minimum of dependencies. +# Usage: +# +# require "sidekiq/deploy" +# Sidekiq::Deploy.mark!("Some change") +# +# If you do not pass a label, Sidekiq will try to use the latest +# git commit info. +# +# Iterable jobs are ones which provide a sequence to process using +# `build_enumerator(*args, cursor: cursor)` and then process each +# element of that sequence in `each_iteration(item, *args)`. +# +# The job is kicked off as normal: +# +# ProcessUserSet.perform_async(123) +# +# but instead of calling `perform`, Sidekiq will call: +# +# enum = ProcessUserSet#build_enumerator(123, cursor:nil) +# +# Your Enumerator must yield `(object, updated_cursor)` and +# Sidekiq will call your `each_iteration` method: +# +# ProcessUserSet#each_iteration(object, 123) +# +# After every iteration, Sidekiq will check for shutdown. If we are +# stopping, the cursor will be saved to Redis and the job re-queued +# to pick up the rest of the work upon restart. Your job will get +# the updated_cursor so it can pick up right where it stopped. +# +# enum = ProcessUserSet#build_enumerator(123, cursor: updated_cursor) +# +# The cursor object must be serializable to JSON. +# +# Note there are several APIs to help you build enumerators for +# ActiveRecord Relations, CSV files, etc. See sidekiq/job/iterable/*.rb. +# This file contains the components which track execution metrics within Sidekiq. +# SdNotify is a pure-Ruby implementation of sd_notify(3). It can be used to +# notify systemd about state changes. Methods of this package are no-op on +# non-systemd systems (eg. Darwin). +# +# The API maps closely to the original implementation of sd_notify(3), +# therefore be sure to check the official man pages prior to using SdNotify. +# +# @see https://www.freedesktop.org/software/systemd/man/sd_notify.html +# +# Sidekiq's systemd integration allows Sidekiq to inform systemd: +# 1. when it has successfully started +# 2. when it is starting shutdown +# 3. periodically for a liveness check with a watchdog thread +# +# # Use `Sidekiq.transactional_push!` in your sidekiq.rb initializer # -# source://sidekiq//lib/sidekiq/version.rb#3 +# pkg:gem/sidekiq#lib/sidekiq/version.rb:3 module Sidekiq class << self - # @yield [default_configuration] - # - # source://sidekiq//lib/sidekiq.rb#136 + # pkg:gem/sidekiq#lib/sidekiq.rb:148 def configure_client; end # Creates a Sidekiq::Config instance that is more tuned for embedding @@ -408,140 +193,145 @@ module Sidekiq # NB: Sidekiq only supports one instance in memory. You will get undefined behavior # if you try to embed Sidekiq twice in the same process. # - # @yield [cfg] - # - # source://sidekiq//lib/sidekiq.rb#124 + # pkg:gem/sidekiq#lib/sidekiq.rb:136 def configure_embed(&block); end - # @yield [default_configuration] - # - # source://sidekiq//lib/sidekiq.rb#97 + # pkg:gem/sidekiq#lib/sidekiq.rb:109 def configure_server(&block); end - # source://sidekiq//lib/sidekiq.rb#89 + # pkg:gem/sidekiq#lib/sidekiq.rb:97 def default_configuration; end - # source://sidekiq//lib/sidekiq.rb#85 + # pkg:gem/sidekiq#lib/sidekiq.rb:93 def default_job_options; end - # source://sidekiq//lib/sidekiq.rb#81 + # pkg:gem/sidekiq#lib/sidekiq.rb:89 def default_job_options=(hash); end - # source://sidekiq//lib/sidekiq.rb#57 + # pkg:gem/sidekiq#lib/sidekiq.rb:65 def dump_json(object); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq.rb#65 + # pkg:gem/sidekiq#lib/sidekiq.rb:73 def ent?; end - # source://sidekiq//lib/sidekiq.rb#102 + # pkg:gem/sidekiq#lib/sidekiq.rb:114 def freeze!; end - # source://sidekiq//lib/sidekiq/version.rb#7 + # pkg:gem/sidekiq#lib/sidekiq/version.rb:7 def gem_version; end - # source://sidekiq//lib/sidekiq.rb#53 + # pkg:gem/sidekiq#lib/sidekiq.rb:61 def load_json(string); end - # source://sidekiq//lib/sidekiq.rb#93 + # pkg:gem/sidekiq#lib/sidekiq.rb:105 + def loader; end + + # pkg:gem/sidekiq#lib/sidekiq.rb:101 def logger; end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq.rb#61 + # pkg:gem/sidekiq#lib/sidekiq.rb:69 def pro?; end - # source://sidekiq//lib/sidekiq.rb#73 + # pkg:gem/sidekiq#lib/sidekiq.rb:81 def redis(&block); end - # source://sidekiq//lib/sidekiq.rb#69 + # pkg:gem/sidekiq#lib/sidekiq.rb:77 def redis_pool; end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq.rb#49 + # pkg:gem/sidekiq#lib/sidekiq.rb:57 def server?; end - # source://sidekiq//lib/sidekiq.rb#77 + # pkg:gem/sidekiq#lib/sidekiq.rb:85 def strict_args!(mode = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/transaction_aware_client.rb#40 + # pkg:gem/sidekiq#lib/sidekiq.rb:50 + def testing!(mode = T.unsafe(nil), &block); end + + # pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:46 def transactional_push!; end - # source://sidekiq//lib/sidekiq.rb#45 + # pkg:gem/sidekiq#lib/sidekiq.rb:46 def ❨╯°□°❩╯︵┻━┻; end end end -# source://sidekiq//lib/sidekiq/rails.rb#7 +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:8 module Sidekiq::ActiveJob; end # @api private # -# source://sidekiq//lib/sidekiq/rails.rb#9 +# pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:10 class Sidekiq::ActiveJob::Wrapper include ::Sidekiq::Job include ::Sidekiq::Job::Options extend ::Sidekiq::Job::Options::ClassMethods extend ::Sidekiq::Job::ClassMethods - # @api private - # - # source://sidekiq//lib/sidekiq/rails.rb#12 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:13 def perform(job_data); end - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_options_hash=(_arg0); end - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retries_exhausted_block=(_arg0); end - # source://sidekiq//lib/sidekiq/job.rb#141 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retry_in_block; end - # source://sidekiq//lib/sidekiq/job.rb#153 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retry_in_block=(_arg0); end class << self - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_options_hash=(val); end - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retries_exhausted_block=(val); end - # source://sidekiq//lib/sidekiq/job.rb#108 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retry_in_block; end - # source://sidekiq//lib/sidekiq/job.rb#116 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def sidekiq_retry_in_block=(val); end private - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def __synchronized_sidekiq_options_hash; end - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def __synchronized_sidekiq_retries_exhausted_block; end - # source://sidekiq//lib/sidekiq/job.rb#103 + # pkg:gem/sidekiq#lib/active_job/queue_adapters/sidekiq_adapter.rb:11 def __synchronized_sidekiq_retry_in_block; end end end -# source://sidekiq//lib/sidekiq/client.rb#8 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:20 +module Sidekiq::ApiUtils + # @api private + # Calculate the latency in seconds for a job based on its enqueued timestamp + # @param job [Hash] the job hash + # @return [Float] latency in seconds + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:25 + def calculate_latency(job); end +end + +# pkg:gem/sidekiq#lib/sidekiq/client.rb:8 class Sidekiq::Client include ::Sidekiq::JobUtil @@ -557,16 +347,15 @@ class Sidekiq::Client # @param pool [ConnectionPool] explicit Redis pool to use # @param config [Sidekiq::Config] use the pool and middleware from the given Sidekiq container # @param chain [Sidekiq::Middleware::Chain] use the given middleware chain - # @return [Client] a new instance of Client # - # source://sidekiq//lib/sidekiq/client.rb#45 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:45 def initialize(*args, **kwargs); end # Cancel the IterableJob with the given JID. # **NB: Cancellation is asynchronous.** Iteration checks every # five seconds so this will not immediately stop the given job. # - # source://sidekiq//lib/sidekiq/client.rb#64 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:64 def cancel!(jid); end # Define client-side middleware: @@ -580,7 +369,7 @@ class Sidekiq::Client # All client instances default to the globally-defined # Sidekiq.client_middleware but you can change as necessary. # - # source://sidekiq//lib/sidekiq/client.rb#23 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:23 def middleware(&block); end # The main method used to push a job to Redis. Accepts a number of options: @@ -607,7 +396,7 @@ class Sidekiq::Client # Example: # push('queue' => 'my_queue', 'class' => MyJob, 'args' => ['foo', 1, :bat => 'bar']) # - # source://sidekiq//lib/sidekiq/client.rb#103 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:101 def push(item); end # Push a large number of jobs to Redis. This method cuts out the redis @@ -616,6 +405,14 @@ class Sidekiq::Client # larger than 1000 but YMMV based on network quality, size of job args, etc. # A large number of jobs can cause a bit of Redis command processing latency. # + # Accepts an `:at` option to schedule the jobs for future execution. It + # accepts either a single Numeric timestamp (or seconds-from-now) applied + # to every job, or an Array of Numeric values with the same size as `args` + # to schedule each job at its corresponding time. + # + # Accepts an additional `:spread_interval` option (in seconds) to randomly spread + # the jobs schedule times over the specified interval. + # # Takes the same arguments as #push except that args is expected to be # an Array of Arrays. All other keys are duplicated for each job. Each job # is run through the client middleware pipeline and each job gets its own Job ID @@ -627,29 +424,21 @@ class Sidekiq::Client # Example (pushing jobs in batches): # push_bulk('class' => MyJob, 'args' => (1..100_000).to_a, batch_size: 1_000) # - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/client.rb#133 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:139 def push_bulk(items); end - # Returns the value of attribute redis_pool. - # - # source://sidekiq//lib/sidekiq/client.rb#31 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:31 def redis_pool; end - # Sets the attribute redis_pool - # - # @param value the value to set the attribute redis_pool to. - # - # source://sidekiq//lib/sidekiq/client.rb#31 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:31 def redis_pool=(_arg0); end private - # source://sidekiq//lib/sidekiq/client.rb#265 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:284 def atomic_push(conn, payloads); end - # source://sidekiq//lib/sidekiq/client.rb#241 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:260 def raw_push(payloads); end class << self @@ -661,32 +450,32 @@ class Sidekiq::Client # # Messages are enqueued to the 'default' queue. # - # source://sidekiq//lib/sidekiq/client.rb#206 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:225 def enqueue(klass, *args); end # Example usage: # Sidekiq::Client.enqueue_in(3.minutes, MyJob, 'foo', 1, :bat => 'bar') # - # source://sidekiq//lib/sidekiq/client.rb#234 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:253 def enqueue_in(interval, klass, *args); end # Example usage: # Sidekiq::Client.enqueue_to(:queue_name, MyJob, 'foo', 1, :bat => 'bar') # - # source://sidekiq//lib/sidekiq/client.rb#213 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:232 def enqueue_to(queue, klass, *args); end # Example usage: # Sidekiq::Client.enqueue_to_in(:queue_name, 3.minutes, MyJob, 'foo', 1, :bat => 'bar') # - # source://sidekiq//lib/sidekiq/client.rb#220 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:239 def enqueue_to_in(queue, interval, klass, *args); end - # source://sidekiq//lib/sidekiq/client.rb#190 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:209 def push(item); end - # source://sidekiq//lib/sidekiq/client.rb#194 - def push_bulk(*_arg0, **_arg1, &_arg2); end + # pkg:gem/sidekiq#lib/sidekiq/client.rb:213 + def push_bulk(*, **, &); end # Allows sharding of jobs across any number of Redis instances. All jobs # defined within the block will use the given Redis connection pool. @@ -701,32 +490,90 @@ class Sidekiq::Client # thousands of jobs per second. I do not recommend sharding unless # you cannot scale any other way (e.g. splitting your app into smaller apps). # - # source://sidekiq//lib/sidekiq/client.rb#180 + # pkg:gem/sidekiq#lib/sidekiq/client.rb:199 def via(pool); end end end # no difference for now # -# source://sidekiq//lib/sidekiq/middleware/modules.rb#22 +# pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:22 Sidekiq::ClientMiddleware = Sidekiq::ServerMiddleware +# Sidekiq::Component provides a set of utility methods depending only +# on Sidekiq::Config. It assumes a config instance is available at @config. +# +# pkg:gem/sidekiq#lib/sidekiq/component.rb:24 +module Sidekiq::Component + # pkg:gem/sidekiq#lib/sidekiq/component.rb:25 + def config; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:121 + def default_tag(dir = T.unsafe(nil)); end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:82 + def fire_event(event, options = T.unsafe(nil)); end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:78 + def handle_exception(ex, ctx = T.unsafe(nil)); end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:66 + def hostname; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:74 + def identity; end + + # When you have a large tree of components, the `inspect` output + # can get out of hand, especially with lots of Sidekiq::Config + # references everywhere. We avoid calling `inspect` on more complex + # state and use `to_s` instead to keep output manageable, #6553 + # + # pkg:gem/sidekiq#lib/sidekiq/component.rb:103 + def inspect; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:51 + def logger; end + + # used for time difference and relative comparisons, not persistence. + # + # pkg:gem/sidekiq#lib/sidekiq/component.rb:33 + def mono_ms; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:70 + def process_nonce; end + + # This is epoch milliseconds, appropriate for persistence + # + # pkg:gem/sidekiq#lib/sidekiq/component.rb:28 + def real_ms; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:55 + def redis(&block); end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:44 + def safe_thread(name, priority: T.unsafe(nil), &block); end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:59 + def tid; end + + # pkg:gem/sidekiq#lib/sidekiq/component.rb:37 + def watchdog(last_words); end +end + # Sidekiq::Config represents the global configuration for an instance of Sidekiq. # -# source://sidekiq//lib/sidekiq/config.rb#10 +# pkg:gem/sidekiq#lib/sidekiq/config.rb:8 class Sidekiq::Config extend ::Forwardable - # @return [Config] a new instance of Config - # - # source://sidekiq//lib/sidekiq/config.rb#53 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:63 def initialize(options = T.unsafe(nil)); end - # source://forwardable/1.3.3/forwardable.rb#231 - def [](*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def [](*args, **, &block); end - # source://forwardable/1.3.3/forwardable.rb#231 - def []=(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def []=(*args, **, &block); end # How frequently Redis should be checked by a random Sidekiq process for # scheduled and retriable jobs. Each individual process will take turns by @@ -734,33 +581,27 @@ class Sidekiq::Config # # See sidekiq/scheduled.rb for an in-depth explanation of this value # - # source://sidekiq//lib/sidekiq/config.rb#236 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:251 def average_scheduled_poll_interval=(interval); end # register a new queue processing subsystem # - # @yield [cap] - # - # source://sidekiq//lib/sidekiq/config.rb#123 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:134 def capsule(name); end - # Returns the value of attribute capsules. - # - # source://sidekiq//lib/sidekiq/config.rb#62 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:72 def capsules; end - # @yield [@client_chain] - # - # source://sidekiq//lib/sidekiq/config.rb#106 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:117 def client_middleware; end - # source://sidekiq//lib/sidekiq/config.rb#80 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:91 def concurrency; end # LEGACY: edits the default capsule # config.concurrency = 5 # - # source://sidekiq//lib/sidekiq/config.rb#76 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:87 def concurrency=(val); end # Death handlers are called when all retries for a job have been exhausted and @@ -772,65 +613,68 @@ class Sidekiq::Config # end # end # - # source://sidekiq//lib/sidekiq/config.rb#227 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:242 def death_handlers; end - # source://sidekiq//lib/sidekiq/config.rb#118 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:129 def default_capsule(&block); end - # source://forwardable/1.3.3/forwardable.rb#231 - def dig(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def dig(*args, **, &block); end # Register a proc to handle any error which occurs within the Sidekiq process. # # Sidekiq.configure_server do |config| - # config.error_handlers << proc {|ex,ctx_hash| MyErrorService.notify(ex, ctx_hash) } + # config.error_handlers << proc {|ex,ctx_hash,config| MyErrorService.notify(ex, ctx_hash) } # end # # The default error handler logs errors to @logger. # - # source://sidekiq//lib/sidekiq/config.rb#247 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:262 def error_handlers; end - # source://forwardable/1.3.3/forwardable.rb#231 - def fetch(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def fetch(*args, **, &block); end - # source://sidekiq//lib/sidekiq/config.rb#212 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:227 def freeze!; end # INTERNAL USE ONLY # - # source://sidekiq//lib/sidekiq/config.rb#291 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:301 def handle_exception(ex, ctx = T.unsafe(nil)); end - # source://forwardable/1.3.3/forwardable.rb#231 - def has_key?(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def has_key?(*args, **, &block); end - # source://sidekiq//lib/sidekiq/config.rb#64 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:75 def inspect; end - # source://forwardable/1.3.3/forwardable.rb#231 - def key?(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def key?(*args, **, &block); end + + # pkg:gem/sidekiq#lib/sidekiq/config.rb:157 + def local_redis_pool; end - # source://sidekiq//lib/sidekiq/config.rb#265 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:280 def logger; end - # source://sidekiq//lib/sidekiq/config.rb#276 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:291 def logger=(logger); end # find a singleton # - # source://sidekiq//lib/sidekiq/config.rb#204 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:219 def lookup(name, default_class = T.unsafe(nil)); end - # source://forwardable/1.3.3/forwardable.rb#231 - def merge!(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:71 + def merge!(*args, **, &block); end - # source://sidekiq//lib/sidekiq/config.rb#148 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:163 def new_redis_pool(size, name = T.unsafe(nil)); end # Register a block to run at a point in the Sidekiq lifecycle. - # :startup, :quiet or :shutdown are valid events. + # :startup, :quiet, :shutdown, or :exit are valid events. # # Sidekiq.configure_server do |config| # config.on(:shutdown) do @@ -838,12 +682,10 @@ class Sidekiq::Config # end # end # - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/config.rb#259 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:274 def on(event, &block); end - # source://sidekiq//lib/sidekiq/config.rb#102 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:113 def queues; end # Edit the default capsule. @@ -857,99 +699,110 @@ class Sidekiq::Config # are ridiculous and unnecessarily expensive. You can get random queue ordering # by explicitly setting all weights to 1. # - # source://sidekiq//lib/sidekiq/config.rb#98 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:109 def queues=(val); end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/config.rb#170 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:149 + def reap_idle_redis_connections(timeout = T.unsafe(nil)); end + + # pkg:gem/sidekiq#lib/sidekiq/config.rb:185 def redis; end # All capsules must use the same Redis configuration # - # source://sidekiq//lib/sidekiq/config.rb#134 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:145 def redis=(hash); end - # source://sidekiq//lib/sidekiq/config.rb#154 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:169 def redis_info; end - # source://sidekiq//lib/sidekiq/config.rb#138 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:153 def redis_pool; end # register global singletons which can be accessed elsewhere # - # source://sidekiq//lib/sidekiq/config.rb#193 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:208 def register(name, instance); end - # @yield [@server_chain] - # - # source://sidekiq//lib/sidekiq/config.rb#112 + # pkg:gem/sidekiq#lib/sidekiq/config.rb:123 def server_middleware; end - # source://sidekiq//lib/sidekiq/config.rb#70 - def to_json(*_arg0); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:73 + def thread_priority; end - # source://sidekiq//lib/sidekiq/config.rb#84 - def total_concurrency; end - - private + # pkg:gem/sidekiq#lib/sidekiq/config.rb:73 + def thread_priority=(_arg0); end - # source://sidekiq//lib/sidekiq/config.rb#142 - def local_redis_pool; end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:81 + def to_json(*); end - # source://sidekiq//lib/sidekiq/config.rb#285 - def parameter_size(handler); end + # pkg:gem/sidekiq#lib/sidekiq/config.rb:95 + def total_concurrency; end end -# source://sidekiq//lib/sidekiq/config.rb#13 +# pkg:gem/sidekiq#lib/sidekiq/config.rb:11 Sidekiq::Config::DEFAULTS = T.let(T.unsafe(nil), Hash) -# source://sidekiq//lib/sidekiq/config.rb#43 +# pkg:gem/sidekiq#lib/sidekiq/config.rb:43 Sidekiq::Config::ERROR_HANDLER = T.let(T.unsafe(nil), Proc) -# source://sidekiq//lib/sidekiq/logger.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:7 module Sidekiq::Context class << self - # source://sidekiq//lib/sidekiq/logger.rb#20 + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:20 def add(k, v); end - # source://sidekiq//lib/sidekiq/logger.rb#16 + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:16 def current; end - # source://sidekiq//lib/sidekiq/logger.rb#8 + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:8 def with(hash); end end end +# Ruby's default thread priority is 0, which uses 100ms time slices. +# This can lead to some surprising thread starvation; if using a lot of +# CPU-heavy concurrency, it may take several seconds before a Thread gets +# on the CPU. +# +# Negative priorities lower the timeslice by half, so -1 = 50ms, -2 = 25ms, etc. +# With more frequent timeslices, we reduce the risk of unintentional timeouts +# and starvation. +# +# Customize like so: +# +# Sidekiq.configure_server do |cfg| +# cfg.thread_priority = 0 +# end +# +# pkg:gem/sidekiq#lib/sidekiq/component.rb:19 +Sidekiq::DEFAULT_THREAD_PRIORITY = T.let(T.unsafe(nil), Integer) + # The set of dead jobs within Sidekiq. Dead jobs have failed all of # their retries and are helding in this set pending some sort of manual # fix. They will be removed after 6 months (dead_timeout) if not. # -# source://sidekiq//lib/sidekiq/api.rb#826 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:931 class Sidekiq::DeadSet < ::Sidekiq::JobSet - # @return [DeadSet] a new instance of DeadSet - # - # source://sidekiq//lib/sidekiq/api.rb#827 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:932 def initialize; end # Add the given job to the Dead set. - # - # @option opts - # @option opts - # @option opts # @param message [String] the job data as JSON - # @param opts [Hash] a customizable set of options + # @option opts [Boolean] :notify_failure (true) Whether death handlers should be called + # @option opts [Boolean] :trim (true) Whether Sidekiq should trim the structure to keep it within configuration + # @option opts [Exception] :ex (RuntimeError) An exception to pass to the death handlers # - # source://sidekiq//lib/sidekiq/api.rb#848 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:953 def kill(message, opts = T.unsafe(nil)); end # Trim dead jobs which are over our storage limits # - # source://sidekiq//lib/sidekiq/api.rb#832 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:937 def trim; end end -# source://sidekiq//lib/sidekiq/iterable_job.rb#34 +# pkg:gem/sidekiq#lib/sidekiq/iterable_job.rb:34 module Sidekiq::IterableJob include ::Sidekiq::Job::Options include ::Sidekiq::Job @@ -960,13 +813,74 @@ module Sidekiq::IterableJob mixes_in_class_methods ::Sidekiq::Job::Iterable::ClassMethods class << self - # @private - # - # source://sidekiq//lib/sidekiq/iterable_job.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/iterable_job.rb:35 def included(base); end end end +# Persisted iteration state from Redis for jobs using Sidekiq::IterableJob. +# +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1407 +class Sidekiq::IterableJobQuery + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1408 + def initialize(jids); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1412 + def [](jid); end + + private + + # Bulk-fetch iteration state for multiple JIDs in a single Redis pipeline. + # Returns a Hash of { jid => State } for JIDs that have iteration state. + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1420 + def bulk_fetch(jids); end +end + +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 +class Sidekiq::IterableJobQuery::State < ::Struct + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1460 + def cancelled; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1452 + def cursor; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1444 + def executions; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def jid; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def jid=(_); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def raw; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def raw=(_); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1448 + def runtime; end + + class << self + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def [](*_arg0); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def inspect; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def keyword_init?; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def members; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1443 + def new(*_arg0); end + end +end + # Include this module in your job class and you can easily create # asynchronous jobs: # @@ -1004,7 +918,7 @@ end # this reason, we don't implement `perform_later` as our call semantics # are very different. # -# source://sidekiq//lib/sidekiq/job.rb#44 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:44 module Sidekiq::Job include ::Sidekiq::Job::Options @@ -1013,39 +927,28 @@ module Sidekiq::Job # This attribute is implementation-specific and not a public API # - # source://sidekiq//lib/sidekiq/job.rb#163 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:163 def _context; end # This attribute is implementation-specific and not a public API # - # source://sidekiq//lib/sidekiq/job.rb#163 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:163 def _context=(_arg0); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/job.rb#176 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:176 def interrupted?; end - # Returns the value of attribute jid. - # - # source://sidekiq//lib/sidekiq/job.rb#160 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:160 def jid; end - # Sets the attribute jid - # - # @param value the value to set the attribute jid to. - # - # source://sidekiq//lib/sidekiq/job.rb#160 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:160 def jid=(_arg0); end - # source://sidekiq//lib/sidekiq/job.rb#172 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:172 def logger; end class << self - # @private - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job.rb#165 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:165 def included(base); end end end @@ -1088,38 +991,27 @@ end # When I sign up as "foo@example.com" # Then I should receive a welcome email to "foo@example.com" # -# source://sidekiq//lib/sidekiq/job.rb#275 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:277 module Sidekiq::Job::ClassMethods - # source://sidekiq//lib/sidekiq/job.rb#378 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:393 def build_client; end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job.rb#363 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:378 def client_push(item); end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job.rb#276 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:278 def delay(*args); end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job.rb#280 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:282 def delay_for(*args); end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job.rb#284 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:286 def delay_until(*args); end - # source://sidekiq//lib/sidekiq/job.rb#296 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:298 def perform_async(*args); end - # +interval+ must be a timestamp, numeric or something that acts - # numeric (like an activesupport time interval). - # - # source://sidekiq//lib/sidekiq/job.rb#332 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:359 def perform_at(interval, *args); end # Push a large number of jobs to Redis, while limiting the batch of @@ -1129,6 +1021,11 @@ module Sidekiq::Job::ClassMethods # # +items+ must be an Array of Arrays. # + # The +:at+ option schedules the jobs for future execution. It accepts + # either a single Numeric timestamp (or seconds-from-now) applied to every + # job, or an Array of Numeric values with the same size as +items+ to + # schedule each job at its corresponding time. + # # For finer-grained control, use `Sidekiq::Client.push_bulk` directly. # # Example (3 Redis round trips): @@ -1141,29 +1038,35 @@ module Sidekiq::Job::ClassMethods # # SomeJob.perform_bulk([[1], [2], [3]]) # - # source://sidekiq//lib/sidekiq/job.rb#326 + # Scheduling every job 60 seconds from now (single Numeric +:at+): + # + # SomeJob.perform_bulk([[1], [2], [3]], at: 60) + # + # Scheduling each job at its own time (Array +:at+): + # + # SomeJob.perform_bulk([[1], [2]], at: [Time.now.to_f + 30, Time.now.to_f + 60]) + # + # pkg:gem/sidekiq#lib/sidekiq/job.rb:341 def perform_bulk(*args, **kwargs); end # +interval+ must be a timestamp, numeric or something that acts # numeric (like an activesupport time interval). # - # source://sidekiq//lib/sidekiq/job.rb#332 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:347 def perform_in(interval, *args); end # Inline execution of job's perform method after passing through Sidekiq.client_middleware and Sidekiq.server_middleware # - # source://sidekiq//lib/sidekiq/job.rb#301 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:303 def perform_inline(*args); end - # Inline execution of job's perform method after passing through Sidekiq.client_middleware and Sidekiq.server_middleware - # - # source://sidekiq//lib/sidekiq/job.rb#301 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:306 def perform_sync(*args); end - # source://sidekiq//lib/sidekiq/job.rb#288 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:290 def queue_as(q); end - # source://sidekiq//lib/sidekiq/job.rb#292 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:294 def set(options); end # Allows customization for this type of Job. @@ -1179,14 +1082,14 @@ module Sidekiq::Job::ClassMethods # In practice, any option is allowed. This is the main mechanism to configure the # options for a specific job. # - # source://sidekiq//lib/sidekiq/job.rb#359 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:374 def sidekiq_options(opts = T.unsafe(nil)); end end -# source://sidekiq//lib/sidekiq/job/iterable.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:7 class Sidekiq::Job::Interrupted < ::RuntimeError; end -# source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#5 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:5 module Sidekiq::Job::Iterable include ::Sidekiq::Job::Iterable::Enumerators @@ -1194,155 +1097,160 @@ module Sidekiq::Job::Iterable # @api private # - # source://sidekiq//lib/sidekiq/job/iterable.rb#26 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:26 def initialize; end - # source://sidekiq//lib/sidekiq/job/iterable.rb#37 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:43 def arguments; end # A hook to override that will be called around each iteration. # # Can be useful for some metrics collection, performance tracking etc. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#80 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:88 def around_iteration; end # The enumerator to be iterated over. # - # @raise [NotImplementedError] with a message advising subclasses to - # implement an override for this method. # @return [Enumerator] # - # source://sidekiq//lib/sidekiq/job/iterable.rb#108 - def build_enumerator(*_arg0); end + # @raise [NotImplementedError] with a message advising subclasses to + # implement an override for this method. + # + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:121 + def build_enumerator(*); end # Set a flag in Redis to mark this job as cancelled. # Cancellation is asynchronous and is checked at the start of iteration # and every 5 seconds thereafter as part of the recurring state flush. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#49 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:55 def cancel!; end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/job/iterable.rb#65 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:69 def cancelled?; end + # Access to the current object while iterating. + # This value is not reset so the latest element is + # explicitly available to cleanup/complete callbacks. + # + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:41 + def current_object; end + + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:73 + def cursor; end + # The action to be performed on each item from the enumerator. # - # @raise [NotImplementedError] with a message advising subclasses to - # implement an override for this method. # @return [void] # - # source://sidekiq//lib/sidekiq/job/iterable.rb#119 - def each_iteration(*_arg0); end + # @raise [NotImplementedError] with a message advising subclasses to + # implement an override for this method. + # + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:132 + def each_iteration(*); end - # source://sidekiq//lib/sidekiq/job/iterable.rb#123 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:136 def iteration_key; end + # A hook to override that will be called when the job is cancelled. + # + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:106 + def on_cancel; end + # A hook to override that will be called when the job finished iterating. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#98 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:111 def on_complete; end # A hook to override that will be called when the job resumes iterating. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#86 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:94 def on_resume; end # A hook to override that will be called when the job starts iterating. # # It is called only once, for the first time. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#73 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:81 def on_start; end # A hook to override that will be called each time the job is interrupted. # # This can be due to interruption or sidekiq stopping. # - # source://sidekiq//lib/sidekiq/job/iterable.rb#93 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:101 def on_stop; end # @api private # - # source://sidekiq//lib/sidekiq/job/iterable.rb#128 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:141 def perform(*args); end private - # source://sidekiq//lib/sidekiq/job/iterable.rb#242 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:261 def assert_enumerator!(enum); end - # source://sidekiq//lib/sidekiq/job/iterable.rb#274 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:298 def cleanup; end - # source://sidekiq//lib/sidekiq/job/iterable.rb#170 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:183 def fetch_previous_iteration_state; end - # source://sidekiq//lib/sidekiq/job/iterable.rb#257 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:281 def flush_state; end - # source://sidekiq//lib/sidekiq/job/iterable.rb#281 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:305 def handle_completed(completed); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/job/iterable.rb#166 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:179 def is_cancelled?; end # one month # - # source://sidekiq//lib/sidekiq/job/iterable.rb#185 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:198 def iterate_with_enumerator(enumerator, arguments); end - # @raise [Interrupted] - # - # source://sidekiq//lib/sidekiq/job/iterable.rb#235 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:317 + def mono_now; end + + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:254 def reenqueue_iteration_job; end - # source://sidekiq//lib/sidekiq/job/iterable.rb#225 - def verify_iteration_time(time_limit, object); end + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:276 + def should_interrupt?; end + + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:244 + def verify_iteration_time(time_limit); end class << self # @api private - # @private # - # source://sidekiq//lib/sidekiq/job/iterable.rb#13 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:13 def included(base); end end end # @api private # -# source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:7 class Sidekiq::Job::Iterable::ActiveRecordEnumerator - # @api private - # @return [ActiveRecordEnumerator] a new instance of ActiveRecordEnumerator - # - # source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#8 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:8 def initialize(relation, cursor: T.unsafe(nil), **options); end - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#22 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:22 def batches; end - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#14 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:14 def records; end - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#30 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:30 def relations; end private - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/active_record_enumerator.rb#46 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/active_record_enumerator.rb:46 def relations_size; end end @@ -1350,192 +1258,182 @@ end # execute when using the default retry scheme. We don't want to "forget" the job # is cancelled before it has a chance to execute and cancel itself. # -# source://sidekiq//lib/sidekiq/job/iterable.rb#44 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:50 Sidekiq::Job::Iterable::CANCELLATION_PERIOD = T.let(T.unsafe(nil), String) # @api private # -# source://sidekiq//lib/sidekiq/job/iterable.rb#18 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:18 module Sidekiq::Job::Iterable::ClassMethods - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable.rb#19 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:19 def method_added(method_name); end end # @api private # -# source://sidekiq//lib/sidekiq/job/iterable/csv_enumerator.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable/csv_enumerator.rb:7 class Sidekiq::Job::Iterable::CsvEnumerator - # @api private - # @return [CsvEnumerator] a new instance of CsvEnumerator - # - # source://sidekiq//lib/sidekiq/job/iterable/csv_enumerator.rb#8 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/csv_enumerator.rb:8 def initialize(csv); end - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/csv_enumerator.rb#23 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/csv_enumerator.rb:23 def batches(cursor:, batch_size: T.unsafe(nil)); end - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/csv_enumerator.rb#16 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/csv_enumerator.rb:16 def rows(cursor:); end private - # @api private - # - # source://sidekiq//lib/sidekiq/job/iterable/csv_enumerator.rb#33 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/csv_enumerator.rb:33 def count_of_rows_in_file; end end -# source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#9 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:9 module Sidekiq::Job::Iterable::Enumerators # Builds Enumerator from `ActiveRecord::Relation` and enumerates on batches of records. # Each Enumerator tick moves the cursor `:batch_size` rows forward. + # @see #active_record_records_enumerator # # @example # def build_enumerator(product_id, cursor:) - # active_record_batches_enumerator( - # Comment.where(product_id: product_id).select(:id), - # cursor: cursor, - # batch_size: 100 - # ) + # active_record_batches_enumerator( + # Comment.where(product_id: product_id).select(:id), + # cursor: cursor, + # batch_size: 100 + # ) # end # # def each_iteration(batch_of_comments, product_id) - # comment_ids = batch_of_comments.map(&:id) - # CommentService.call(comment_ids: comment_ids) + # comment_ids = batch_of_comments.map(&:id) + # CommentService.call(comment_ids: comment_ids) # end - # @see #active_record_records_enumerator # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#68 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:68 def active_record_batches_enumerator(relation, cursor:, **options); end # Builds Enumerator from `ActiveRecord::Relation`. # Each Enumerator tick moves the cursor one row forward. # + # @param relation [ActiveRecord::Relation] relation to iterate + # @param cursor [Object] offset id to start iteration from + # @param options [Hash] additional options that will be passed to relevant + # ActiveRecord batching methods + # + # @return [ActiveRecordEnumerator] + # # @example # def build_enumerator(cursor:) - # active_record_records_enumerator(User.all, cursor: cursor) + # active_record_records_enumerator(User.all, cursor: cursor) # end # # def each_iteration(user) - # user.notify_about_something + # user.notify_about_something # end - # @param relation [ActiveRecord::Relation] relation to iterate - # @param cursor [Object] offset id to start iteration from - # @param options [Hash] additional options that will be passed to relevant - # ActiveRecord batching methods - # @return [ActiveRecordEnumerator] # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#46 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:46 def active_record_records_enumerator(relation, cursor:, **options); end # Builds Enumerator from `ActiveRecord::Relation` and enumerates on batches, # yielding `ActiveRecord::Relation`s. + # @see #active_record_records_enumerator # # @example # def build_enumerator(product_id, cursor:) - # active_record_relations_enumerator( - # Product.find(product_id).comments, - # cursor: cursor, - # batch_size: 100, - # ) + # active_record_relations_enumerator( + # Product.find(product_id).comments, + # cursor: cursor, + # batch_size: 100, + # ) # end # # def each_iteration(batch_of_comments, product_id) - # # batch_of_comments will be a Comment::ActiveRecord_Relation - # batch_of_comments.update_all(deleted: true) + # # batch_of_comments will be a Comment::ActiveRecord_Relation + # batch_of_comments.update_all(deleted: true) # end - # @see #active_record_records_enumerator # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#90 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:90 def active_record_relations_enumerator(relation, cursor:, **options); end # Builds Enumerator object from a given array, using +cursor+ as an offset. # - # @example - # array_enumerator(['build', 'enumerator', 'from', 'any', 'array'], cursor: cursor) # @param array [Array] # @param cursor [Integer] offset to start iteration from - # @raise [ArgumentError] + # # @return [Enumerator] # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#20 + # @example + # array_enumerator(['build', 'enumerator', 'from', 'any', 'array'], cursor: cursor) + # + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:20 def array_enumerator(array, cursor:); end # Builds Enumerator from a CSV file and enumerates on batches of records. # + # @param csv [CSV] an instance of CSV object + # @param cursor [Integer] offset to start iteration from + # @option options :batch_size [Integer] (100) size of the batch + # # @example # def build_enumerator(import_id, cursor:) - # import = Import.find(import_id) - # csv_batches_enumerator(import.csv, cursor: cursor) + # import = Import.find(import_id) + # csv_batches_enumerator(import.csv, cursor: cursor) # end # # def each_iteration(batch_of_csv_rows) - # # ... + # # ... # end - # @option options - # @param csv [CSV] an instance of CSV object - # @param cursor [Integer] offset to start iteration from - # @param options [Hash] a customizable set of options # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#129 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:129 def csv_batches_enumerator(csv, cursor:, **options); end # Builds Enumerator from a CSV file. # + # @param csv [CSV] an instance of CSV object + # @param cursor [Integer] offset to start iteration from + # # @example # def build_enumerator(import_id, cursor:) - # import = Import.find(import_id) - # csv_enumerator(import.csv, cursor: cursor) + # import = Import.find(import_id) + # csv_enumerator(import.csv, cursor: cursor) # end # # def each_iteration(csv_row) - # # insert csv_row into database + # # insert csv_row into database # end - # @param csv [CSV] an instance of CSV object - # @param cursor [Integer] offset to start iteration from # - # source://sidekiq//lib/sidekiq/job/iterable/enumerators.rb#109 + # pkg:gem/sidekiq#lib/sidekiq/job/iterable/enumerators.rb:109 def csv_enumerator(csv, cursor:); end end -# seconds -# -# source://sidekiq//lib/sidekiq/job/iterable.rb#180 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:193 Sidekiq::Job::Iterable::STATE_FLUSH_INTERVAL = T.let(T.unsafe(nil), Integer) +# seconds # we need to keep the state around as long as the job # might be retrying # -# source://sidekiq//lib/sidekiq/job/iterable.rb#183 +# pkg:gem/sidekiq#lib/sidekiq/job/iterable.rb:196 Sidekiq::Job::Iterable::STATE_TTL = T.let(T.unsafe(nil), Integer) # The Options module is extracted so we can include it in ActiveJob::Base # and allow native AJs to configure Sidekiq features/internals. # -# source://sidekiq//lib/sidekiq/job.rb#48 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:48 module Sidekiq::Job::Options mixes_in_class_methods ::Sidekiq::Job::Options::ClassMethods class << self - # @private - # - # source://sidekiq//lib/sidekiq/job.rb#49 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:49 def included(base); end end end -# source://sidekiq//lib/sidekiq/job.rb#56 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:56 module Sidekiq::Job::Options::ClassMethods - # source://sidekiq//lib/sidekiq/job.rb#88 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:88 def get_sidekiq_options; end - # source://sidekiq//lib/sidekiq/job.rb#92 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:92 def sidekiq_class_attribute(*attrs); end # Allows customization for this type of Job. @@ -1550,68 +1448,60 @@ module Sidekiq::Job::Options::ClassMethods # In practice, any option is allowed. This is the main mechanism to configure the # options for a specific job. # - # source://sidekiq//lib/sidekiq/job.rb#71 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:71 def sidekiq_options(opts = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/job.rb#84 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:84 def sidekiq_retries_exhausted(&block); end - # source://sidekiq//lib/sidekiq/job.rb#80 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:80 def sidekiq_retry_in(&block); end end -# source://sidekiq//lib/sidekiq/job.rb#57 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:57 Sidekiq::Job::Options::ClassMethods::ACCESSOR_MUTEX = T.let(T.unsafe(nil), Thread::Mutex) # This helper class encapsulates the set options for `set`, e.g. # # SomeJob.set(queue: 'foo').perform_async(....) # -# source://sidekiq//lib/sidekiq/job.rb#184 +# pkg:gem/sidekiq#lib/sidekiq/job.rb:184 class Sidekiq::Job::Setter include ::Sidekiq::JobUtil - # @return [Setter] a new instance of Setter - # - # source://sidekiq//lib/sidekiq/job.rb#187 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:187 def initialize(klass, opts); end - # source://sidekiq//lib/sidekiq/job.rb#205 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:205 def perform_async(*args); end - # +interval+ must be a timestamp, numeric or something that acts - # numeric (like an activesupport time interval). - # - # source://sidekiq//lib/sidekiq/job.rb#258 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:263 def perform_at(interval, *args); end - # source://sidekiq//lib/sidekiq/job.rb#251 - def perform_bulk(args, batch_size: T.unsafe(nil)); end + # pkg:gem/sidekiq#lib/sidekiq/job.rb:253 + def perform_bulk(args, **options); end # +interval+ must be a timestamp, numeric or something that acts # numeric (like an activesupport time interval). # - # source://sidekiq//lib/sidekiq/job.rb#258 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:260 def perform_in(interval, *args); end # Explicit inline execution of a job. Returns nil if the job did not # execute, true otherwise. # - # source://sidekiq//lib/sidekiq/job.rb#215 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:215 def perform_inline(*args); end - # Explicit inline execution of a job. Returns nil if the job did not - # execute, true otherwise. - # - # source://sidekiq//lib/sidekiq/job.rb#215 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:251 def perform_sync(*args); end - # source://sidekiq//lib/sidekiq/job.rb#197 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:197 def set(options); end private - # source://sidekiq//lib/sidekiq/job.rb#265 + # pkg:gem/sidekiq#lib/sidekiq/job.rb:267 def at(interval); end end @@ -1620,132 +1510,144 @@ end # The job should be considered immutable but may be # removed from the queue via JobRecord#delete. # -# source://sidekiq//lib/sidekiq/api.rb#334 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:393 class Sidekiq::JobRecord + include ::Sidekiq::ApiUtils + # @api private - # @return [JobRecord] a new instance of JobRecord # - # source://sidekiq//lib/sidekiq/api.rb#347 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:408 def initialize(item, queue_name = T.unsafe(nil)); end # Access arbitrary attributes within the job hash # - # source://sidekiq//lib/sidekiq/api.rb#460 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:538 def [](name); end - # source://sidekiq//lib/sidekiq/api.rb#412 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:473 def args; end - # source://sidekiq//lib/sidekiq/api.rb#420 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:485 def bid; end - # source://sidekiq//lib/sidekiq/api.rb#428 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:507 def created_at; end # Remove this job from the queue # - # source://sidekiq//lib/sidekiq/api.rb#452 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:530 def delete; end - # source://sidekiq//lib/sidekiq/api.rb#390 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:451 def display_args; end - # source://sidekiq//lib/sidekiq/api.rb#373 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:434 def display_class; end - # source://sidekiq//lib/sidekiq/api.rb#424 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:501 def enqueued_at; end - # source://sidekiq//lib/sidekiq/api.rb#436 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:515 def error_backtrace; end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:489 + def failed_at; end + # the parsed Hash of job data + # @!attribute [r] Item # - # source://sidekiq//lib/sidekiq/api.rb#337 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:398 def item; end - # source://sidekiq//lib/sidekiq/api.rb#416 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:481 + def iterable_state; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:477 def jid; end # This is the job class which Sidekiq will execute. If using ActiveJob, # this class will be the ActiveJob adapter class rather than a specific job. # - # source://sidekiq//lib/sidekiq/api.rb#369 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:430 def klass; end - # source://sidekiq//lib/sidekiq/api.rb#446 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:525 def latency; end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#356 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:417 def parse(item); end # the queue associated with this job + # @!attribute [r] Queue # - # source://sidekiq//lib/sidekiq/api.rb#343 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:404 def queue; end - # source://sidekiq//lib/sidekiq/api.rb#432 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:495 + def retried_at; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:511 def tags; end # the underlying String in Redis + # @!attribute [r] Value # - # source://sidekiq//lib/sidekiq/api.rb#340 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:401 def value; end private - # source://sidekiq//lib/sidekiq/api.rb#472 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:550 def deserialize_argument(argument); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/api.rb#488 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:566 def serialized_global_id?(hash); end - # source://sidekiq//lib/sidekiq/api.rb#492 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:576 + def time_from_timestamp(timestamp); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:570 def uncompress_backtrace(backtrace); end end -# source://sidekiq//lib/sidekiq/api.rb#469 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:547 Sidekiq::JobRecord::ACTIVE_JOB_PREFIX = T.let(T.unsafe(nil), String) -# source://sidekiq//lib/sidekiq/api.rb#470 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:548 Sidekiq::JobRecord::GLOBALID_KEY = T.let(T.unsafe(nil), String) # Base class for all sorted sets which contain jobs, e.g. scheduled, retry and dead. # Sidekiq Pro and Enterprise add additional sorted sets which do not contain job data, # e.g. Batches. # -# source://sidekiq//lib/sidekiq/api.rb#661 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:726 class Sidekiq::JobSet < ::Sidekiq::SortedSet - # @api private - # - # source://sidekiq//lib/sidekiq/api.rb#782 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:903 def delete(score, jid); end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#782 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:887 def delete_by_jid(score, jid); end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#772 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:877 def delete_by_value(name, value); end - # source://sidekiq//lib/sidekiq/api.rb#706 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:771 def each; end # Fetch jobs that match a given time or Range. Job ID is an # optional second argument. # - # @param score [Time, Range] a specific timestamp or range + # @param score [Time,Range] a specific timestamp or range # @param jid [String, optional] find a specific JID within the score # @return [Array] any results found, can be empty # - # source://sidekiq//lib/sidekiq/api.rb#734 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:799 def fetch(score, jid = T.unsafe(nil)); end # Find the job with the given JID within this sorted set. @@ -1754,157 +1656,151 @@ class Sidekiq::JobSet < ::Sidekiq::SortedSet # @param jid [String] the job identifier # @return [SortedEntry] the record or nil # - # source://sidekiq//lib/sidekiq/api.rb#759 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:824 def find_job(jid); end # Move all jobs from this Set to the Dead Set. # See DeadSet#kill # - # source://sidekiq//lib/sidekiq/api.rb#693 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:758 def kill_all(notify_failure: T.unsafe(nil), ex: T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/api.rb#671 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:736 def pop_each; end - # source://sidekiq//lib/sidekiq/api.rb#681 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:835 + def remove_job(entry); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:746 def retry_all; end # Add a job with the associated timestamp to this set. - # # @param timestamp [Time] the score for the job # @param job [Hash] the job data # - # source://sidekiq//lib/sidekiq/api.rb#665 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:730 def schedule(timestamp, job); end end -# source://sidekiq//lib/sidekiq/job_util.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/job_util.rb:7 module Sidekiq::JobUtil - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job_util.rb#43 + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:43 def normalize_item(item); end - # source://sidekiq//lib/sidekiq/job_util.rb#65 + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:69 def normalized_hash(item_class); end - # @raise [ArgumentError] - # - # source://sidekiq//lib/sidekiq/job_util.rb#12 + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:65 + def now_in_millis; end + + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:12 def validate(item); end - # source://sidekiq//lib/sidekiq/job_util.rb#21 + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:21 def verify_json(item); end private - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/job_util.rb#105 + # pkg:gem/sidekiq#lib/sidekiq/job_util.rb:109 def json_unsafe?(item); end end -# source://sidekiq//lib/sidekiq/job_util.rb#76 +# pkg:gem/sidekiq#lib/sidekiq/job_util.rb:80 Sidekiq::JobUtil::RECURSIVE_JSON_UNSAFE = T.let(T.unsafe(nil), Hash) # These functions encapsulate various job utilities. # -# source://sidekiq//lib/sidekiq/job_util.rb#10 +# pkg:gem/sidekiq#lib/sidekiq/job_util.rb:10 Sidekiq::JobUtil::TRANSIENT_ATTRIBUTES = T.let(T.unsafe(nil), Array) -# source://sidekiq//lib/sidekiq.rb#43 +# pkg:gem/sidekiq#lib/sidekiq.rb:44 Sidekiq::LICENSE = T.let(T.unsafe(nil), String) -# source://sidekiq//lib/sidekiq/logger.rb#75 -class Sidekiq::Logger < ::Logger - include ::Sidekiq::LoggingUtils +# pkg:gem/sidekiq#lib/sidekiq/loader.rb:4 +class Sidekiq::Loader + include ::Sidekiq::Component + + # pkg:gem/sidekiq#lib/sidekiq/loader.rb:7 + def initialize(cfg = T.unsafe(nil)); end + + # Declares a block that will be executed when a Sidekiq component is fully + # loaded. If the component has already loaded, the block is executed + # immediately. + # + # Sidekiq.loader.on_load(:api) do + # # extend the sidekiq API + # end + # + # pkg:gem/sidekiq#lib/sidekiq/loader.rb:22 + def on_load(name, &block); end + + # Executes all blocks registered to +name+ via on_load. + # + # Sidekiq.loader.run_load_hooks(:api) + # + # In the case of the above example, it will execute all hooks registered for +:api+. + # + # pkg:gem/sidekiq#lib/sidekiq/loader.rb:44 + def run_load_hooks(name); end end -# source://sidekiq//lib/sidekiq/logger.rb#78 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:25 +class Sidekiq::Logger < ::Logger; end + +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:26 module Sidekiq::Logger::Formatters; end -# source://sidekiq//lib/sidekiq/logger.rb#79 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:27 class Sidekiq::Logger::Formatters::Base < ::Logger::Formatter - # source://sidekiq//lib/sidekiq/logger.rb#84 - def ctx; end - - # source://sidekiq//lib/sidekiq/logger.rb#88 - def format_context; end + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:40 + def format_context(ctxt = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/logger.rb#80 + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:36 def tid; end end -# source://sidekiq//lib/sidekiq/logger.rb#114 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:28 +Sidekiq::Logger::Formatters::Base::COLORS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:70 class Sidekiq::Logger::Formatters::JSON < ::Sidekiq::Logger::Formatters::Base - # source://sidekiq//lib/sidekiq/logger.rb#115 + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:71 def call(severity, time, program_name, message); end end -# source://sidekiq//lib/sidekiq/logger.rb#102 -class Sidekiq::Logger::Formatters::Pretty < ::Sidekiq::Logger::Formatters::Base - # source://sidekiq//lib/sidekiq/logger.rb#103 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:58 +class Sidekiq::Logger::Formatters::Plain < ::Sidekiq::Logger::Formatters::Base + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:59 def call(severity, time, program_name, message); end end -# source://sidekiq//lib/sidekiq/logger.rb#108 -class Sidekiq::Logger::Formatters::WithoutTimestamp < ::Sidekiq::Logger::Formatters::Pretty - # source://sidekiq//lib/sidekiq/logger.rb#109 +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:52 +class Sidekiq::Logger::Formatters::Pretty < ::Sidekiq::Logger::Formatters::Base + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:53 def call(severity, time, program_name, message); end end -# source://sidekiq//lib/sidekiq/logger.rb#25 -module Sidekiq::LoggingUtils - # source://sidekiq//lib/sidekiq/logger.rb#39 - def debug?; end - - # source://sidekiq//lib/sidekiq/logger.rb#39 - def error?; end - - # source://sidekiq//lib/sidekiq/logger.rb#39 - def fatal?; end - - # source://sidekiq//lib/sidekiq/logger.rb#39 - def info?; end - - # source://sidekiq//lib/sidekiq/logger.rb#61 - def level; end - - # source://sidekiq//lib/sidekiq/logger.rb#44 - def local_level; end - - # source://sidekiq//lib/sidekiq/logger.rb#48 - def local_level=(level); end - - # Change the thread-local level for the duration of the given block. - # - # source://sidekiq//lib/sidekiq/logger.rb#66 - def log_at(level); end - - # source://sidekiq//lib/sidekiq/logger.rb#39 - def warn?; end +# pkg:gem/sidekiq#lib/sidekiq/logger.rb:64 +class Sidekiq::Logger::Formatters::WithoutTimestamp < ::Sidekiq::Logger::Formatters::Pretty + # pkg:gem/sidekiq#lib/sidekiq/logger.rb:65 + def call(severity, time, program_name, message); end end -# source://sidekiq//lib/sidekiq/logger.rb#26 -Sidekiq::LoggingUtils::LEVELS = T.let(T.unsafe(nil), Hash) - -# source://sidekiq//lib/sidekiq/version.rb#5 +# pkg:gem/sidekiq#lib/sidekiq/version.rb:5 Sidekiq::MAJOR = T.let(T.unsafe(nil), Integer) -# source://sidekiq//lib/sidekiq/metrics/shared.rb#4 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:4 module Sidekiq::Metrics; end -# source://sidekiq//lib/sidekiq/metrics/shared.rb#5 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:5 class Sidekiq::Metrics::Counter - # @return [Counter] a new instance of Counter - # - # source://sidekiq//lib/sidekiq/metrics/shared.rb#6 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:6 def initialize; end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#11 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:11 def increment; end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#15 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:15 def value; end end @@ -1916,35 +1812,34 @@ end # # To store this data, we use Redis' BITFIELD command to store unsigned 16-bit counters # per bucket per klass per minute. It's unlikely that most people will be executing more -# than 1000 job/sec for a full minute of a specific type. +# than 1000 job/sec for a full minute of a specific type (i.e. overflow 65,536). # -# source://sidekiq//lib/sidekiq/metrics/shared.rb#29 +# Histograms are only stored at the fine-grained level, they are not rolled up +# for longer-term buckets. +# +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:32 class Sidekiq::Metrics::Histogram include ::Enumerable - # @return [Histogram] a new instance of Histogram - # - # source://sidekiq//lib/sidekiq/metrics/shared.rb#71 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:74 def initialize(klass); end - # Returns the value of attribute buckets. - # - # source://sidekiq//lib/sidekiq/metrics/shared.rb#70 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:73 def buckets; end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#62 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:65 def each; end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#84 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:87 def fetch(conn, now = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#66 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:69 def label(idx); end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#90 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:93 def persist(conn, now = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/metrics/shared.rb#76 + # pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:79 def record_time(ms); end end @@ -1954,82 +1849,115 @@ end # up to about 5.5 minutes. After that, it's assumed you're probably # not too concerned with its performance. # -# source://sidekiq//lib/sidekiq/metrics/shared.rb#37 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:40 Sidekiq::Metrics::Histogram::BUCKET_INTERVALS = T.let(T.unsafe(nil), Array) -# source://sidekiq//lib/sidekiq/metrics/shared.rb#53 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:56 Sidekiq::Metrics::Histogram::FETCH = T.let(T.unsafe(nil), Array) -# source://sidekiq//lib/sidekiq/metrics/shared.rb#60 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:63 Sidekiq::Metrics::Histogram::HISTOGRAM_TTL = T.let(T.unsafe(nil), Integer) -# source://sidekiq//lib/sidekiq/metrics/shared.rb#45 +# pkg:gem/sidekiq#lib/sidekiq/metrics/shared.rb:48 Sidekiq::Metrics::Histogram::LABELS = T.let(T.unsafe(nil), Array) # Allows caller to query for Sidekiq execution metrics within Redis. # Caller sets a set of attributes to act as filters. {#fetch} will call # Redis and return a Hash of results. # -# NB: all metrics and times/dates are UTC only. We specifically do not +# NB: all metrics and times/dates are UTC only. We explicitly do not # support timezones. # -# source://sidekiq//lib/sidekiq/metrics/query.rb#17 +# pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:15 class Sidekiq::Metrics::Query - # @return [Query] a new instance of Query - # - # source://sidekiq//lib/sidekiq/metrics/query.rb#18 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:16 def initialize(pool: T.unsafe(nil), now: T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/metrics/query.rb#56 - def for_job(klass, minutes: T.unsafe(nil)); end + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:76 + def for_job(klass, minutes: T.unsafe(nil), hours: T.unsafe(nil)); end # Get metric data for all jobs from the last hour # +class_filter+: return only results for classes matching filter + # +minutes+: the number of fine-grained minute buckets to retrieve + # +hours+: the number of coarser-grained 10-minute buckets to retrieve, in hours # - # source://sidekiq//lib/sidekiq/metrics/query.rb#26 - def top_jobs(class_filter: T.unsafe(nil), minutes: T.unsafe(nil)); end + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:37 + def top_jobs(class_filter: T.unsafe(nil), minutes: T.unsafe(nil), hours: T.unsafe(nil)); end private - # source://sidekiq//lib/sidekiq/metrics/query.rb#144 - def fetch_marks(time_range); end + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:170 + def fetch_marks(time_range, granularity); end + + class << self + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:162 + def bkt_time_s(time, granularity); end + end end -# source://sidekiq//lib/sidekiq/metrics/query.rb#102 +# pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:125 class Sidekiq::Metrics::Query::JobResult < ::Struct - # @return [JobResult] a new instance of JobResult - # - # source://sidekiq//lib/sidekiq/metrics/query.rb#103 - def initialize; end + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:126 + def initialize(granularity = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/metrics/query.rb#118 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:142 def add_hist(time, hist_result); end - # source://sidekiq//lib/sidekiq/metrics/query.rb#110 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:134 def add_metric(metric, time, value); end - # source://sidekiq//lib/sidekiq/metrics/query.rb#128 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:152 def series_avg(metric = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/metrics/query.rb#122 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:146 def total_avg(metric = T.unsafe(nil)); end end -# source://sidekiq//lib/sidekiq/metrics/query.rb#136 +# pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 class Sidekiq::Metrics::Query::MarkResult < ::Struct - # source://sidekiq//lib/sidekiq/metrics/query.rb#137 + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 def bucket; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def bucket=(_); end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def label; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def label=(_); end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def time; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def time=(_); end + + class << self + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def [](*_arg0); end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def inspect; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def keyword_init?; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def members; end + + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:160 + def new(*_arg0); end + end end -# source://sidekiq//lib/sidekiq/metrics/query.rb#87 -class Sidekiq::Metrics::Query::Result < ::Struct - # @return [Result] a new instance of Result - # - # source://sidekiq//lib/sidekiq/metrics/query.rb#88 - def initialize; end +# pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:22 +Sidekiq::Metrics::Query::ROLLUPS = T.let(T.unsafe(nil), Hash) - # source://sidekiq//lib/sidekiq/metrics/query.rb#95 - def prepend_bucket(time); end +# pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:116 +class Sidekiq::Metrics::Query::Result < ::Struct + # pkg:gem/sidekiq#lib/sidekiq/metrics/query.rb:117 + def initialize(granularity = T.unsafe(nil)); end end # Middleware is code configured to run before/after @@ -2105,19 +2033,16 @@ end # end # end # -# source://sidekiq//lib/sidekiq/middleware/chain.rb#79 +# pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:79 module Sidekiq::Middleware; end -# source://sidekiq//lib/sidekiq/middleware/chain.rb#80 +# pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:80 class Sidekiq::Middleware::Chain include ::Enumerable # @api private - # @return [Chain] a new instance of Chain - # @yield [_self] - # @yieldparam _self [Sidekiq::Middleware::Chain] the object that the method was called on # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#89 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:89 def initialize(config = T.unsafe(nil)); end # Add the given middleware to the end of the chain. @@ -2129,102 +2054,90 @@ class Sidekiq::Middleware::Chain # @param klass [Class] Your middleware class # @param *args [Array] Set of arguments to pass to every instance of your middleware # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#119 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:119 def add(klass, *args); end - # source://sidekiq//lib/sidekiq/middleware/chain.rb#163 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:163 def clear; end - # source://sidekiq//lib/sidekiq/middleware/chain.rb#99 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:99 def copy_for(capsule); end # Iterate through each middleware in the chain # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#84 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:84 def each(&block); end # @return [Boolean] if the chain contains no middleware # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#155 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:155 def empty?; end - # source://sidekiq//lib/sidekiq/middleware/chain.rb#95 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:95 def entries; end # @return [Boolean] if the given class is already in the chain # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#149 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:149 def exists?(klass); end - # @return [Boolean] if the given class is already in the chain - # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#149 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:152 def include?(klass); end # Inserts +newklass+ after +oldklass+ in the chain. # Useful if one middleware must run after another middleware. # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#141 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:141 def insert_after(oldklass, newklass, *args); end # Inserts +newklass+ before +oldklass+ in the chain. # Useful if one middleware must run before another middleware. # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#132 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:132 def insert_before(oldklass, newklass, *args); end # Used by Sidekiq to execute the middleware at runtime - # # @api private # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#169 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:169 def invoke(*args, &block); end # Identical to {#add} except the middleware is added to the front of the chain. # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#125 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:125 def prepend(klass, *args); end # Remove all middleware matching the given Class - # # @param klass [Class] # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#107 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:107 def remove(klass); end - # source://sidekiq//lib/sidekiq/middleware/chain.rb#159 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:159 def retrieve; end private - # source://sidekiq//lib/sidekiq/middleware/chain.rb#178 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:178 def traverse(chain, index, args, &block); end end # Represents each link in the middleware chain -# # @api private # -# source://sidekiq//lib/sidekiq/middleware/chain.rb#191 +# pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:191 class Sidekiq::Middleware::Entry - # @api private - # @return [Entry] a new instance of Entry - # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#194 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:194 def initialize(config, klass, *args); end - # @api private - # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#192 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:192 def klass; end - # @api private - # - # source://sidekiq//lib/sidekiq/middleware/chain.rb#200 + # pkg:gem/sidekiq#lib/sidekiq/middleware/chain.rb:200 def make_new; end end -# source://sidekiq//lib/sidekiq.rb#42 +# pkg:gem/sidekiq#lib/sidekiq.rb:43 Sidekiq::NAME = T.let(T.unsafe(nil), String) # Sidekiq::Process represents an active Sidekiq process talking with Redis. @@ -2235,45 +2148,53 @@ Sidekiq::NAME = T.let(T.unsafe(nil), String) # 'started_at' => , # 'pid' => 12345, # 'tag' => 'myapp' -# 'concurrency' => 25, -# 'queues' => ['default', 'low'], -# 'busy' => 10, +# 'concurrency' => 5, +# 'capsules' => {"default" => {"mode" => "weighted", "concurrency" => 5, "weights" => {"default" => 2, "low" => 1}}}, +# 'busy' => 3, # 'beat' => , # 'identity' => , # 'embedded' => true, # } # -# source://sidekiq//lib/sidekiq/api.rb#1017 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1123 class Sidekiq::Process # @api private - # @return [Process] a new instance of Process # - # source://sidekiq//lib/sidekiq/api.rb#1020 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1126 def initialize(hash); end - # source://sidekiq//lib/sidekiq/api.rb#1032 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1138 def [](key); end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1174 + def capsules; end + # Signal this process to log backtraces for all threads. # Useful if you have a frozen or deadlocked process which is # still sending a heartbeat. # This method is *asynchronous* and it can take 5-10 seconds. # - # source://sidekiq//lib/sidekiq/api.rb#1080 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1210 def dump_threads; end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/api.rb#1052 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1182 def embedded?; end - # source://sidekiq//lib/sidekiq/api.rb#1036 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1145 + def id; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1142 def identity; end - # source://sidekiq//lib/sidekiq/api.rb#1028 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1134 def labels; end - # source://sidekiq//lib/sidekiq/api.rb#1040 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1219 + def leader?; end + + # deprecated, use capsules below + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1148 def queues; end # Signal this process to stop processing new jobs. @@ -2281,7 +2202,7 @@ class Sidekiq::Process # This method is *asynchronous* and it can take 5-10 # seconds for the process to quiet. # - # source://sidekiq//lib/sidekiq/api.rb#1060 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1190 def quiet!; end # Signal this process to shutdown. @@ -2289,26 +2210,28 @@ class Sidekiq::Process # This method is *asynchronous* and it can take 5-10 # seconds for the process to start shutting down. # - # source://sidekiq//lib/sidekiq/api.rb#1070 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1200 def stop!; end # @return [Boolean] true if this process is quiet or shutting down # - # source://sidekiq//lib/sidekiq/api.rb#1085 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1215 def stopping?; end - # source://sidekiq//lib/sidekiq/api.rb#1024 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1130 def tag; end - # source://sidekiq//lib/sidekiq/api.rb#1048 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1178 def version; end - # source://sidekiq//lib/sidekiq/api.rb#1044 + # deprecated, use capsules below + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1158 def weights; end private - # source://sidekiq//lib/sidekiq/api.rb#1091 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1225 def signal(sig); end end @@ -2318,66 +2241,112 @@ end # # @yieldparam [Sidekiq::Process] # -# source://sidekiq//lib/sidekiq/api.rb#879 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:984 class Sidekiq::ProcessSet include ::Enumerable # @api private - # @return [ProcessSet] a new instance of ProcessSet # - # source://sidekiq//lib/sidekiq/api.rb#902 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1007 def initialize(clean_plz = T.unsafe(nil)); end # Cleans up dead processes recorded in Redis. # Returns the number of processes cleaned. - # # @api private # - # source://sidekiq//lib/sidekiq/api.rb#910 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1015 def cleanup; end - # source://sidekiq//lib/sidekiq/api.rb#934 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1039 def each; end # Returns the identity of the current cluster leader or "" if no leader. # This is a Sidekiq Enterprise feature, will always return "" in Sidekiq # or Sidekiq Pro. - # # @return [String] Identity of cluster leader # @return [String] empty string if no leader # - # source://sidekiq//lib/sidekiq/api.rb#991 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1097 def leader; end # This method is not guaranteed accurate since it does not prune the set # based on current heartbeat. #each does that and ensures the set only # contains Sidekiq processes which have sent a heartbeat within the last # 60 seconds. - # # @return [Integer] current number of registered Sidekiq processes # - # source://sidekiq//lib/sidekiq/api.rb#968 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1074 def size; end - # source://sidekiq//lib/sidekiq/api.rb#976 + # Total number of threads available to execute jobs. + # For Sidekiq Enterprise customers this number (in production) must be + # less than or equal to your licensed concurrency. + # @return [Integer] the sum of process concurrency + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1082 def total_concurrency; end - # @return [Integer] total amount of RSS memory consumed by Sidekiq processes - # - # source://sidekiq//lib/sidekiq/api.rb#981 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1090 def total_rss; end # @return [Integer] total amount of RSS memory consumed by Sidekiq processes # - # source://sidekiq//lib/sidekiq/api.rb#981 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1087 def total_rss_in_kb; end class << self - # source://sidekiq//lib/sidekiq/api.rb#882 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:987 def [](identity); end end end +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1384 +class Sidekiq::ProfileRecord + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1387 + def initialize(arr); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1401 + def data; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def elapsed; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def jid; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1397 + def key; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def size; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def started_at; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def token; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1385 + def type; end +end + +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1352 +class Sidekiq::ProfileSet + include ::Enumerable + + # This is a point in time/snapshot API, you'll need to instantiate a new instance + # if you want to fetch newer records. + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1357 + def initialize; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1370 + def each(&block); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1366 + def size; end +end + # Represents a queue within Sidekiq. # Allows enumeration of all jobs within the queue # and deletion of jobs. NB: this queue data is real-time @@ -2390,29 +2359,28 @@ end # job.delete if job.jid == 'abcdef1234567890' # end # -# source://sidekiq//lib/sidekiq/api.rb#227 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:285 class Sidekiq::Queue include ::Enumerable + include ::Sidekiq::ApiUtils # @param name [String] the name of the queue - # @return [Queue] a new instance of Queue # - # source://sidekiq//lib/sidekiq/api.rb#241 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:301 def initialize(name = T.unsafe(nil)); end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#324 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:383 def as_json(options = T.unsafe(nil)); end # delete all jobs within this queue - # # @return [Boolean] true # - # source://sidekiq//lib/sidekiq/api.rb#311 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:370 def clear; end - # source://sidekiq//lib/sidekiq/api.rb#275 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:334 def each; end # Find the job with the given JID within this queue. @@ -2424,25 +2392,26 @@ class Sidekiq::Queue # @return [Sidekiq::JobRecord] # @return [nil] if not found # - # source://sidekiq//lib/sidekiq/api.rb#305 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:364 def find_job(jid); end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:298 + def id; end + # Calculates this queue's latency, the difference in seconds since the oldest # job in the queue was enqueued. # # @return [Float] in seconds # - # source://sidekiq//lib/sidekiq/api.rb#264 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:324 def latency; end - # Returns the value of attribute name. - # - # source://sidekiq//lib/sidekiq/api.rb#238 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:297 def name; end # @return [Boolean] if the queue is currently paused # - # source://sidekiq//lib/sidekiq/api.rb#255 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:315 def paused?; end # The current size of the queue within Redis. @@ -2450,14 +2419,10 @@ class Sidekiq::Queue # # @return [Integer] the size # - # source://sidekiq//lib/sidekiq/api.rb#250 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:310 def size; end - # delete all jobs within this queue - # - # @return [Boolean] true - # - # source://sidekiq//lib/sidekiq/api.rb#311 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:379 def 💣; end class << self @@ -2465,226 +2430,194 @@ class Sidekiq::Queue # # @return [Array] # - # source://sidekiq//lib/sidekiq/api.rb#234 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:293 def all; end end end -# source://sidekiq//lib/sidekiq/rails.rb#18 -class Sidekiq::Rails < ::Rails::Engine - class << self - private - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#15 - def __class_attr___callbacks; end - - # source://activesupport/8.0.2.1/lib/active_support/class_attribute.rb#17 - def __class_attr___callbacks=(new_value); end - end -end - -# source://sidekiq//lib/sidekiq/rails.rb#19 -class Sidekiq::Rails::Reloader - # @return [Reloader] a new instance of Reloader - # - # source://sidekiq//lib/sidekiq/rails.rb#20 - def initialize(app = T.unsafe(nil)); end - - # source://sidekiq//lib/sidekiq/rails.rb#24 - def call; end - - # source://sidekiq//lib/sidekiq/rails.rb#31 - def inspect; end - - # source://sidekiq//lib/sidekiq/rails.rb#35 - def to_hash; end -end - -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#8 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:7 class Sidekiq::RedisClientAdapter - # @return [RedisClientAdapter] a new instance of RedisClientAdapter - # - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#63 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:62 def initialize(options); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#79 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:78 def new_client; end private - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#85 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:84 def client_opts(options); end end -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#9 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:8 Sidekiq::RedisClientAdapter::BaseError = RedisClient::Error -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#10 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:9 Sidekiq::RedisClientAdapter::CommandError = RedisClient::CommandError -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#0 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:54 class Sidekiq::RedisClientAdapter::CompatClient < ::RedisClient::Decorator::Client include ::Sidekiq::RedisClientAdapter::CompatMethods - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#58 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:57 def config; end end -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#0 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:54 class Sidekiq::RedisClientAdapter::CompatClient::Pipeline < ::RedisClient::Decorator::Pipeline include ::Sidekiq::RedisClientAdapter::CompatMethods end -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#15 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:14 module Sidekiq::RedisClientAdapter::CompatMethods - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def bitfield(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def bitfield_ro(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def del(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#20 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:19 def evalsha(sha, keys, argv); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def exists(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def expire(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def flushdb(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def get(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hdel(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hget(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hgetall(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hincrby(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hlen(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hmget(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hset(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def hsetnx(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def incr(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def incrby(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#16 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:15 def info; end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lindex(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def llen(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lmove(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lpop(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lpush(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lrange(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def lrem(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def mget(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def mset(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def ping(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def pttl(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def publish(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def rpop(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def rpush(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def sadd(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def scard(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def script(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def set(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def sismember(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def smembers(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def srem(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def ttl(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def type(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def unlink(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zadd(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zcard(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zincrby(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zrange(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zrem(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zremrangebyrank(*args, **kwargs); end - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#35 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:34 def zremrangebyscore(*args, **kwargs); end private @@ -2692,12 +2625,10 @@ module Sidekiq::RedisClientAdapter::CompatMethods # this allows us to use methods like `conn.hmset(...)` instead of having to use # redis-client's native `conn.call("hmset", ...)` # - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#44 - def method_missing(*args, **_arg1, &block); end + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:43 + def method_missing(*args, **, &block); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/redis_client_adapter.rb#50 + # pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:49 def respond_to_missing?(name, include_private = T.unsafe(nil)); end end @@ -2705,79 +2636,74 @@ end # to be comprehensive, we use this as a performance enhancement to # avoid calling method_missing on most commands # -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#27 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:26 Sidekiq::RedisClientAdapter::CompatMethods::USED_COMMANDS = T.let(T.unsafe(nil), Array) # You can add/remove items or clear the whole thing if you don't want deprecation warnings. # -# source://sidekiq//lib/sidekiq/redis_client_adapter.rb#13 +# pkg:gem/sidekiq#lib/sidekiq/redis_client_adapter.rb:12 Sidekiq::RedisClientAdapter::DEPRECATED_COMMANDS = T.let(T.unsafe(nil), Set) -# source://sidekiq//lib/sidekiq/redis_connection.rb#8 +# pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:8 module Sidekiq::RedisConnection class << self - # source://sidekiq//lib/sidekiq/redis_connection.rb#10 + # pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:10 def create(options = T.unsafe(nil)); end private - # source://sidekiq//lib/sidekiq/redis_connection.rb#41 + # pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:52 def deep_symbolize_keys(object); end - # source://sidekiq//lib/sidekiq/redis_connection.rb#81 + # pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:92 def determine_redis_provider; end - # source://sidekiq//lib/sidekiq/redis_connection.rb#54 + # pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:65 def scrub(options); end + + # Wrap hard-coded passwords in a Proc to avoid logging the value + # + # pkg:gem/sidekiq#lib/sidekiq/redis_connection.rb:44 + def wrap(pwd); end end end # The set of retries within Sidekiq. # See the API wiki page for usage notes and examples. # -# source://sidekiq//lib/sidekiq/api.rb#815 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:920 class Sidekiq::RetrySet < ::Sidekiq::JobSet - # @return [RetrySet] a new instance of RetrySet - # - # source://sidekiq//lib/sidekiq/api.rb#816 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:921 def initialize; end end # The set of scheduled jobs within Sidekiq. # See the API wiki page for usage notes and examples. # -# source://sidekiq//lib/sidekiq/api.rb#805 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:910 class Sidekiq::ScheduledSet < ::Sidekiq::JobSet - # @return [ScheduledSet] a new instance of ScheduledSet - # - # source://sidekiq//lib/sidekiq/api.rb#806 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:911 def initialize; end end # Server-side middleware must import this Module in order # to get access to server resources during `call`. # -# source://sidekiq//lib/sidekiq/middleware/modules.rb#6 +# pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:6 module Sidekiq::ServerMiddleware - # Returns the value of attribute config. - # - # source://sidekiq//lib/sidekiq/middleware/modules.rb#7 + # pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:7 def config; end - # Sets the attribute config - # - # @param value the value to set the attribute config to. - # - # source://sidekiq//lib/sidekiq/middleware/modules.rb#7 + # pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:7 def config=(_arg0); end - # source://sidekiq//lib/sidekiq/middleware/modules.rb#12 + # pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:12 def logger; end - # source://sidekiq//lib/sidekiq/middleware/modules.rb#16 + # pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:16 def redis(&block); end - # source://sidekiq//lib/sidekiq/middleware/modules.rb#8 + # pkg:gem/sidekiq#lib/sidekiq/middleware/modules.rb:8 def redis_pool; end end @@ -2788,7 +2714,7 @@ end # otherwise Ruby's Thread#kill will commit. See #377. # DO NOT RESCUE THIS ERROR IN YOUR JOBS # -# source://sidekiq//lib/sidekiq.rb#146 +# pkg:gem/sidekiq#lib/sidekiq.rb:158 class Sidekiq::Shutdown < ::Interrupt; end # Represents a job within a Redis sorted set where the score @@ -2796,94 +2722,90 @@ class Sidekiq::Shutdown < ::Interrupt; end # could be the scheduled time for it to run (e.g. scheduled set), # or the expiration date after which the entry should be deleted (e.g. dead set). # -# source://sidekiq//lib/sidekiq/api.rb#503 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:590 class Sidekiq::SortedEntry < ::Sidekiq::JobRecord # @api private - # @return [SortedEntry] a new instance of SortedEntry # - # source://sidekiq//lib/sidekiq/api.rb#509 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:595 def initialize(parent, score, item); end # Enqueue this job from the scheduled or dead set so it will # be executed at some point in the near future. # - # source://sidekiq//lib/sidekiq/api.rb#540 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:635 def add_to_queue; end # The timestamp associated with this entry # - # source://sidekiq//lib/sidekiq/api.rb#516 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:610 def at; end # remove this entry from the sorted set # - # source://sidekiq//lib/sidekiq/api.rb#521 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:615 def delete; end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/api.rb#564 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:659 def error?; end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:605 + def id; end + # Move this job from its current set into the Dead set. # - # source://sidekiq//lib/sidekiq/api.rb#558 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:653 def kill; end - # Returns the value of attribute parent. - # - # source://sidekiq//lib/sidekiq/api.rb#505 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:591 def parent; end # Change the scheduled time for this job. # # @param at [Time] the new timestamp for this job # - # source://sidekiq//lib/sidekiq/api.rb#532 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:626 def reschedule(at); end # enqueue this job from the retry set so it will be executed # at some point in the near future. # - # source://sidekiq//lib/sidekiq/api.rb#549 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:644 def retry; end - # Returns the value of attribute score. - # - # source://sidekiq//lib/sidekiq/api.rb#504 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:601 def score; end private - # source://sidekiq//lib/sidekiq/api.rb#570 - def remove_job; end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:665 + def remove_job(&); end end # Base class for all sorted sets within Sidekiq. # -# source://sidekiq//lib/sidekiq/api.rb#606 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:671 class Sidekiq::SortedSet include ::Enumerable # @api private - # @return [SortedSet] a new instance of SortedSet # - # source://sidekiq//lib/sidekiq/api.rb#615 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:680 def initialize(name); end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#653 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:718 def as_json(options = T.unsafe(nil)); end # @return [Boolean] always true # - # source://sidekiq//lib/sidekiq/api.rb#643 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:708 def clear; end # Redis key of the set + # @!attribute [r] Name # - # source://sidekiq//lib/sidekiq/api.rb#611 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:676 def name; end # Scan through each element of the sorted set, yielding each to the supplied block. @@ -2891,19 +2813,17 @@ class Sidekiq::SortedSet # # @param match [String] a snippet or regexp to filter matches. # @param count [Integer] number of elements to retrieve at a time, default 100 - # @yieldparam each [Sidekiq::SortedEntry] entry + # @yieldparam [Sidekiq::SortedEntry] each entry # - # source://sidekiq//lib/sidekiq/api.rb#631 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:696 def scan(match, count = T.unsafe(nil)); end # real-time size of the set, will change # - # source://sidekiq//lib/sidekiq/api.rb#621 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:686 def size; end - # @return [Boolean] always true - # - # source://sidekiq//lib/sidekiq/api.rb#643 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:714 def 💣; end end @@ -2913,169 +2833,174 @@ end # stat = Sidekiq::Stats.new # stat.processed # -# source://sidekiq//lib/sidekiq/api.rb#27 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:44 class Sidekiq::Stats - # @return [Stats] a new instance of Stats - # - # source://sidekiq//lib/sidekiq/api.rb#28 + include ::Sidekiq::ApiUtils + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:51 def initialize; end - # source://sidekiq//lib/sidekiq/api.rb#48 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:71 def dead_size; end - # source://sidekiq//lib/sidekiq/api.rb#64 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:87 def default_queue_latency; end - # source://sidekiq//lib/sidekiq/api.rb#52 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:75 def enqueued; end - # source://sidekiq//lib/sidekiq/api.rb#36 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:59 def failed; end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#151 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:209 def fetch_stats!; end # O(1) redis calls - # # @api private # - # source://sidekiq//lib/sidekiq/api.rb#85 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:144 def fetch_stats_fast!; end # O(number of processes + number of queues) redis calls - # # @api private # - # source://sidekiq//lib/sidekiq/api.rb#125 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:183 def fetch_stats_slow!; end - # source://sidekiq//lib/sidekiq/api.rb#32 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:55 def processed; end - # source://sidekiq//lib/sidekiq/api.rb#56 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:79 def processes_size; end - # source://sidekiq//lib/sidekiq/api.rb#68 + # More detailed information about each queue: name, size, latency, paused status + # @return [Array] + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:109 + def queue_summaries; end + + # @return [Hash{String => Integer}] a hash of queue names to their lengths + # + # pkg:gem/sidekiq#lib/sidekiq/api.rb:92 def queues; end # @api private # - # source://sidekiq//lib/sidekiq/api.rb#157 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:215 def reset(*stats); end - # source://sidekiq//lib/sidekiq/api.rb#44 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:67 def retry_size; end - # source://sidekiq//lib/sidekiq/api.rb#40 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:63 def scheduled_size; end - # source://sidekiq//lib/sidekiq/api.rb#60 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:83 def workers_size; end private - # source://sidekiq//lib/sidekiq/api.rb#173 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:231 def stat(s); end end -# source://sidekiq//lib/sidekiq/api.rb#178 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:236 class Sidekiq::Stats::History - # @raise [ArgumentError] - # @return [History] a new instance of History - # - # source://sidekiq//lib/sidekiq/api.rb#179 - def initialize(days_previous, start_date = T.unsafe(nil), pool: T.unsafe(nil)); end + # pkg:gem/sidekiq#lib/sidekiq/api.rb:237 + def initialize(days_previous, start_date = T.unsafe(nil)); end - # source://sidekiq//lib/sidekiq/api.rb#190 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:248 def failed; end - # source://sidekiq//lib/sidekiq/api.rb#186 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:244 def processed; end private - # source://sidekiq//lib/sidekiq/api.rb#196 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:254 def date_stat_hash(stat); end end -# source://sidekiq//lib/sidekiq/transaction_aware_client.rb#7 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:45 +class Sidekiq::Stats::QueueSummary < ::Data + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def latency; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def name; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def paused; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:46 + def paused?; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def size; end + + class << self + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def [](*_arg0); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def inspect; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def members; end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:45 + def new(*_arg0); end + end +end + +# pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:7 class Sidekiq::TransactionAwareClient - # @return [TransactionAwareClient] a new instance of TransactionAwareClient - # - # source://sidekiq//lib/sidekiq/transaction_aware_client.rb#8 + # pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:8 def initialize(pool: T.unsafe(nil), config: T.unsafe(nil)); end - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/transaction_aware_client.rb#12 + # pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:18 def batching?; end - # source://sidekiq//lib/sidekiq/transaction_aware_client.rb#16 + # pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:22 def push(item); end # We don't provide transactionality for push_bulk because we don't want # to hold potentially hundreds of thousands of job records in memory due to # a long running enqueue process. # - # source://sidekiq//lib/sidekiq/transaction_aware_client.rb#31 + # pkg:gem/sidekiq#lib/sidekiq/transaction_aware_client.rb:37 def push_bulk(items); end end -# source://sidekiq//lib/sidekiq/version.rb#4 +# pkg:gem/sidekiq#lib/sidekiq/version.rb:4 Sidekiq::VERSION = T.let(T.unsafe(nil), String) # Sidekiq::Work represents a job which is currently executing. # -# source://sidekiq//lib/sidekiq/api.rb#1185 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1319 class Sidekiq::Work - # @return [Work] a new instance of Work - # - # source://sidekiq//lib/sidekiq/api.rb#1189 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1323 def initialize(pid, tid, hsh); end - # deprecated - # - # source://sidekiq//lib/sidekiq/api.rb#1213 - def [](key); end - - # source://sidekiq//lib/sidekiq/api.rb#1204 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1338 def job; end - # source://sidekiq//lib/sidekiq/api.rb#1227 - def method_missing(*all); end - - # source://sidekiq//lib/sidekiq/api.rb#1208 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1342 def payload; end - # Returns the value of attribute process_id. - # - # source://sidekiq//lib/sidekiq/api.rb#1186 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1320 def process_id; end - # source://sidekiq//lib/sidekiq/api.rb#1196 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1330 def queue; end - # @api private - # - # source://sidekiq//lib/sidekiq/api.rb#1223 - def raw(name); end - - # source://sidekiq//lib/sidekiq/api.rb#1200 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1334 def run_at; end - # Returns the value of attribute thread_id. - # - # source://sidekiq//lib/sidekiq/api.rb#1187 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1321 def thread_id; end - - private - - # @return [Boolean] - # - # source://sidekiq//lib/sidekiq/api.rb#1231 - def respond_to_missing?(name, *args); end end # The WorkSet stores the work being done by this Sidekiq cluster. @@ -3092,16 +3017,15 @@ end # works.each do |process_id, thread_id, work| # # process_id is a unique identifier per Sidekiq process # # thread_id is a unique identifier per thread -# # work is a Hash which looks like: -# # { 'queue' => name, 'run_at' => timestamp, 'payload' => job_hash } -# # run_at is an epoch Integer. +# # work is a `Sidekiq::Work` instance that has the following accessor methods. +# # [work.queue, work.run_at, work.payload] # end # -# source://sidekiq//lib/sidekiq/api.rb#1122 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1255 class Sidekiq::WorkSet include ::Enumerable - # source://sidekiq//lib/sidekiq/api.rb#1125 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1258 def each(&block); end # Find the work which represents a job with the given JID. @@ -3110,7 +3034,10 @@ class Sidekiq::WorkSet # @param jid [String] the job identifier # @return [Sidekiq::Work] the work or nil # - # source://sidekiq//lib/sidekiq/api.rb#1175 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1308 + def find_work(jid); end + + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1315 def find_work_by_jid(jid); end # Note that #size is only as accurate as Sidekiq's heartbeat, @@ -3120,7 +3047,7 @@ class Sidekiq::WorkSet # processes but the alternative is a global counter # which can easily get out of sync with crashy processes. # - # source://sidekiq//lib/sidekiq/api.rb#1154 + # pkg:gem/sidekiq#lib/sidekiq/api.rb:1287 def size; end end @@ -3133,12 +3060,12 @@ end # "worker". This change brings Sidekiq closer to ActiveJob where your job # classes extend ApplicationJob. # -# source://sidekiq//lib/sidekiq/worker_compatibility_alias.rb#12 +# pkg:gem/sidekiq#lib/sidekiq/worker_compatibility_alias.rb:12 Sidekiq::Worker = Sidekiq::Job # Since "worker" is a nebulous term, we've deprecated the use of this class name. # Is "worker" a process, a type of job, a thread? Undefined! # WorkSet better describes the data. # -# source://sidekiq//lib/sidekiq/api.rb#1239 +# pkg:gem/sidekiq#lib/sidekiq/api.rb:1350 Sidekiq::Workers = Sidekiq::WorkSet diff --git a/sorbet/rbi/gems/simplecov-html@0.13.2.rbi b/sorbet/rbi/gems/simplecov-html@0.13.2.rbi deleted file mode 100644 index c171cbd9..00000000 --- a/sorbet/rbi/gems/simplecov-html@0.13.2.rbi +++ /dev/null @@ -1,90 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `simplecov-html` gem. -# Please instead update this file by running `bin/tapioca gem simplecov-html`. - - -# pkg:gem/simplecov-html#lib/simplecov-html.rb:15 -module SimpleCov; end - -# pkg:gem/simplecov-html#lib/simplecov-html.rb:16 -module SimpleCov::Formatter; end - -# pkg:gem/simplecov-html#lib/simplecov-html.rb:17 -class SimpleCov::Formatter::HTMLFormatter - # pkg:gem/simplecov-html#lib/simplecov-html.rb:26 - def initialize; end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:33 - def format(result); end - - private - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:93 - def asset_inline(name); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:79 - def asset_output_path; end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:87 - def assets_path(name); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:48 - def branchable_result?; end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:124 - def coverage_css_class(covered_percent); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:120 - def covered_percent(percent); end - - # Returns a table containing the given source files - # - # pkg:gem/simplecov-html#lib/simplecov-html.rb:111 - def formatted_file_list(title, source_files); end - - # Returns the html for the given source_file - # - # pkg:gem/simplecov-html#lib/simplecov-html.rb:104 - def formatted_source_file(source_file); end - - # Return a (kind of) unique id for the source file given. Uses SHA1 on path for the id - # - # pkg:gem/simplecov-html#lib/simplecov-html.rb:145 - def id(source_file); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:55 - def line_status?(source_file, line); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:157 - def link_to_source_file(source_file); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:63 - def output_message(result); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:75 - def output_path; end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:153 - def shortened_filename(source_file); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:134 - def strength_css_class(covered_strength); end - - # Returns the an erb instance for the template of given name - # - # pkg:gem/simplecov-html#lib/simplecov-html.rb:71 - def template(name); end - - # pkg:gem/simplecov-html#lib/simplecov-html.rb:149 - def timeago(time); end -end - -# Only have a few content types, just hardcode them -# -# pkg:gem/simplecov-html#lib/simplecov-html.rb:19 -SimpleCov::Formatter::HTMLFormatter::CONTENT_TYPES = T.let(T.unsafe(nil), Hash) - -# pkg:gem/simplecov-html#lib/simplecov-html/version.rb:6 -SimpleCov::Formatter::HTMLFormatter::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/simplecov@0.22.0.rbi b/sorbet/rbi/gems/simplecov@0.22.0.rbi deleted file mode 100644 index 315a7794..00000000 --- a/sorbet/rbi/gems/simplecov@0.22.0.rbi +++ /dev/null @@ -1,2149 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `simplecov` gem. -# Please instead update this file by running `bin/tapioca gem simplecov`. - - -# Code coverage for ruby. Please check out README for a full introduction. -# -# source://simplecov//lib/simplecov.rb#22 -module SimpleCov - extend ::SimpleCov::Configuration - - class << self - # source://simplecov//lib/simplecov.rb#174 - def at_exit_behavior; end - - # Clear out the previously cached .result. Primarily useful in testing - # - # source://simplecov//lib/simplecov.rb#170 - def clear_result; end - - # Collate a series of SimpleCov result files into a single SimpleCov output. - # - # You can optionally specify configuration with a block: - # SimpleCov.collate Dir["simplecov-resultset-*/.resultset.json"] - # OR - # SimpleCov.collate Dir["simplecov-resultset-*/.resultset.json"], 'rails' # using rails profile - # OR - # SimpleCov.collate Dir["simplecov-resultset-*/.resultset.json"] do - # add_filter 'test' - # end - # OR - # SimpleCov.collate Dir["simplecov-resultset-*/.resultset.json"], 'rails' do - # add_filter 'test' - # end - # - # Please check out the RDoc for SimpleCov::Configuration to find about - # available config options, or checkout the README for more in-depth - # information about coverage collation - # - # By default `collate` ignores the merge_timeout so all results of all files specified will be - # merged together. If you want to honor the merge_timeout then provide the keyword argument - # `ignore_timeout: false`. - # - # source://simplecov//lib/simplecov.rb#86 - def collate(result_filenames, profile = T.unsafe(nil), ignore_timeout: T.unsafe(nil), &block); end - - # Thinking: Move this behavior earlier so if there was an error we do nothing? - # - # @api private - # - # source://simplecov//lib/simplecov.rb#223 - def exit_and_report_previous_error(exit_status); end - - # Returns the exit status from the exit exception - # - # @api private - # - # source://simplecov//lib/simplecov.rb#200 - def exit_status_from_exception; end - - # Basically, should we take care of at_exit behavior or something else? - # Used by the minitest plugin. See lib/minitest/simplecov_plugin.rb - # - # source://simplecov//lib/simplecov.rb#28 - def external_at_exit; end - - # Basically, should we take care of at_exit behavior or something else? - # Used by the minitest plugin. See lib/minitest/simplecov_plugin.rb - # - # source://simplecov//lib/simplecov.rb#28 - def external_at_exit=(_arg0); end - - # Basically, should we take care of at_exit behavior or something else? - # Used by the minitest plugin. See lib/minitest/simplecov_plugin.rb - # - # source://simplecov//lib/simplecov.rb#28 - def external_at_exit?; end - - # Applies the configured filters to the given array of SimpleCov::SourceFile items - # - # source://simplecov//lib/simplecov.rb#131 - def filtered(files); end - - # @api private - # @return [Boolean] - # - # source://simplecov//lib/simplecov.rb#268 - def final_result_process?; end - - # Applies the configured groups to the given array of SimpleCov::SourceFile items - # - # source://simplecov//lib/simplecov.rb#142 - def grouped(files); end - - # source://simplecov//lib/simplecov.rb#162 - def load_adapter(name); end - - # Applies the profile of given name on SimpleCov configuration - # - # source://simplecov//lib/simplecov.rb#158 - def load_profile(name); end - - # Returns the value of attribute pid. - # - # source://simplecov//lib/simplecov.rb#24 - def pid; end - - # Sets the attribute pid - # - # @param value the value to set the attribute pid to. - # - # source://simplecov//lib/simplecov.rb#24 - def pid=(_arg0); end - - # @api private - # @return [Boolean] - # - # source://simplecov//lib/simplecov.rb#213 - def previous_error?(error_exit_status); end - - # Usage: - # exit_status = SimpleCov.process_result(SimpleCov.result, exit_status) - # - # @api private - # - # source://simplecov//lib/simplecov.rb#248 - def process_result(result); end - - # source://simplecov//lib/simplecov.rb#233 - def process_results_and_report_error; end - - # @api private - # @return [Boolean] - # - # source://simplecov//lib/simplecov.rb#229 - def ready_to_process_results?; end - - # Returns the result for the current coverage run, merging it across test suites - # from cache using SimpleCov::ResultMerger if use_merging is activated (default) - # - # source://simplecov//lib/simplecov.rb#101 - def result; end - - # Returns nil if the result has not been computed - # Otherwise, returns the result - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov.rb#124 - def result?; end - - # source://simplecov//lib/simplecov.rb#256 - def result_exit_status(result); end - - # Rounding down to be extra strict, see #679 - # - # @api private - # - # source://simplecov//lib/simplecov.rb#296 - def round_coverage(coverage); end - - # Called from at_exit block - # - # @api private - # - # source://simplecov//lib/simplecov.rb#186 - def run_exit_tasks!; end - - # Returns the value of attribute running. - # - # source://simplecov//lib/simplecov.rb#24 - def running; end - - # Sets the attribute running - # - # @param value the value to set the attribute running to. - # - # source://simplecov//lib/simplecov.rb#24 - def running=(_arg0); end - - # Sets up SimpleCov to run against your project. - # You can optionally specify a profile to use as well as configuration with a block: - # SimpleCov.start - # OR - # SimpleCov.start 'rails' # using rails profile - # OR - # SimpleCov.start do - # add_filter 'test' - # end - # OR - # SimpleCov.start 'rails' do - # add_filter 'test' - # end - # - # Please check out the RDoc for SimpleCov::Configuration to find about available config options - # - # source://simplecov//lib/simplecov.rb#48 - def start(profile = T.unsafe(nil), &block); end - - # @api private - # - # source://simplecov//lib/simplecov.rb#276 - def wait_for_other_processes; end - - # @api private - # - # source://simplecov//lib/simplecov.rb#285 - def write_last_run(result); end - - private - - # Unite the result so it wouldn't matter what coverage type was called - # - # @return [Hash] - # - # source://simplecov//lib/simplecov.rb#399 - def adapt_coverage_result; end - - # Finds files that were to be tracked but were not loaded and initializes - # the line-by-line coverage to zero (if relevant) or nil (comments / whitespace etc). - # - # source://simplecov//lib/simplecov.rb#371 - def add_not_loaded_files(result); end - - # source://simplecov//lib/simplecov.rb#302 - def initial_setup(profile, &block); end - - # source://simplecov//lib/simplecov.rb#363 - def lookup_corresponding_ruby_coverage_name(criterion); end - - # parallel_tests isn't always available, see: https://github.com/grosser/parallel_tests/issues/772 - # - # source://simplecov//lib/simplecov.rb#425 - def make_parallel_tests_available; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov.rb#434 - def probably_running_parallel_tests?; end - - # Call steps that handle process coverage result - # - # @return [Hash] - # - # source://simplecov//lib/simplecov.rb#388 - def process_coverage_result; end - - # Filter coverage result - # The result before filter also has result of coverage for files - # are not related to the project like loaded gems coverage. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov.rb#410 - def remove_useless_results; end - - # Initialize result with files that are not included by coverage - # and added inside the config block - # - # @return [Hash] - # - # source://simplecov//lib/simplecov.rb#420 - def result_with_not_loaded_files; end - - # Trigger Coverage.start depends on given config coverage_criterion - # - # With Positive branch it supports all coverage measurement types - # With Negative branch it supports only line coverage measurement type - # - # source://simplecov//lib/simplecov.rb#314 - def start_coverage_measurement; end - - # source://simplecov//lib/simplecov.rb#349 - def start_coverage_with_criteria; end - end -end - -# source://simplecov//lib/simplecov/filter.rb#77 -class SimpleCov::ArrayFilter < ::SimpleCov::Filter - # @return [ArrayFilter] a new instance of ArrayFilter - # - # source://simplecov//lib/simplecov/filter.rb#78 - def initialize(filter_argument); end - - # Returns true if any of the filters in the array match the given source file. - # Configure this Filter like StringFilter.new(['some/path', /^some_regex/, Proc.new {|src_file| ... }]) - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#88 - def matches?(source_files_list); end -end - -# source://simplecov//lib/simplecov/filter.rb#69 -class SimpleCov::BlockFilter < ::SimpleCov::Filter - # Returns true if the block given when initializing this filter with BlockFilter.new {|src_file| ... } - # returns true for the given source file. - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#72 - def matches?(source_file); end -end - -# Functionally for combining coverage results -# -# source://simplecov//lib/simplecov/combine.rb#6 -module SimpleCov::Combine - private - - # Combine two coverage based on the given combiner_module. - # - # Combiners should always be called through this interface, - # as it takes care of short-circuiting of one of the coverages is nil. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine.rb#16 - def combine(combiner_module, coverage_a, coverage_b); end - - # source://simplecov//lib/simplecov/combine.rb#22 - def empty_coverage?(coverage_a, coverage_b); end - - # source://simplecov//lib/simplecov/combine.rb#26 - def existing_coverage(coverage_a, coverage_b); end - - class << self - # Combine two coverage based on the given combiner_module. - # - # Combiners should always be called through this interface, - # as it takes care of short-circuiting of one of the coverages is nil. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine.rb#16 - def combine(combiner_module, coverage_a, coverage_b); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/combine.rb#22 - def empty_coverage?(coverage_a, coverage_b); end - - # source://simplecov//lib/simplecov/combine.rb#26 - def existing_coverage(coverage_a, coverage_b); end - end -end - -# Combine different branch coverage results on single file. -# -# Should be called through `SimpleCov.combine`. -# -# source://simplecov//lib/simplecov/combine/branches_combiner.rb#9 -module SimpleCov::Combine::BranchesCombiner - private - - # Return merged branches or the existed brach if other is missing. - # - # Branches inside files are always same if they exist, the difference only in coverage count. - # Branch coverage report for any conditional case is built from hash, it's key is a condition and - # it's body is a hash << keys from condition and value is coverage rate >>. - # ex: branches =>{ [:if, 3, 8, 6, 8, 36] => {[:then, 4, 8, 6, 8, 12] => 1, [:else, 5, 8, 6, 8, 36]=>2}, other conditions...} - # We create copy of result and update it values depending on the combined branches coverage values. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/branches_combiner.rb#23 - def combine(coverage_a, coverage_b); end - - class << self - # Return merged branches or the existed brach if other is missing. - # - # Branches inside files are always same if they exist, the difference only in coverage count. - # Branch coverage report for any conditional case is built from hash, it's key is a condition and - # it's body is a hash << keys from condition and value is coverage rate >>. - # ex: branches =>{ [:if, 3, 8, 6, 8, 36] => {[:then, 4, 8, 6, 8, 12] => 1, [:else, 5, 8, 6, 8, 36]=>2}, other conditions...} - # We create copy of result and update it values depending on the combined branches coverage values. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/branches_combiner.rb#23 - def combine(coverage_a, coverage_b); end - end -end - -# Handle combining two coverage results for same file -# -# Should be called through `SimpleCov.combine`. -# -# source://simplecov//lib/simplecov/combine/files_combiner.rb#9 -module SimpleCov::Combine::FilesCombiner - private - - # Combines the results for 2 coverages of a file. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/files_combiner.rb#17 - def combine(coverage_a, coverage_b); end - - class << self - # Combines the results for 2 coverages of a file. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/files_combiner.rb#17 - def combine(coverage_a, coverage_b); end - end -end - -# Combine two different lines coverage results on same file -# -# Should be called through `SimpleCov.combine`. -# -# source://simplecov//lib/simplecov/combine/lines_combiner.rb#9 -module SimpleCov::Combine::LinesCombiner - private - - # source://simplecov//lib/simplecov/combine/lines_combiner.rb#12 - def combine(coverage_a, coverage_b); end - - # Return depends on coverage in a specific line - # - # Logic: - # - # => nil + 0 = nil - # => nil + nil = nil - # => int + int = int - # - # @param first_val [Integer || nil] - # @param second_val [Integer || nil] - # @return [Integer || nil] - # - # source://simplecov//lib/simplecov/combine/lines_combiner.rb#32 - def merge_line_coverage(first_val, second_val); end - - class << self - # source://simplecov//lib/simplecov/combine/lines_combiner.rb#12 - def combine(coverage_a, coverage_b); end - - # Return depends on coverage in a specific line - # - # Logic: - # - # => nil + 0 = nil - # => nil + nil = nil - # => int + int = int - # - # @param first_val [Integer || nil] - # @param second_val [Integer || nil] - # @return [Integer || nil] - # - # source://simplecov//lib/simplecov/combine/lines_combiner.rb#32 - def merge_line_coverage(first_val, second_val); end - end -end - -# There might be reports from different kinds of tests, -# e.g. RSpec and Cucumber. We need to combine their results -# into unified one. This class does that. -# To unite the results on file basis, it leverages -# the combine of lines and branches inside each file within given results. -# -# source://simplecov//lib/simplecov/combine/results_combiner.rb#10 -module SimpleCov::Combine::ResultsCombiner - private - - # Combine process explanation - # => ResultCombiner: define all present files between results and start combine on file level. - # ==> FileCombiner: collect result of next combine levels lines and branches. - # ===> LinesCombiner: combine lines results. - # ===> BranchesCombiner: combine branches results. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#22 - def combine(*results); end - - # Combine two files coverage results - # - # @param coverage_a [Hash] - # @param coverage_b [Hash] - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#55 - def combine_file_coverage(coverage_a, coverage_b); end - - # Manage combining results on files level - # - # @param combined_results [Hash] - # @param result [Hash] - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#36 - def combine_result_sets(combined_results, result); end - - class << self - # Combine process explanation - # => ResultCombiner: define all present files between results and start combine on file level. - # ==> FileCombiner: collect result of next combine levels lines and branches. - # ===> LinesCombiner: combine lines results. - # ===> BranchesCombiner: combine branches results. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#22 - def combine(*results); end - - # Combine two files coverage results - # - # @param coverage_a [Hash] - # @param coverage_b [Hash] - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#55 - def combine_file_coverage(coverage_a, coverage_b); end - - # Manage combining results on files level - # - # @param combined_results [Hash] - # @param result [Hash] - # @return [Hash] - # - # source://simplecov//lib/simplecov/combine/results_combiner.rb#36 - def combine_result_sets(combined_results, result); end - end -end - -# Helper that tries to find out what test suite is running (for SimpleCov.command_name) -# -# source://simplecov//lib/simplecov/command_guesser.rb#7 -module SimpleCov::CommandGuesser - class << self - # source://simplecov//lib/simplecov/command_guesser.rb#16 - def guess; end - - # Storage for the original command line call that invoked the test suite. - # This has got to be stored as early as possible because i.e. rake and test/unit 2 - # have a habit of tampering with ARGV, which makes i.e. the automatic distinction - # between rails unit/functional/integration tests impossible without this cached - # item. - # - # source://simplecov//lib/simplecov/command_guesser.rb#14 - def original_run_command; end - - # Storage for the original command line call that invoked the test suite. - # This has got to be stored as early as possible because i.e. rake and test/unit 2 - # have a habit of tampering with ARGV, which makes i.e. the automatic distinction - # between rails unit/functional/integration tests impossible without this cached - # item. - # - # source://simplecov//lib/simplecov/command_guesser.rb#14 - def original_run_command=(_arg0); end - - private - - # source://simplecov//lib/simplecov/command_guesser.rb#31 - def from_command_line_options; end - - # source://simplecov//lib/simplecov/command_guesser.rb#46 - def from_defined_constants; end - - # source://simplecov//lib/simplecov/command_guesser.rb#22 - def from_env; end - end -end - -# Bundles the configuration options used for SimpleCov. All methods -# defined here are usable from SimpleCov directly. Please check out -# SimpleCov documentation for further info. -# -# source://simplecov//lib/simplecov/configuration.rb#13 -module SimpleCov::Configuration - # source://simplecov//lib/simplecov/configuration.rb#161 - def adapters; end - - # Add a filter to the processing chain. - # There are four ways to define a filter: - # - # * as a String that will then be matched against all source files' file paths, - # SimpleCov.add_filter 'app/models' # will reject all your models - # * as a block which will be passed the source file in question and should either - # return a true or false value, depending on whether the file should be removed - # SimpleCov.add_filter do |src_file| - # File.basename(src_file.filename) == 'environment.rb' - # end # Will exclude environment.rb files from the results - # * as an array of strings that are matched against all sorce files' file - # paths and then ignored (basically string filter multiple times) - # SimpleCov.add_filter ['app/models', 'app/helpers'] # ignores both dirs - # * as an instance of a subclass of SimpleCov::Filter. See the documentation there - # on how to define your own filter classes - # - # source://simplecov//lib/simplecov/configuration.rb#367 - def add_filter(filter_argument = T.unsafe(nil), &filter_proc); end - - # Define a group for files. Works similar to add_filter, only that the first - # argument is the desired group name and files PASSING the filter end up in the group - # (while filters exclude when the filter is applicable). - # - # source://simplecov//lib/simplecov/configuration.rb#376 - def add_group(group_name, filter_argument = T.unsafe(nil), &filter_proc); end - - # Gets or sets the behavior to process coverage results. - # - # By default, it will call SimpleCov.result.format! - # - # Configure with: - # - # SimpleCov.at_exit do - # puts "Coverage done" - # SimpleCov.result.format! - # end - # - # source://simplecov//lib/simplecov/configuration.rb#193 - def at_exit(&block); end - - # Gets or sets the behavior to start a new forked Process. - # - # By default, it will add " (Process #{pid})" to the command_name, and start SimpleCov in quiet mode - # - # Configure with: - # - # SimpleCov.at_fork do |pid| - # SimpleCov.start do - # # This needs a unique name so it won't be ovewritten - # SimpleCov.command_name "#{SimpleCov.command_name} (subprocess: #{pid})" - # # be quiet, the parent process will be in charge of using the regular formatter and checking coverage totals - # SimpleCov.print_error_status = false - # SimpleCov.formatter SimpleCov::Formatter::SimpleFormatter - # SimpleCov.minimum_coverage 0 - # # start - # SimpleCov.start - # end - # end - # - # source://simplecov//lib/simplecov/configuration.rb#233 - def at_fork(&block); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#428 - def branch_coverage?; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#443 - def branch_coverage_supported?; end - - # source://simplecov//lib/simplecov/configuration.rb#424 - def clear_coverage_criteria; end - - # The name of the command (a.k.a. Test Suite) currently running. Used for result - # merging and caching. It first tries to make a guess based upon the command line - # arguments the current test suite is running on and should automatically detect - # unit tests, functional tests, integration tests, rpsec and cucumber and label - # them properly. If it fails to recognize the current command, the command name - # is set to the shell command that the current suite is running on. - # - # You can specify it manually with SimpleCov.command_name("test:units") - please - # also check out the corresponding section in README.rdoc - # - # source://simplecov//lib/simplecov/configuration.rb#87 - def command_name(name = T.unsafe(nil)); end - - # Allows you to configure simplecov in a block instead of prepending SimpleCov to all config methods - # you're calling. - # - # SimpleCov.configure do - # add_filter 'foobar' - # end - # - # This is equivalent to SimpleCov.add_filter 'foobar' and thus makes it easier to set a bunch of configure - # options at once. - # - # source://simplecov//lib/simplecov/configuration.rb#177 - def configure(&block); end - - # source://simplecov//lib/simplecov/configuration.rb#416 - def coverage_criteria; end - - # Define which coverage criterion should be evaluated. - # - # Possible coverage criteria: - # * :line - coverage based on lines aka has this line been executed? - # * :branch - coverage based on branches aka has this branch (think conditions) been executed? - # - # If not set the default is `:line` - # - # @param criterion [Symbol] - # - # source://simplecov//lib/simplecov/configuration.rb#393 - def coverage_criterion(criterion = T.unsafe(nil)); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#420 - def coverage_criterion_enabled?(criterion); end - - # The name of the output and cache directory. Defaults to 'coverage' - # - # Configure with SimpleCov.coverage_dir('cov') - # - # source://simplecov//lib/simplecov/configuration.rb#34 - def coverage_dir(dir = T.unsafe(nil)); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#452 - def coverage_for_eval_enabled?; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#447 - def coverage_for_eval_supported?; end - - # Returns the full path to the output directory using SimpleCov.root - # and SimpleCov.coverage_dir, so you can adjust this by configuring those - # values. Will create the directory if it's missing - # - # source://simplecov//lib/simplecov/configuration.rb#46 - def coverage_path; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#432 - def coverage_start_arguments_supported?; end - - # source://simplecov//lib/simplecov/configuration.rb#401 - def enable_coverage(criterion); end - - # source://simplecov//lib/simplecov/configuration.rb#456 - def enable_coverage_for_eval; end - - # gets or sets the enabled_for_subprocess configuration - # when true, this will inject SimpleCov code into Process.fork - # - # source://simplecov//lib/simplecov/configuration.rb#202 - def enable_for_subprocesses(value = T.unsafe(nil)); end - - # gets the enabled_for_subprocess configuration - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/configuration.rb#209 - def enabled_for_subprocesses?; end - - # Returns the list of configured filters. Add filters using SimpleCov.add_filter. - # - # source://simplecov//lib/simplecov/configuration.rb#74 - def filters; end - - # Sets the attribute filters - # - # @param value the value to set the attribute filters to. - # - # source://simplecov//lib/simplecov/configuration.rb#14 - def filters=(_arg0); end - - # Gets or sets the configured formatter. - # - # Configure with: SimpleCov.formatter(SimpleCov::Formatter::SimpleFormatter) - # - # source://simplecov//lib/simplecov/configuration.rb#98 - def formatter(formatter = T.unsafe(nil)); end - - # Sets the attribute formatter - # - # @param value the value to set the attribute formatter to. - # - # source://simplecov//lib/simplecov/configuration.rb#14 - def formatter=(_arg0); end - - # Gets the configured formatters. - # - # source://simplecov//lib/simplecov/configuration.rb#117 - def formatters; end - - # Sets the configured formatters. - # - # source://simplecov//lib/simplecov/configuration.rb#110 - def formatters=(formatters); end - - # Returns the configured groups. Add groups using SimpleCov.add_group - # - # source://simplecov//lib/simplecov/configuration.rb#150 - def groups; end - - # Sets the attribute groups - # - # @param value the value to set the attribute groups to. - # - # source://simplecov//lib/simplecov/configuration.rb#14 - def groups=(_arg0); end - - # Defines the maximum coverage drop at once allowed for the testsuite to pass. - # SimpleCov will return non-zero if the coverage decreases by more than this threshold. - # - # Default is 100% (disabled) - # - # source://simplecov//lib/simplecov/configuration.rb#313 - def maximum_coverage_drop(coverage_drop = T.unsafe(nil)); end - - # Defines the maximum age (in seconds) of a resultset to still be included in merged results. - # i.e. If you run cucumber features, then later rake test, if the stored cucumber resultset is - # more seconds ago than specified here, it won't be taken into account when merging (and is also - # purged from the resultset cache) - # - # Of course, this only applies when merging is active (e.g. SimpleCov.use_merging is not false!) - # - # Default is 600 seconds (10 minutes) - # - # Configure with SimpleCov.merge_timeout(3600) # 1hr - # - # source://simplecov//lib/simplecov/configuration.rb#279 - def merge_timeout(seconds = T.unsafe(nil)); end - - # Defines the minimum overall coverage required for the testsuite to pass. - # SimpleCov will return non-zero if the current coverage is below this threshold. - # - # Default is 0% (disabled) - # - # source://simplecov//lib/simplecov/configuration.rb#290 - def minimum_coverage(coverage = T.unsafe(nil)); end - - # Defines the minimum coverage per file required for the testsuite to pass. - # SimpleCov will return non-zero if the current coverage of the least covered file - # is below this threshold. - # - # Default is 0% (disabled) - # - # source://simplecov//lib/simplecov/configuration.rb#330 - def minimum_coverage_by_file(coverage = T.unsafe(nil)); end - - # Certain code blocks (i.e. Ruby-implementation specific code) can be excluded from - # the coverage metrics by wrapping it inside # :nocov: comment blocks. The nocov token - # can be configured to be any other string using this. - # - # Configure with SimpleCov.nocov_token('skip') or it's alias SimpleCov.skip_token('skip') - # - # source://simplecov//lib/simplecov/configuration.rb#140 - def nocov_token(nocov_token = T.unsafe(nil)); end - - # source://simplecov//lib/simplecov/configuration.rb#407 - def primary_coverage(criterion = T.unsafe(nil)); end - - # Whether we should print non-success status codes. This can be - # configured with the #print_error_status= method. - # - # source://simplecov//lib/simplecov/configuration.rb#129 - def print_error_status; end - - # Sets the attribute print_error_status - # - # @param value the value to set the attribute print_error_status to. - # - # source://simplecov//lib/simplecov/configuration.rb#14 - def print_error_status=(_arg0); end - - # Returns the hash of available profiles - # - # source://simplecov//lib/simplecov/configuration.rb#157 - def profiles; end - - # Returns the project name - currently assuming the last dirname in - # the SimpleCov.root is this. - # - # source://simplecov//lib/simplecov/configuration.rb#251 - def project_name(new_name = T.unsafe(nil)); end - - # source://simplecov//lib/simplecov/configuration.rb#300 - def raise_on_invalid_coverage(coverage, coverage_setting); end - - # Refuses any coverage drop. That is, coverage is only allowed to increase. - # SimpleCov will return non-zero if the coverage decreases. - # - # source://simplecov//lib/simplecov/configuration.rb#344 - def refuse_coverage_drop(*criteria); end - - # The root for the project. This defaults to the - # current working directory. - # - # Configure with SimpleCov.root('/my/project/path') - # - # source://simplecov//lib/simplecov/configuration.rb#22 - def root(root = T.unsafe(nil)); end - - # Certain code blocks (i.e. Ruby-implementation specific code) can be excluded from - # the coverage metrics by wrapping it inside # :nocov: comment blocks. The nocov token - # can be configured to be any other string using this. - # - # Configure with SimpleCov.nocov_token('skip') or it's alias SimpleCov.skip_token('skip') - # - # source://simplecov//lib/simplecov/configuration.rb#140 - def skip_token(nocov_token = T.unsafe(nil)); end - - # Coverage results will always include files matched by this glob, whether - # or not they were explicitly required. Without this, un-required files - # will not be present in the final report. - # - # source://simplecov//lib/simplecov/configuration.rb#59 - def track_files(glob); end - - # Returns the glob that will be used to include files that were not - # explicitly required. - # - # source://simplecov//lib/simplecov/configuration.rb#67 - def tracked_files; end - - # Defines whether to use result merging so all your test suites (test:units, test:functionals, cucumber, ...) - # are joined and combined into a single coverage report - # - # source://simplecov//lib/simplecov/configuration.rb#262 - def use_merging(use = T.unsafe(nil)); end - - private - - # source://simplecov//lib/simplecov/configuration.rb#483 - def minimum_possible_coverage_exceeded(coverage_option); end - - # The actual filter processor. Not meant for direct use - # - # source://simplecov//lib/simplecov/configuration.rb#490 - def parse_filter(filter_argument = T.unsafe(nil), &filter_proc); end - - # source://simplecov//lib/simplecov/configuration.rb#466 - def raise_if_criterion_disabled(criterion); end - - # source://simplecov//lib/simplecov/configuration.rb#475 - def raise_if_criterion_unsupported(criterion); end -end - -# source://simplecov//lib/simplecov/configuration.rb#381 -SimpleCov::Configuration::DEFAULT_COVERAGE_CRITERION = T.let(T.unsafe(nil), Symbol) - -# source://simplecov//lib/simplecov/configuration.rb#380 -SimpleCov::Configuration::SUPPORTED_COVERAGE_CRITERIA = T.let(T.unsafe(nil), Array) - -# Holds the individual data of a coverage result. -# -# This is uniform across coverage criteria as they all have: -# -# * total - how many things to cover there are (total relevant loc/branches) -# * covered - how many of the coverables are hit -# * missed - how many of the coverables are missed -# * percent - percentage as covered/missed -# * strength - average hits per/coverable (will not exist for one shot lines format) -# -# source://simplecov//lib/simplecov/coverage_statistics.rb#13 -class SimpleCov::CoverageStatistics - # Requires only covered, missed and strength to be initialized. - # - # Other values are computed by this class. - # - # @return [CoverageStatistics] a new instance of CoverageStatistics - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#34 - def initialize(covered:, missed:, total_strength: T.unsafe(nil)); end - - # Returns the value of attribute covered. - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#14 - def covered; end - - # Returns the value of attribute missed. - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#14 - def missed; end - - # Returns the value of attribute percent. - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#14 - def percent; end - - # Returns the value of attribute strength. - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#14 - def strength; end - - # Returns the value of attribute total. - # - # source://simplecov//lib/simplecov/coverage_statistics.rb#14 - def total; end - - private - - # source://simplecov//lib/simplecov/coverage_statistics.rb#44 - def compute_percent(covered, missed, total); end - - # source://simplecov//lib/simplecov/coverage_statistics.rb#50 - def compute_strength(total_strength, total); end - - class << self - # source://simplecov//lib/simplecov/coverage_statistics.rb#16 - def from(coverage_statistics); end - end -end - -# source://simplecov//lib/simplecov/exit_codes.rb#4 -module SimpleCov::ExitCodes; end - -# source://simplecov//lib/simplecov/exit_codes.rb#6 -SimpleCov::ExitCodes::EXCEPTION = T.let(T.unsafe(nil), Integer) - -# source://simplecov//lib/simplecov/exit_codes/exit_code_handling.rb#5 -module SimpleCov::ExitCodes::ExitCodeHandling - private - - # source://simplecov//lib/simplecov/exit_codes/exit_code_handling.rb#8 - def call(result, coverage_limits:); end - - # source://simplecov//lib/simplecov/exit_codes/exit_code_handling.rb#20 - def coverage_checks(result, coverage_limits); end - - class << self - # source://simplecov//lib/simplecov/exit_codes/exit_code_handling.rb#8 - def call(result, coverage_limits:); end - - # source://simplecov//lib/simplecov/exit_codes/exit_code_handling.rb#20 - def coverage_checks(result, coverage_limits); end - end -end - -# source://simplecov//lib/simplecov/exit_codes.rb#8 -SimpleCov::ExitCodes::MAXIMUM_COVERAGE_DROP = T.let(T.unsafe(nil), Integer) - -# source://simplecov//lib/simplecov/exit_codes.rb#7 -SimpleCov::ExitCodes::MINIMUM_COVERAGE = T.let(T.unsafe(nil), Integer) - -# source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#5 -class SimpleCov::ExitCodes::MaximumCoverageDropCheck - # @return [MaximumCoverageDropCheck] a new instance of MaximumCoverageDropCheck - # - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#6 - def initialize(result, maximum_coverage_drop); end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#28 - def exit_code; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#11 - def failing?; end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#17 - def report; end - - private - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#49 - def compute_coverage_drop_data; end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#42 - def coverage_drop_violations; end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#61 - def drop_percent(criterion); end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#73 - def last_coverage(criterion); end - - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#36 - def last_run; end - - # Returns the value of attribute maximum_coverage_drop. - # - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#34 - def maximum_coverage_drop; end - - # Returns the value of attribute result. - # - # source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#34 - def result; end -end - -# if anyone says "max_coverage_drop 0.000000000000000001" I appologize. Please don't. -# -# source://simplecov//lib/simplecov/exit_codes/maximum_coverage_drop_check.rb#60 -SimpleCov::ExitCodes::MaximumCoverageDropCheck::MAX_DROP_ACCURACY = T.let(T.unsafe(nil), Integer) - -# source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#5 -class SimpleCov::ExitCodes::MinimumCoverageByFileCheck - # @return [MinimumCoverageByFileCheck] a new instance of MinimumCoverageByFileCheck - # - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#6 - def initialize(result, minimum_coverage_by_file); end - - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#26 - def exit_code; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#11 - def failing?; end - - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#15 - def report; end - - private - - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#41 - def compute_minimum_coverage_data; end - - # Returns the value of attribute minimum_coverage_by_file. - # - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#32 - def minimum_coverage_by_file; end - - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#34 - def minimum_violations; end - - # Returns the value of attribute result. - # - # source://simplecov//lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb#32 - def result; end -end - -# source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#5 -class SimpleCov::ExitCodes::MinimumOverallCoverageCheck - # @return [MinimumOverallCoverageCheck] a new instance of MinimumOverallCoverageCheck - # - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#6 - def initialize(result, minimum_coverage); end - - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#26 - def exit_code; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#11 - def failing?; end - - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#15 - def report; end - - private - - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#38 - def calculate_minimum_violations; end - - # Returns the value of attribute minimum_coverage. - # - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#32 - def minimum_coverage; end - - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#34 - def minimum_violations; end - - # Returns the value of attribute result. - # - # source://simplecov//lib/simplecov/exit_codes/minimum_overall_coverage_check.rb#32 - def result; end -end - -# source://simplecov//lib/simplecov/exit_codes.rb#5 -SimpleCov::ExitCodes::SUCCESS = T.let(T.unsafe(nil), Integer) - -# An array of SimpleCov SourceFile instances with additional collection helper -# methods for calculating coverage across them etc. -# -# source://simplecov//lib/simplecov/file_list.rb#6 -class SimpleCov::FileList - include ::Enumerable - extend ::Forwardable - - # @return [FileList] a new instance of FileList - # - # source://simplecov//lib/simplecov/file_list.rb#22 - def initialize(files); end - - # source://simplecov//lib/simplecov/file_list.rb#101 - def branch_covered_percent; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def count(*args, **_arg1, &block); end - - # source://simplecov//lib/simplecov/file_list.rb#26 - def coverage_statistics; end - - # source://simplecov//lib/simplecov/file_list.rb#30 - def coverage_statistics_by_file; end - - # Return total count of covered branches - # - # source://simplecov//lib/simplecov/file_list.rb#92 - def covered_branches; end - - # Returns the count of lines that have coverage - # - # source://simplecov//lib/simplecov/file_list.rb#35 - def covered_lines; end - - # Computes the coverage based upon lines covered and lines missed - # - # @return [Float] - # - # source://simplecov//lib/simplecov/file_list.rb#76 - def covered_percent; end - - # Computes the coverage based upon lines covered and lines missed for each file - # Returns an array with all coverage percentages - # - # source://simplecov//lib/simplecov/file_list.rb#60 - def covered_percentages; end - - # Computes the strength (hits / line) based upon lines covered and lines missed - # - # @return [Float] - # - # source://simplecov//lib/simplecov/file_list.rb#82 - def covered_strength; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def each(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def empty?(*args, **_arg1, &block); end - - # Finds the least covered file and returns that file's name - # - # source://simplecov//lib/simplecov/file_list.rb#65 - def least_covered_file; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def length(*args, **_arg1, &block); end - - # Returns the overall amount of relevant lines of code across all files in this list - # - # source://simplecov//lib/simplecov/file_list.rb#70 - def lines_of_code; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def map(*args, **_arg1, &block); end - - # Return total count of covered branches - # - # source://simplecov//lib/simplecov/file_list.rb#97 - def missed_branches; end - - # Returns the count of lines that have been missed - # - # source://simplecov//lib/simplecov/file_list.rb#40 - def missed_lines; end - - # Returns the count of lines that are not relevant for coverage - # - # source://simplecov//lib/simplecov/file_list.rb#45 - def never_lines; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def size(*args, **_arg1, &block); end - - # Returns the count of skipped lines - # - # source://simplecov//lib/simplecov/file_list.rb#52 - def skipped_lines; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def to_a(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def to_ary(*args, **_arg1, &block); end - - # Return total count of branches in all files - # - # source://simplecov//lib/simplecov/file_list.rb#87 - def total_branches; end - - private - - # source://simplecov//lib/simplecov/file_list.rb#114 - def compute_coverage_statistics; end - - # source://simplecov//lib/simplecov/file_list.rb#107 - def compute_coverage_statistics_by_file; end -end - -# Base filter class. Inherit from this to create custom filters, -# and overwrite the passes?(source_file) instance method -# -# # A sample class that rejects all source files. -# class StupidFilter < SimpleCov::Filter -# def passes?(source_file) -# false -# end -# end -# -# source://simplecov//lib/simplecov/filter.rb#15 -class SimpleCov::Filter - # @return [Filter] a new instance of Filter - # - # source://simplecov//lib/simplecov/filter.rb#18 - def initialize(filter_argument); end - - # Returns the value of attribute filter_argument. - # - # source://simplecov//lib/simplecov/filter.rb#16 - def filter_argument; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#22 - def matches?(_source_file); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#26 - def passes?(source_file); end - - class << self - # source://simplecov//lib/simplecov/filter.rb#31 - def build_filter(filter_argument); end - - # source://simplecov//lib/simplecov/filter.rb#37 - def class_for_argument(filter_argument); end - end -end - -# TODO: Documentation on how to build your own formatters -# -# source://simplecov//lib/simplecov/formatter/multi_formatter.rb#4 -module SimpleCov::Formatter - class << self - # source://simplecov//lib/simplecov/default_formatter.rb#7 - def from_env(env); end - end -end - -# source://simplecov//lib/simplecov/formatter/multi_formatter.rb#5 -class SimpleCov::Formatter::MultiFormatter - class << self - # source://simplecov//lib/simplecov/formatter/multi_formatter.rb#26 - def [](*args); end - - # source://simplecov//lib/simplecov/formatter/multi_formatter.rb#17 - def new(formatters = T.unsafe(nil)); end - end -end - -# source://simplecov//lib/simplecov/formatter/multi_formatter.rb#6 -module SimpleCov::Formatter::MultiFormatter::InstanceMethods - # source://simplecov//lib/simplecov/formatter/multi_formatter.rb#7 - def format(result); end -end - -# A ridiculously simple formatter for SimpleCov results. -# -# source://simplecov//lib/simplecov/formatter/simple_formatter.rb#8 -class SimpleCov::Formatter::SimpleFormatter - # Takes a SimpleCov::Result and generates a string out of it - # - # source://simplecov//lib/simplecov/formatter/simple_formatter.rb#10 - def format(result); end -end - -# source://simplecov//lib/simplecov/last_run.rb#6 -module SimpleCov::LastRun - class << self - # source://simplecov//lib/simplecov/last_run.rb#8 - def last_run_path; end - - # source://simplecov//lib/simplecov/last_run.rb#12 - def read; end - - # source://simplecov//lib/simplecov/last_run.rb#21 - def write(json); end - end -end - -# Classifies whether lines are relevant for code coverage analysis. -# Comments & whitespace lines, and :nocov: token blocks, are considered not relevant. -# -# source://simplecov//lib/simplecov/lines_classifier.rb#7 -class SimpleCov::LinesClassifier - # source://simplecov//lib/simplecov/lines_classifier.rb#33 - def classify(lines); end - - class << self - # source://simplecov//lib/simplecov/lines_classifier.rb#15 - def no_cov_line; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/lines_classifier.rb#19 - def no_cov_line?(line); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/lines_classifier.rb#26 - def whitespace_line?(line); end - end -end - -# source://simplecov//lib/simplecov/lines_classifier.rb#12 -SimpleCov::LinesClassifier::COMMENT_LINE = T.let(T.unsafe(nil), Regexp) - -# source://simplecov//lib/simplecov/lines_classifier.rb#9 -SimpleCov::LinesClassifier::NOT_RELEVANT = T.let(T.unsafe(nil), T.untyped) - -# source://simplecov//lib/simplecov/lines_classifier.rb#8 -SimpleCov::LinesClassifier::RELEVANT = T.let(T.unsafe(nil), Integer) - -# source://simplecov//lib/simplecov/lines_classifier.rb#11 -SimpleCov::LinesClassifier::WHITESPACE_LINE = T.let(T.unsafe(nil), Regexp) - -# source://simplecov//lib/simplecov/lines_classifier.rb#13 -SimpleCov::LinesClassifier::WHITESPACE_OR_COMMENT_LINE = T.let(T.unsafe(nil), Regexp) - -# Profiles are SimpleCov configuration procs that can be easily -# loaded using SimpleCov.start :rails and defined using -# SimpleCov.profiles.define :foo do -# # SimpleCov configuration here, same as in SimpleCov.configure -# end -# -# source://simplecov//lib/simplecov/profiles.rb#11 -class SimpleCov::Profiles < ::Hash - # Define a SimpleCov profile: - # SimpleCov.profiles.define 'rails' do - # # Same as SimpleCov.configure do .. here - # end - # - # source://simplecov//lib/simplecov/profiles.rb#18 - def define(name, &blk); end - - # Applies the profile of given name on SimpleCov.configure - # - # source://simplecov//lib/simplecov/profiles.rb#28 - def load(name); end -end - -# source://simplecov//lib/simplecov/filter.rb#61 -class SimpleCov::RegexFilter < ::SimpleCov::Filter - # Returns true when the given source file's filename matches the - # regex configured when initializing this Filter with RegexFilter.new(/someregex/) - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#64 - def matches?(source_file); end -end - -# A simplecov code coverage result, initialized from the Hash Ruby's built-in coverage -# library generates (Coverage.result). -# -# source://simplecov//lib/simplecov/result.rb#11 -class SimpleCov::Result - extend ::Forwardable - - # Initialize a new SimpleCov::Result from given Coverage.result (a Hash of filenames each containing an array of - # coverage data) - # - # @return [Result] a new instance of Result - # - # source://simplecov//lib/simplecov/result.rb#28 - def initialize(original_result, command_name: T.unsafe(nil), created_at: T.unsafe(nil)); end - - # The command name that launched this result. - # Delegated to SimpleCov.command_name if not set manually - # - # source://simplecov//lib/simplecov/result.rb#61 - def command_name; end - - # Explicitly set the command name that was used for this coverage result. Defaults to SimpleCov.command_name - # - # source://simplecov//lib/simplecov/result.rb#21 - def command_name=(_arg0); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def coverage_statistics(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def coverage_statistics_by_file(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def covered_branches(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def covered_lines(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def covered_percent(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def covered_percentages(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def covered_strength(*args, **_arg1, &block); end - - # Defines when this result has been created. Defaults to Time.now - # - # source://simplecov//lib/simplecov/result.rb#55 - def created_at; end - - # Explicitly set the Time this result has been created - # - # source://simplecov//lib/simplecov/result.rb#19 - def created_at=(_arg0); end - - # Returns all filenames for source files contained in this result - # - # source://simplecov//lib/simplecov/result.rb#40 - def filenames; end - - # Returns all files that are applicable to this result (sans filters!) as instances of SimpleCov::SourceFile. Aliased as :source_files - # - # source://simplecov//lib/simplecov/result.rb#16 - def files; end - - # Applies the configured SimpleCov.formatter on this result - # - # source://simplecov//lib/simplecov/result.rb#50 - def format!; end - - # Returns a Hash of groups for this result. Define groups using SimpleCov.add_group 'Models', 'app/models' - # - # source://simplecov//lib/simplecov/result.rb#45 - def groups; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def least_covered_file(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def missed_branches(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def missed_lines(*args, **_arg1, &block); end - - # Returns the original Coverage.result used for this instance of SimpleCov::Result - # - # source://simplecov//lib/simplecov/result.rb#14 - def original_result; end - - # Returns all files that are applicable to this result (sans filters!) as instances of SimpleCov::SourceFile. Aliased as :source_files - # - # source://simplecov//lib/simplecov/result.rb#16 - def source_files; end - - # Returns a hash representation of this Result that can be used for marshalling it into JSON - # - # source://simplecov//lib/simplecov/result.rb#66 - def to_hash; end - - # source://forwardable/1.3.3/forwardable.rb#231 - def total_branches(*args, **_arg1, &block); end - - # source://forwardable/1.3.3/forwardable.rb#231 - def total_lines(*args, **_arg1, &block); end - - private - - # source://simplecov//lib/simplecov/result.rb#84 - def coverage; end - - # Applies all configured SimpleCov filters on this result's source files - # - # source://simplecov//lib/simplecov/result.rb#90 - def filter!; end - - class << self - # Loads a SimpleCov::Result#to_hash dump - # - # source://simplecov//lib/simplecov/result.rb#76 - def from_hash(hash); end - end -end - -# Responsible for adapting the format of the coverage result whether it's default or with statistics -# -# source://simplecov//lib/simplecov/result_adapter.rb#7 -class SimpleCov::ResultAdapter - # @return [ResultAdapter] a new instance of ResultAdapter - # - # source://simplecov//lib/simplecov/result_adapter.rb#10 - def initialize(result); end - - # source://simplecov//lib/simplecov/result_adapter.rb#18 - def adapt; end - - # Returns the value of attribute result. - # - # source://simplecov//lib/simplecov/result_adapter.rb#8 - def result; end - - class << self - # source://simplecov//lib/simplecov/result_adapter.rb#14 - def call(*args); end - end -end - -# Singleton that is responsible for caching, loading and merging -# SimpleCov::Results into a single result for coverage analysis based -# upon multiple test suites. -# -# source://simplecov//lib/simplecov/result_merger.rb#11 -module SimpleCov::ResultMerger - class << self - # source://simplecov//lib/simplecov/result_merger.rb#187 - def adapt_pre_simplecov_0_18_result(result); end - - # We changed the format of the raw result data in simplecov, as people are likely - # to have "old" resultsets lying around (but not too old so that they're still - # considered we can adapt them). - # See https://github.com/simplecov-ruby/simplecov/pull/824#issuecomment-576049747 - # - # source://simplecov//lib/simplecov/result_merger.rb#172 - def adapt_result(result); end - - # source://simplecov//lib/simplecov/result_merger.rb#93 - def create_result(command_names, coverage); end - - # source://simplecov//lib/simplecov/result_merger.rb#22 - def merge_and_store(*file_paths, ignore_timeout: T.unsafe(nil)); end - - # source://simplecov//lib/simplecov/result_merger.rb#100 - def merge_coverage(*results); end - - # source://simplecov//lib/simplecov/result_merger.rb#28 - def merge_results(*file_paths, ignore_timeout: T.unsafe(nil)); end - - # source://simplecov//lib/simplecov/result_merger.rb#74 - def merge_valid_results(results, ignore_timeout: T.unsafe(nil)); end - - # Gets all SimpleCov::Results stored in resultset, merges them and produces a new - # SimpleCov::Result with merged coverage data and the command_name - # for the result consisting of a join on all source result's names - # - # source://simplecov//lib/simplecov/result_merger.rb#117 - def merged_result; end - - # source://simplecov//lib/simplecov/result_merger.rb#51 - def parse_file(path); end - - # source://simplecov//lib/simplecov/result_merger.rb#65 - def parse_json(content); end - - # pre 0.18 coverage data pointed from file directly to an array of line coverage - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/result_merger.rb#181 - def pre_simplecov_0_18_result?(result); end - - # source://simplecov//lib/simplecov/result_merger.rb#56 - def read_file(path); end - - # source://simplecov//lib/simplecov/result_merger.rb#126 - def read_resultset; end - - # The path to the .resultset.json cache file - # - # source://simplecov//lib/simplecov/result_merger.rb#14 - def resultset_path; end - - # source://simplecov//lib/simplecov/result_merger.rb#18 - def resultset_writelock; end - - # Saves the given SimpleCov::Result in the resultset cache - # - # source://simplecov//lib/simplecov/result_merger.rb#136 - def store_result(result); end - - # Ensure only one process is reading or writing the resultset at any - # given time - # - # source://simplecov//lib/simplecov/result_merger.rb#153 - def synchronize_resultset; end - - # source://simplecov//lib/simplecov/result_merger.rb#89 - def time_since_result_creation(data); end - - # source://simplecov//lib/simplecov/result_merger.rb#46 - def valid_results(file_path, ignore_timeout: T.unsafe(nil)); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/result_merger.rb#85 - def within_merge_timeout?(data); end - end -end - -# Responsible for producing file coverage metrics. -# -# source://simplecov//lib/simplecov/simulate_coverage.rb#7 -module SimpleCov::SimulateCoverage - private - - # Simulate normal file coverage report on - # ruby 2.5 and return similar hash with lines and branches keys - # - # Happens when a file wasn't required but still tracked. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/simulate_coverage.rb#18 - def call(absolute_path); end - - class << self - # Simulate normal file coverage report on - # ruby 2.5 and return similar hash with lines and branches keys - # - # Happens when a file wasn't required but still tracked. - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/simulate_coverage.rb#18 - def call(absolute_path); end - end -end - -# Representation of a source file including it's coverage data, source code, -# source lines and featuring helpers to interpret that data. -# -# source://simplecov//lib/simplecov/source_file/line.rb#4 -class SimpleCov::SourceFile - # @return [SourceFile] a new instance of SourceFile - # - # source://simplecov//lib/simplecov/source_file.rb#14 - def initialize(filename, coverage_data); end - - # Return all the branches inside current source file - # - # source://simplecov//lib/simplecov/source_file.rb#98 - def branches; end - - # source://simplecov//lib/simplecov/source_file.rb#106 - def branches_coverage_percent; end - - # source://simplecov//lib/simplecov/source_file.rb#142 - def branches_for_line(line_number); end - - # Return hash with key of line number and branch coverage count as value - # - # source://simplecov//lib/simplecov/source_file.rb#118 - def branches_report; end - - # The array of coverage data received from the Coverage.result - # - # source://simplecov//lib/simplecov/source_file.rb#12 - def coverage_data; end - - # source://simplecov//lib/simplecov/source_file.rb#32 - def coverage_statistics; end - - # Select the covered branches - # Here we user tree schema because some conditions like case may have additional - # else that is not in declared inside the code but given by default by coverage report - # - # @return [Array] - # - # source://simplecov//lib/simplecov/source_file.rb#129 - def covered_branches; end - - # Returns all covered lines as SimpleCov::SourceFile::Line - # - # source://simplecov//lib/simplecov/source_file.rb#48 - def covered_lines; end - - # The coverage for this file in percent. 0 if the file has no coverage lines - # - # source://simplecov//lib/simplecov/source_file.rb#80 - def covered_percent; end - - # source://simplecov//lib/simplecov/source_file.rb#84 - def covered_strength; end - - # The full path to this source file (e.g. /User/colszowka/projects/simplecov/lib/simplecov/source_file.rb) - # - # source://simplecov//lib/simplecov/source_file.rb#10 - def filename; end - - # Access SimpleCov::SourceFile::Line source lines by line number - # - # source://simplecov//lib/simplecov/source_file.rb#75 - def line(number); end - - # Check if any branches missing on given line number - # - # @param line_number [Integer] - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file.rb#153 - def line_with_missed_branch?(line_number); end - - # Returns all source lines for this file as instances of SimpleCov::SourceFile::Line, - # and thus including coverage data. Aliased as :source_lines - # - # source://simplecov//lib/simplecov/source_file.rb#42 - def lines; end - - # Returns the number of relevant lines (covered + missed) - # - # source://simplecov//lib/simplecov/source_file.rb#70 - def lines_of_code; end - - # Select the missed branches with coverage equal to zero - # - # @return [Array] - # - # source://simplecov//lib/simplecov/source_file.rb#138 - def missed_branches; end - - # Returns all lines that should have been, but were not covered - # as instances of SimpleCov::SourceFile::Line - # - # source://simplecov//lib/simplecov/source_file.rb#54 - def missed_lines; end - - # Returns all lines that are not relevant for coverage as - # SimpleCov::SourceFile::Line instances - # - # source://simplecov//lib/simplecov/source_file.rb#60 - def never_lines; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file.rb#102 - def no_branches?; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file.rb#88 - def no_lines?; end - - # The path to this source file relative to the projects directory - # - # source://simplecov//lib/simplecov/source_file.rb#20 - def project_filename; end - - # source://simplecov//lib/simplecov/source_file.rb#92 - def relevant_lines; end - - # Returns all lines that were skipped as SimpleCov::SourceFile::Line instances - # - # source://simplecov//lib/simplecov/source_file.rb#65 - def skipped_lines; end - - # The source code for this file. Aliased as :source - # - # source://simplecov//lib/simplecov/source_file.rb#25 - def source; end - - # Returns all source lines for this file as instances of SimpleCov::SourceFile::Line, - # and thus including coverage data. Aliased as :source_lines - # - # source://simplecov//lib/simplecov/source_file.rb#42 - def source_lines; end - - # The source code for this file. Aliased as :source - # - # source://simplecov//lib/simplecov/source_file.rb#25 - def src; end - - # Return the relevant branches to source file - # - # source://simplecov//lib/simplecov/source_file.rb#112 - def total_branches; end - - private - - # source://simplecov//lib/simplecov/source_file.rb#346 - def branch_coverage_statistics; end - - # source://simplecov//lib/simplecov/source_file.rb#324 - def build_branch(branch_data, hit_count, condition_start_line); end - - # Call recursive method that transform our static hash to array of objects - # - # @return [Array] - # - # source://simplecov//lib/simplecov/source_file.rb#273 - def build_branches; end - - # source://simplecov//lib/simplecov/source_file.rb#310 - def build_branches_from(condition, branches); end - - # Build full branches report - # Root branches represent the wrapper of all condition state that - # have inside the branches - # - # @return [Hash] - # - # source://simplecov//lib/simplecov/source_file.rb#262 - def build_branches_report; end - - # source://simplecov//lib/simplecov/source_file.rb#229 - def build_lines; end - - # source://simplecov//lib/simplecov/source_file.rb#164 - def build_no_cov_chunks; end - - # Warning to identify condition from Issue #56 - # - # source://simplecov//lib/simplecov/source_file.rb#251 - def coverage_exceeding_source_warn; end - - # source://simplecov//lib/simplecov/source_file.rb#214 - def ensure_remove_undefs(file_lines); end - - # source://simplecov//lib/simplecov/source_file.rb#336 - def line_coverage_statistics; end - - # source://simplecov//lib/simplecov/source_file.rb#246 - def lines_strength; end - - # source://simplecov//lib/simplecov/source_file.rb#178 - def load_source; end - - # no_cov_chunks is zero indexed to work directly with the array holding the lines - # - # source://simplecov//lib/simplecov/source_file.rb#160 - def no_cov_chunks; end - - # source://simplecov//lib/simplecov/source_file.rb#282 - def process_skipped_branches(branches); end - - # source://simplecov//lib/simplecov/source_file.rb#237 - def process_skipped_lines(lines); end - - # source://simplecov//lib/simplecov/source_file.rb#198 - def read_lines(file, lines, current_line); end - - # Since we are dumping to and loading from JSON, and we have arrays as keys those - # don't make their way back to us intact e.g. just as a string - # - # We should probably do something different here, but as it stands these are - # our data structures that we write so eval isn't _too_ bad. - # - # See #801 - # - # source://simplecov//lib/simplecov/source_file.rb#300 - def restore_ruby_data_structure(structure); end - - # source://simplecov//lib/simplecov/source_file.rb#206 - def set_encoding_based_on_magic_comment(file, line); end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file.rb#194 - def shebang?(line); end -end - -# Representing single branch that has been detected in coverage report. -# Give us support methods that handle needed calculations. -# -# source://simplecov//lib/simplecov/source_file/branch.rb#8 -class SimpleCov::SourceFile::Branch - # @return [Branch] a new instance of Branch - # - # source://simplecov//lib/simplecov/source_file/branch.rb#12 - def initialize(start_line:, end_line:, coverage:, inline:, type:); end - - # Returns the value of attribute coverage. - # - # source://simplecov//lib/simplecov/source_file/branch.rb#9 - def coverage; end - - # Return true if there is relevant count defined > 0 - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#31 - def covered?; end - - # Returns the value of attribute end_line. - # - # source://simplecov//lib/simplecov/source_file/branch.rb#9 - def end_line; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#22 - def inline?; end - - # Check if branche missed or not - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#40 - def missed?; end - - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#70 - def overlaps_with?(line_range); end - - # Return array with coverage count and badge - # - # @return [Array] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#79 - def report; end - - # The line on which we want to report the coverage - # - # Usually we choose the line above the start of the branch (so that it shows up - # at if/else) because that - # * highlights the condition - # * makes it distinguishable if the first line of the branch is an inline branch - # (see the nested_branches fixture) - # - # source://simplecov//lib/simplecov/source_file/branch.rb#52 - def report_line; end - - # Flags the branch as skipped - # - # source://simplecov//lib/simplecov/source_file/branch.rb#61 - def skipped!; end - - # Returns true if the branch was marked skipped by virtue of nocov comments. - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/branch.rb#66 - def skipped?; end - - # Returns the value of attribute start_line. - # - # source://simplecov//lib/simplecov/source_file/branch.rb#9 - def start_line; end - - # Returns the value of attribute type. - # - # source://simplecov//lib/simplecov/source_file/branch.rb#9 - def type; end -end - -# Representation of a single line in a source file including -# this specific line's source code, line_number and code coverage, -# with the coverage being either nil (coverage not applicable, e.g. comment -# line), 0 (line not covered) or >1 (the amount of times the line was -# executed) -# -# source://simplecov//lib/simplecov/source_file/line.rb#10 -class SimpleCov::SourceFile::Line - # @raise [ArgumentError] - # @return [Line] a new instance of Line - # - # source://simplecov//lib/simplecov/source_file/line.rb#25 - def initialize(src, line_number, coverage); end - - # The coverage data for this line: either nil (never), 0 (missed) or >=1 (times covered) - # - # source://simplecov//lib/simplecov/source_file/line.rb#16 - def coverage; end - - # Returns true if this is a line that has been covered - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/line.rb#42 - def covered?; end - - # The line number in the source file. Aliased as :line, :number - # - # source://simplecov//lib/simplecov/source_file/line.rb#14 - def line; end - - # The line number in the source file. Aliased as :line, :number - # - # source://simplecov//lib/simplecov/source_file/line.rb#14 - def line_number; end - - # Returns true if this is a line that should have been covered, but was not - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/line.rb#37 - def missed?; end - - # Returns true if this line is not relevant for coverage - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/line.rb#47 - def never?; end - - # The line number in the source file. Aliased as :line, :number - # - # source://simplecov//lib/simplecov/source_file/line.rb#14 - def number; end - - # Whether this line was skipped - # - # source://simplecov//lib/simplecov/source_file/line.rb#18 - def skipped; end - - # Flags this line as skipped - # - # source://simplecov//lib/simplecov/source_file/line.rb#52 - def skipped!; end - - # Returns true if this line was skipped, false otherwise. Lines are skipped if they are wrapped with - # # :nocov: comment lines. - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/source_file/line.rb#58 - def skipped?; end - - # The source code for this line. Aliased as :source - # Lets grab some fancy aliases, shall we? - # - # source://simplecov//lib/simplecov/source_file/line.rb#12 - def source; end - - # The source code for this line. Aliased as :source - # - # source://simplecov//lib/simplecov/source_file/line.rb#12 - def src; end - - # The status of this line - either covered, missed, skipped or never. Useful i.e. for direct use - # as a css class in report generation - # - # source://simplecov//lib/simplecov/source_file/line.rb#64 - def status; end -end - -# source://simplecov//lib/simplecov/source_file.rb#205 -SimpleCov::SourceFile::RUBY_FILE_ENCODING_MAGIC_COMMENT_REGEX = T.let(T.unsafe(nil), Regexp) - -# source://simplecov//lib/simplecov/source_file.rb#193 -SimpleCov::SourceFile::SHEBANG_REGEX = T.let(T.unsafe(nil), Regexp) - -# source://simplecov//lib/simplecov/filter.rb#53 -class SimpleCov::StringFilter < ::SimpleCov::Filter - # Returns true when the given source file's filename matches the - # string configured when initializing this Filter with StringFilter.new('somestring') - # - # @return [Boolean] - # - # source://simplecov//lib/simplecov/filter.rb#56 - def matches?(source_file); end -end - -# Select the files that related to working scope directory of SimpleCov -# -# source://simplecov//lib/simplecov/useless_results_remover.rb#7 -module SimpleCov::UselessResultsRemover - class << self - # source://simplecov//lib/simplecov/useless_results_remover.rb#8 - def call(coverage_result); end - - # source://simplecov//lib/simplecov/useless_results_remover.rb#14 - def root_regx; end - end -end - -# source://simplecov//lib/simplecov/version.rb#4 -SimpleCov::VERSION = T.let(T.unsafe(nil), String) diff --git a/sorbet/rbi/gems/simplecov@1.3.2.rbi b/sorbet/rbi/gems/simplecov@1.3.2.rbi new file mode 100644 index 00000000..010af470 --- /dev/null +++ b/sorbet/rbi/gems/simplecov@1.3.2.rbi @@ -0,0 +1,6211 @@ +# typed: true + +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `simplecov` gem. +# Please instead update this file by running `bin/tapioca gem simplecov`. + + +# `at_exit` orchestration: post-suite report generation, threshold checks, +# deferral when a sibling subprocess already wrote a fresher report, and +# exit-status propagation. +# +# simplecov:disable +# Methods below only fire under a parallel test runner; not reachable +# from a single-process rspec run. Cucumber's test_projects exercise +# the parallel_tests integration end-to-end in subprocesses, but +# those subprocesses don't merge their Coverage data back into the +# parent this dogfood report measures. +# +# Production coverage mode (#1271). Deliberately loadable on its own: +# `require "simplecov/production"` pulls in none of the reporting machinery, +# because a production process wants a measurement tap and nothing else. +# Nothing here runs unless `SimpleCov::Production.start` is called explicitly. +# +# The clobber-prevention backstop: an empty process stands down instead of +# formatting over a fresher report a sibling produced. Typically fires when +# `SimpleCov.start` ran in a parent process that shelled out to the test runner +# (#581). +# +# pkg:gem/simplecov#lib/simplecov/configuration_error.rb:3 +module SimpleCov + extend ::SingleForwardable + extend ::SimpleCov::Configuration + extend ::SimpleCov::TestTracker::Accessors + extend ::SimpleCov::RunIdentity::Accessors + + class << self + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:26 + def at_exit_behavior; end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:83 + def clear_result; end + + # By default `collate` ignores the merge_timeout so all results in all + # files specified will be merged. Pass `ignore_timeout: false` to honor it. + # + # `processes:` above 1 fans the merge out across that many forked workers. + # The report is identical either way, not merely equivalent. The count is + # deliberately not clamped to the machine's core count nor gated on a + # minimum number of resultsets: what a collate job can afford is the + # caller's call. Anything below 1 is taken as 1, so an unset + # `SIMPLECOV_CONCURRENCY` needs no default of its own. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:14 + def collate(result_filenames, profile = T.unsafe(nil), processes: T.unsafe(nil), ignore_timeout: T.unsafe(nil), &); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def collating_result?(*args, **, &block); end + + # `standalone` is true when no merge step follows, which makes this the + # final result: the one that reports dropped source files and injects + # unloaded files. When a merge does follow, both jobs belong to the merge. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:49 + def collect_own_coverage(standalone:); end + + # `:oneshot_line` data is folded into the `:line` bucket of + # `coverage_statistics` by `ResultAdapter`. The cast is steep's: it narrows + # a union on `==` but not on `equal?`. + # + # pkg:gem/simplecov#lib/simplecov.rb:41 + def coverage_statistics_key(criterion); end + + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:78 + def current_parallel_worker_count; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov.rb:29 + def current_run; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov.rb:34 + def current_run=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/report_deferral.rb:10 + def defer_to_existing_report?; end + + # `.last_run.json` only exists after fully successful runs, so alone it left + # the backstop inert when the child run failed, the case where clobbering its + # report hurts most. The report stamp is touched by every formatting process + # regardless of exit status. The rescue covers a file vanishing mid-at_exit. + # + # pkg:gem/simplecov#lib/simplecov/report_deferral.rb:23 + def existing_report_newer_than_us?; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:74 + def exit_status_from_exception; end + + # pkg:gem/simplecov#lib/simplecov.rb:36 + def external_at_exit; end + + # pkg:gem/simplecov#lib/simplecov.rb:36 + def external_at_exit=(_arg0); end + + # Coerced so rspec-mocks 4's predicate matcher accepts the result. + # + # pkg:gem/simplecov#lib/simplecov.rb:46 + def external_at_exit?; end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:55 + def filtered(files); end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:12 + def final_result_process?; end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def forked_subprocess?(*args, **, &block); end + + # Files matched by no group fall into the implicit "Ungrouped" bucket. Any + # group left empty, Ungrouped included, is dropped so a profile's unused + # groups (#1293) don't pad the report as 100% covered. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:66 + def grouped(files, groups: T.unsafe(nil)); end + + # @api private -- the seam `SimpleCov::ResultMerger` injects through. Public + # only because the merge runs in another object, on behalf of processes + # whose configuration it may not share, so it supplies the paths itself. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:102 + def inject_unloaded_files(result, candidate_paths, synthesize: T.unsafe(nil), lines: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov.rb:80 + def install_at_exit_hook; end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:79 + def load_profile(name); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def mark_forked_subprocess!(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:38 + def merge_own_slice; end + + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:97 + def monotonic_time; end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def next_subprocess_serial!(*args, **, &block); end + + # @api private -- true when every sibling reported its resultset before the + # wait deadline. Defaults to true outside a parallel run. + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:44 + def parallel_results_complete?; end + + # @api private -- warns on the first timeout so the user knows the merged + # total is partial. + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:103 + def parallel_wait_timed_out?(deadline, expected, seen); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def pid(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def pid=(*args, **, &block); end + + # @api private -- strict boolean so rspec-mocks 4's predicate matcher + # accepts it. test_unit sets status 0 on success, so SUCCESS must also be + # treated as "not a previous error". + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:88 + def previous_error?(error_exit_status); end + + # @api private. The history entry is recorded on the same successful-run + # condition `.last_run.json` uses, so a run that failed its thresholds + # becomes neither the drop baseline nor a data point in the trend. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:129 + def process_result(result); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def process_start_time(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def process_start_time=(*args, **, &block); end + + # @api private. The process that owns final merge processing is the only one + # that reports against thresholds, and only when its + # `wait_for_other_processes` confirmed every sibling reported. When the wait + # times out the merged total is partial, and comparing it against the + # thresholds would surface a spurious violation about the missing slice. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:110 + def ready_to_process_results?; end + + # @api private -- the notice alone; the status it accompanies is the + # caller's to answer with. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:96 + def report_previous_error; end + + # @api private -- answers the status it was handed, explaining it first when + # it is a coverage failure worth explaining. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:117 + def report_processing_failure(exit_status); end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:29 + def result; end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def result?(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:151 + def result_exit_status(result); end + + # `tracker` carries the last count and the time it last changed across poll + # iterations. Answered through an if/else rather than an early return + # because falling through after a climb would read the clock a second time + # and answer the same `false` anyway. + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:87 + def resultset_count_settled?(tracker, count); end + + # @api private -- floored, to be extra strict. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:95 + def round_coverage(coverage); end + + # @api private -- everything the end of a measured run does, answered as the + # exit status the process should end with rather than performed as an exit. + # The one side effect left to the caller is ending the process, which is + # what makes this whole path answerable from inside a test. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:51 + def run_exit_tasks(error_exit_status = T.unsafe(nil)); end + + # @api private -- the exiting adapter over `run_exit_tasks`, called from the + # at_exit block (which pre-captures the status, see there) and by `collate`. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:66 + def run_exit_tasks!(error_exit_status = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov.rb:50 + def start(profile = T.unsafe(nil), &); end + + # pkg:gem/simplecov#lib/simplecov.rb:95 + def start_tracking; end + + # mutant:disable -- a pid is an Integer, and Integers answer ==, eql? and + # equal? alike for the same value. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:140 + def started_in_this_process?; end + + # pkg:gem/simplecov#lib/simplecov.rb:22 + def subprocess_serial(*args, **, &block); end + + # Asked as a predicate rather than compared against `ExitCodes::SUCCESS`, + # because two equal Integers are equal through every spelling of the + # comparison. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:147 + def successful?(status); end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:25 + def wait_for_other_processes; end + + # @api private -- true when the reporting worker has every resultset it's + # going to get, false on timeout. Single-process runs short-circuit. + # + # Normally we poll until `expected` workers have reported or + # `SimpleCov.parallel_wait_timeout` elapses. When a native wait already + # confirmed every sibling process exited, no further resultset will appear, + # so a count below `expected` just means some workers produced none, and + # once the count holds steady for `PARALLEL_RESULTS_SETTLE` we accept it as + # final. Without a native wait we can't tell an idle worker from a slow + # one, so we keep waiting the full timeout. + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:63 + def wait_for_parallel_results(expected, native_wait: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/report_deferral.rb:33 + def warn_about_deferred_report; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/parallel_coordination.rb:111 + def warn_about_incomplete_parallel_results(expected, seen); end + + # pkg:gem/simplecov#lib/simplecov.rb:68 + def warn_about_start_in_dot_simplecov; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov.rb:59 + def with_dot_simplecov_autoload; end + + # @api private -- floored (#679) so the next run can compute drift. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:88 + def write_last_run(result); end + + private + + # Every CoverageLimits member is named after the configuration reader that + # supplies it, so a new limit only has to be added to the Data definition + # and the checks. + # + # pkg:gem/simplecov#lib/simplecov/exit_handling.rb:160 + def build_coverage_limits; end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:181 + def build_result(raw, coverage, not_loaded:, tracked:, report:); end + + # pkg:gem/simplecov#lib/simplecov.rb:136 + def defer_to_minitest_after_run; end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:124 + def grouped_file_set(grouped); end + + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:119 + def initial_setup(profile, &block); end + + # `Rake::TestTask` runs `ruby -e 'require "minitest/autorun"; ...'`, so + # Minitest's at_exit registers before SimpleCov's and, at_exit being LIFO, + # SimpleCov's would format an empty resultset before the tests ever run. + # Routing through `Minitest.after_run` instead fires after the suite + # completes (#1099, #1112). + # + # pkg:gem/simplecov#lib/simplecov.rb:129 + def minitest_autorun_pending?; end + + # `report:` and `inject_unloaded:` are false when a merge step follows. + # Only the union of every process's loaded files says what was really never + # loaded, and the merged result is the one that reports dropped source + # files, so a per-process slice would warn once per worker and simulate + # nearly the whole project only to have it merged away (#1250). + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:164 + def process_coverage_result(report:, inject_unloaded: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov.rb:113 + def start_coverage_measurement; end + + # Every path this process was told to track, whether or not it loaded them. + # Recorded on the result so a merge in another process can inject the ones + # nobody loaded without needing this process's `cover` / `track_files` + # configuration. A standalone `collate` never ran `SimpleCov.start` (#1250). + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:132 + def tracked_file_paths; end + + # The legacy `track_files` glob (additive only) plus every string glob + # declared via `cover` (also restrictive, but the restriction lives in + # `Result#apply_cover_filters!`). + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:155 + def unloaded_file_discovery_globs; end + + # JRuby coverage data is unreliable unless full-trace mode is enabled. + # @see https://github.com/jruby/jruby/issues/1196 + # @see https://github.com/simplecov-ruby/simplecov/issues/420 + # @see https://github.com/simplecov-ruby/simplecov/issues/86 + # mutant:disable — every line below the guard is JRuby-only, and no + # example running on the engine this suite runs on can reach one. + # + # pkg:gem/simplecov#lib/simplecov.rb:147 + def warn_if_jruby_full_trace_disabled; end + + # Simulating a template means classifying its lines as Ruby and parsing it + # for branches, both of which produce a wrong shape, whereas `cover_views` + # compiles it and measures the real thing. + # + # pkg:gem/simplecov#lib/simplecov/result_processing.rb:146 + def warn_templates_tracked(templates); end + end +end + +# pkg:gem/simplecov#lib/simplecov/filter.rb:131 +class SimpleCov::ArrayFilter < ::SimpleCov::Filter + # pkg:gem/simplecov#lib/simplecov/filter.rb:132 + def initialize(filter_argument); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:144 + def matches?(source_files_list); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:140 + def path_only?; end +end + +# Replaces an artifact through a collision-safe temporary file in the +# destination directory, so readers see either the old or the complete new +# file. +# +# pkg:gem/simplecov#lib/simplecov/atomic_file.rb:10 +module SimpleCov::AtomicFile + class << self + # pkg:gem/simplecov#lib/simplecov/atomic_file.rb:14 + def write(path, content, binary: T.unsafe(nil)); end + + private + + # pkg:gem/simplecov#lib/simplecov/atomic_file.rb:58 + def destination_mode(path); end + + # On POSIX systems rename replaces the destination atomically. On Windows it + # fails with EACCES when the destination is open in a reader or + # mid-replacement by a concurrent writer, so retry briefly there. + # + # pkg:gem/simplecov#lib/simplecov/atomic_file.rb:42 + def rename_over(temp, path); end + + # Closing flushes the last buffered bytes, so the rename publishes a complete + # file rather than whatever happened to reach disk. No cleanup of its own: + # `Tempfile.create` closes and removes the file when its block ends, however + # it ends. + # + # pkg:gem/simplecov#lib/simplecov/atomic_file.rb:30 + def replace(temp, path, content, mode, binary:); end + end +end + +# pkg:gem/simplecov#lib/simplecov/atomic_file.rb:11 +SimpleCov::AtomicFile::DEFAULT_MODE = T.let(T.unsafe(nil), Integer) + +# The checked-in per-file coverage floor behind `simplecov ratchet` (#1268): +# `.rubocop_todo.yml` applied to coverage. Each entry records, per criterion, +# the percent a file has already reached and the number of misses it had when +# that percent was recorded. +# +# A floor carries both numbers because each covers for the other's blind +# spot. The percent is the policy, but a percent moves when a file is edited +# without any coverage change at all, so the missed count acts as the +# dampener. A violation therefore requires both a lower percent and more +# misses, which is the honest reading of "this file got worse". +# +# pkg:gem/simplecov#lib/simplecov/baseline.rb:16 +class SimpleCov::Baseline + # pkg:gem/simplecov#lib/simplecov/baseline.rb:67 + def initialize(entries); end + + # Which is also what exempts the pair from the per-file thresholds. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:80 + def covers?(project_filename, criterion); end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:65 + def entries; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:71 + def entry_for(project_filename); end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:75 + def floor_for(project_filename, criterion); end + + # Floors only move in the tightening direction, each axis independently: + # the percent keeps its best, the missed count its lowest. Entries for + # files `current` does not carry are pruned; files `current` carries + # without an entry stay uncovered, so new code answers to the global + # standard rather than to a floor cut at whatever it launched with. A + # criterion the current run did not measure keeps its floor, and a newly + # measured criterion joins the entry, so a later `enable_coverage :branch` + # grandfathers the legacy files' branch state. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:92 + def ratchet(current); end + + # Sorted by path so a ratchet rewrite diffs as the set of floors that + # actually moved. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:108 + def to_yaml; end + + private + + # The regressed bucket mirrors the violation rule exactly, so "below its + # floor" in the ratchet summary always means the exit check fails the file, + # never a percent drift the dampener tolerates. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:132 + def bucket_for(entry, merged, current_entry); end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:162 + def dump_floor(floor); end + + # A nil current prunes the entry, which carries no replacement and so + # answers with the bucket alone. Otherwise every measured criterion + # tightens, keeping the ones this run did not measure. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:120 + def ratchet_entry(entry, current_entry); end + + # Either side may be absent: a floor with no current measurement stays, a + # measurement with no floor becomes one. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:148 + def tighten(floor, current); end + + class << self + # pkg:gem/simplecov#lib/simplecov/baseline.rb:59 + def generate(current); end + + # `current` is a `{project_filename => {criterion => {percent:, missed:}}}` + # Hash of the measured state. Everything the report carries gets a floor at + # its current coverage. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:54 + def read(path); end + + # A file that exists but cannot be read as a baseline raises + # ConfigurationError: a malformed policy must fail loudly rather than + # silently un-enforce every floor it carried. + # + # pkg:gem/simplecov#lib/simplecov/baseline.rb:42 + def read_if_exists(path); end + end +end + +# The YAML file speaks the report's vocabulary; internally floors are keyed +# by criterion the way the threshold configuration is. +# +# pkg:gem/simplecov#lib/simplecov/baseline.rb:28 +SimpleCov::Baseline::CRITERIA = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/baseline.rb:17 +SimpleCov::Baseline::DEFAULT_FILENAME = T.let(T.unsafe(nil), String) + +# `missed` is nil for a hand-written percent-only entry, meaning the +# dampener is absent and the percent alone decides. +# +# pkg:gem/simplecov#lib/simplecov/baseline.rb:33 +class SimpleCov::Baseline::Floor < ::Data + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def missed; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def percent; end + + class << self + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def [](*_arg0); end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def inspect; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def members; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:33 + def new(*_arg0); end + end +end + +# pkg:gem/simplecov#lib/simplecov/baseline.rb:19 +SimpleCov::Baseline::HEADER = T.let(T.unsafe(nil), String) + +# The tightened baseline plus the path lists the CLI summarizes (each path +# appears in exactly one). +# +# pkg:gem/simplecov#lib/simplecov/baseline.rb:37 +class SimpleCov::Baseline::Outcome < ::Data + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def baseline; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def pruned; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def regressed; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def tightened; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def unchanged; end + + class << self + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def [](*_arg0); end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def inspect; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def members; end + + # pkg:gem/simplecov#lib/simplecov/baseline.rb:37 + def new(*_arg0); end + end +end + +# Turns the YAML document of a baseline file into the +# `{path => {criterion => Floor}}` entries `Baseline` holds. The canonical +# shape is the criteria Hash `to_yaml` writes, but the lenient shapes stay +# readable: a bare number is a line-percent floor, and a criterion may carry +# a bare percent instead of the percent/missed pair. Anything else raises +# ConfigurationError, naming the file and the offending entry: a malformed +# policy must fail loudly rather than silently un-enforce every floor. +# +# pkg:gem/simplecov#lib/simplecov/baseline/parser.rb:12 +module SimpleCov::Baseline::Parser + extend ::SimpleCov::Baseline::Parser + + # pkg:gem/simplecov#lib/simplecov/baseline/parser.rb:15 + def call(data, path); end + + # pkg:gem/simplecov#lib/simplecov/baseline/parser.rb:33 + def parse_criterion(file, criterion_key, path); end + + # pkg:gem/simplecov#lib/simplecov/baseline/parser.rb:21 + def parse_entry(file, entry, path); end + + # pkg:gem/simplecov#lib/simplecov/baseline/parser.rb:41 + def parse_floor(file, floor, path); end +end + +# pkg:gem/simplecov#lib/simplecov/filter.rb:112 +class SimpleCov::BlockFilter < ::SimpleCov::Filter + # pkg:gem/simplecov#lib/simplecov/filter.rb:113 + def matches?(source_file); end +end + +# At module scope rather than inside `class << self` so it can be declared in +# the RBS signatures; lexical scoping keeps references inside the singleton +# class working. +# +# pkg:gem/simplecov#lib/simplecov.rb:11 +SimpleCov::CRITERION_TO_RUBY_COVERAGE = T.let(T.unsafe(nil), Hash) + +# ANSI colorization for stderr diagnostics. Thresholds mirror the HTML +# formatter so a team's mental model of "what's the cutoff" is the same in +# the terminal and in the report. +# +# pkg:gem/simplecov#lib/simplecov/color.rb:7 +module SimpleCov::Color + extend ::SimpleCov::Color + + # pkg:gem/simplecov#lib/simplecov/color.rb:50 + def colorize(text, color, enabled: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/color.rb:56 + def colorize_percent(percent, text = T.unsafe(nil), enabled: T.unsafe(nil)); end + + # Precedence, highest first: an explicit `SimpleCov.color` true/false (the + # default `:auto` falls through), then `NO_COLOR`, then `FORCE_COLOR`, then + # `stream.tty?`. `NO_COLOR` wins over `FORCE_COLOR` when both are set. + # + # `stream` is the IO the colorized text is destined for. CLI subcommands + # that print to stdout should pass `$stdout` so a redirected pipe doesn't + # get ANSI sequences. + # + # `SimpleCov.color` only exists once the full library is loaded, and the + # standalone CLI loads this file without it, so a missing config reads as + # its `:auto` default. A parallel runner can also close a worker's stdio + # before its at_exit hooks run, and a closed stream is not a tty. + # + # pkg:gem/simplecov#lib/simplecov/color.rb:32 + def enabled?(stream = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/color.rb:60 + def env_set?(name); end + + # pkg:gem/simplecov#lib/simplecov/color.rb:43 + def for_percent(percent); end +end + +# pkg:gem/simplecov#lib/simplecov/color.rb:11 +SimpleCov::Color::ANSI = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/color.rb:8 +SimpleCov::Color::GREEN_THRESHOLD = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/color.rb:9 +SimpleCov::Color::YELLOW_THRESHOLD = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/combine.rb:4 +module SimpleCov::Combine; end + +# pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:9 +module SimpleCov::Combine::BranchesCombiner + extend ::SimpleCov::Combine::BranchesCombiner + + # Folds `coverage` into `target`, an interned table keyed by condition + # identity. Kept interned rather than turned back into tuple keys per merge, + # so a fold over N resultsets interns each condition once instead of + # re-interning the whole accumulated table N times. + # + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:21 + def absorb(target, coverage); end + + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:12 + def combine(coverage_a, coverage_b); end + + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:43 + def identities; end + + # Turns an interned table back into the tuple-keyed hash the rest of + # SimpleCov reads. Done once, at the end of a fold. + # + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:39 + def materialize(target); end + + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:32 + def new_condition(condition); end + + # Branches match on source span, whatever ids the recording processes handed + # them (#1233). + # + # pkg:gem/simplecov#lib/simplecov/combine/branches_combiner.rb:49 + def tuple_identity(tuple); end +end + +# Folds any number of resultsets' coverage into one, absorbing them one +# at a time so that a caller reading resultsets off disk never holds more +# than one in memory, and so the accumulated side can be updated in place +# rather than rebuilt once per resultset. +# +# pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:15 +class SimpleCov::Combine::CoverageAccumulator + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:39 + def initialize; end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:48 + def absorb(coverage); end + + # `nil` until the first absorb, so callers can tell "no results" apart + # from "results that cover nothing": only the former means there is no + # report to build. + # + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:62 + def result; end + + private + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:73 + def merge_file(existing, file_coverage); end + + class << self + # A file some process actually loaded has at least one executed line; a + # simulated (never-loaded) file's lines are all `nil` or `0`. + # + # `Array()` plus the `Numeric` test rather than `any?(&:positive?)` + # because this reads straight off a parsed resultset, which is external + # input and can carry anything under "lines". + # + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:22 + def executed?(lines); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:27 + def fold(pairs); end + end +end + +# One file's accumulated coverage. +# +# A criterion is carried for this file when the data carries it, not when +# this process happens to measure it: `simplecov merge` never ran +# SimpleCov.start at all, and dropping a table it did not ask for would +# lose branch data the producers did measure. A nil table means nobody +# measured that criterion, an empty one means it was measured and the +# file has none. +# +# pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:91 +class SimpleCov::Combine::CoverageAccumulator::MergedFile + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:92 + def initialize(coverage, branches:, methods:); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:101 + def absorb(coverage); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:107 + def to_h; end + + private + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:142 + def absorb_tuples(coverage); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:157 + def authoritative_table(combiner, table, keep_empty); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:148 + def drop_incoming_tuples(coverage); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:169 + def executed?(lines); end + + # Absent lines do not mean the side never ran: a branch-only or + # method-only run omits them even for the files it loaded. + # + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:165 + def lines_measured?(lines); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:116 + def new_table; end + + # When exactly one side of the merge was actually executed, its branch + # and method tuples are authoritative and the other side's are dropped. + # SimulateCoverage synthesizes those tuples statically, so a location + # that drifts from what Coverage emits would otherwise be unioned in by + # position and survive as a phantom, permanently-missed branch (#1233). + # Lines are never dropped: a simulated file's line shape is correct and + # carries the unloaded-file denominator (#1059). + # + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:127 + def reconcile_synthesized(coverage); end + + # pkg:gem/simplecov#lib/simplecov/combine/coverage_accumulator.rb:152 + def replace_tuples(coverage); end +end + +# Builds the raw-key => interned-identity caches the tuple combiners keep. A +# key is mapped on first sight and kept: the pairwise fold would otherwise +# re-derive the accumulator's identities on every one of its merges, always +# to the same answer. +# +# Identities exist only to be hash keys, and `Array#hash` is not memoized, so +# keying on the identity tuple itself would rehash its elements for every key +# of both sides of every merge. An Integer hashes as an immediate. Two keys +# share an id exactly when their identities are equal, so the string and +# array forms of one key still merge together. +# +# pkg:gem/simplecov#lib/simplecov/combine/identity_interner.rb:15 +module SimpleCov::Combine::IdentityInterner + extend ::SimpleCov::Combine::IdentityInterner + + # pkg:gem/simplecov#lib/simplecov/combine/identity_interner.rb:18 + def build; end +end + +# The inner merge loop the branches and methods combiners share: folds +# `source`'s tuple => count pairs into `target`, an interned table keyed by +# each tuple's merge identity and holding `[raw_key, count]` pairs. The +# first-seen raw key is kept for display; counts sum. `target` and its pairs +# are always built by this loop, so updating them in place can't reach data a +# caller still holds. +# +# pkg:gem/simplecov#lib/simplecov/combine/interned_counts.rb:11 +module SimpleCov::Combine::InternedCounts + extend ::SimpleCov::Combine::InternedCounts + + # pkg:gem/simplecov#lib/simplecov/combine/interned_counts.rb:14 + def absorb_counts(target, source, identities); end +end + +# pkg:gem/simplecov#lib/simplecov/combine/lines_combiner.rb:5 +module SimpleCov::Combine::LinesCombiner + extend ::SimpleCov::Combine::LinesCombiner + + # Folds `source` into `target` rather than building a third array, so only + # for a `target` the caller owns outright: a caller still holding a + # reference would see it change. `source` is never touched. + # + # Two runs of the same source file should agree on which lines are + # coverage-relevant (`nil` for comments, `0`+ for executable). When they + # don't, "relevant on either side" wins rather than masking a real `0` as + # `nil`, which would drop an uncovered line from the denominator: + # + # nil + nil = nil + # nil + int = int (preserves a relevant-but-uncovered 0) + # int + int = int (sum) + # + # pkg:gem/simplecov#lib/simplecov/combine/lines_combiner.rb:20 + def merge_into(target, source); end + + # The loop is written out rather than dispatching a block per element + # because this is the innermost loop of a merge: a 160-worker run over + # ~1,800 files folds tens of millions of line counts through it. + # + # Both sides go through `to_i`, which is what keeps the merge total over + # external input: a count a hand-edited or foreign resultset wrote as "3" or + # as a JSON float merges to a wrong answer instead of raising out of the + # middle of a merge. On the accumulated side it doubles as the nil arm. + # + # pkg:gem/simplecov#lib/simplecov/combine/lines_combiner.rb:37 + def sum_into(target, source, size); end +end + +# pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:9 +module SimpleCov::Combine::MethodsCombiner + extend ::SimpleCov::Combine::MethodsCombiner + + # A `nil` `target` stays `nil` until some resultset actually carries + # methods, so a merge can tell "no method data anywhere" apart from "method + # data that covers nothing". + # + # pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:27 + def absorb(target, coverage); end + + # Method coverage maps `[class, name, start_line, start_col, end_line, + # end_col]` keys to hit counts. Keys are matched on their source identity, + # the location alone, because Ruby records one entry per defined method: the + # same `define_method` block defined onto different classes, or under + # different names, in different processes arrives with different receivers + # for the same source method, and matching on the full key would keep both, + # letting a never-called copy's 0 shadow a covered method (#1234). + # + # pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:19 + def combine(coverage_a, coverage_b); end + + # pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:38 + def identities; end + + # pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:34 + def materialize(target); end + + # pkg:gem/simplecov#lib/simplecov/combine/methods_combiner.rb:42 + def source_identity(key); end +end + +# pkg:gem/simplecov#lib/simplecov/combine/results_combiner.rb:7 +module SimpleCov::Combine::ResultsCombiner + extend ::SimpleCov::Combine::ResultsCombiner + + # Callers that read their results one at a time, to keep a big CI run's + # resultsets out of memory at once, should drive a `CoverageAccumulator` + # directly instead of collecting the results to pass here. + # + # pkg:gem/simplecov#lib/simplecov/combine/results_combiner.rb:13 + def combine(*results); end +end + +# pkg:gem/simplecov#lib/simplecov/command_guesser.rb:4 +module SimpleCov::CommandGuesser + class << self + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:30 + def guess; end + + # The invoked program on its own. `original_run_command` joins + # `$PROGRAM_NAME` and `ARGV` with a space, so a program path containing + # one (`/opt/My Ruby/bin/rspec`) cannot be recovered from it afterwards. + # Falls back to the first token for callers that set only the flattened + # command, which is every caller outside `defaults.rb`. + # + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:26 + def original_program_name; end + + # The invoked program on its own. `original_run_command` joins + # `$PROGRAM_NAME` and `ARGV` with a space, so a program path containing + # one (`/opt/My Ruby/bin/rspec`) cannot be recovered from it afterwards. + # Falls back to the first token for callers that set only the flattened + # command, which is every caller outside `defaults.rb`. + # + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:24 + def original_program_name=(_arg0); end + + # The original command line call that invoked the test suite. This has to + # be stored as early as possible because rake and test/unit 2 have a habit + # of tampering with ARGV. + # + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:9 + def original_run_command; end + + # Assigning the flattened command clears any separately recorded program + # name so the two can never describe different runs. Callers that know the + # real one assign it immediately afterwards, as `defaults.rb` does. + # + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:14 + def original_run_command=(command); end + + private + + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:74 + def from_command_line_options; end + + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:110 + def from_defined_constants; end + + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:91 + def from_executable_name; end + + # When parallel_tests (or a compatible runner) is driving the suite, tag + # the command name with this worker's position in the pool. + # + # pkg:gem/simplecov#lib/simplecov/command_guesser.rb:39 + def parallel_data; end + end +end + +# pkg:gem/simplecov#lib/simplecov/configuration.rb:6 +module SimpleCov::Configuration + # The Coverage module is actively tracking, or a `@result` has already been + # assembled (`SimpleCov.collate` never starts Coverage). + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:107 + def active_session?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:75 + def add_filter(filter_argument = T.unsafe(nil), &block); end + + # pkg:gem/simplecov#lib/simplecov/configuration/groups.rb:35 + def add_group(group_name, filter_argument = T.unsafe(nil), &block); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:93 + def at_exit(&block); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:117 + def at_fork(&block); end + + # Memoized per resolved path so the exit check and the JSON formatter's + # errors section read the file once, while a `baseline_file` or `root` change + # between reads is still picked up. + # + # pkg:gem/simplecov#lib/simplecov/configuration/baseline.rb:23 + def baseline; end + + # The baseline's path, relative to `SimpleCov.root`; an absolute path is + # honored as given. The file's presence is the opt-in: generate it with + # `simplecov ratchet`, check it in, and the exit check holds every listed + # file to its own floor (#1268). + # + # pkg:gem/simplecov#lib/simplecov/configuration/baseline.rb:9 + def baseline_file(path = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/baseline.rb:16 + def baseline_file=(path); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:71 + def branch_coverage?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:75 + def branch_coverage_supported?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:49 + def clear_coverage_criteria; end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:91 + def clear_filters; end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:50 + def color(value = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:56 + def color=(value); end + + # The name of the command (a.k.a. Test Suite) currently running. Used for + # result merging and caching. Auto-detected. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:64 + def command_name(name = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:69 + def command_name=(name); end + + # Configure simplecov in a block instead of prepending SimpleCov to each + # config method. Parameterized blocks retain their caller context and + # receive this configuration target explicitly. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:82 + def configure(&block); end + + # Restrict the universe of files in the coverage report to those matching + # one or more globs, regexps, or block predicates. Multiple calls union; + # when any `cover` matcher is configured the report drops every file that + # doesn't match at least one of them. + # + # Strings are interpreted as shell globs, not substring matches, a + # deliberate departure from the legacy `add_filter` semantics. + # + # A string glob is also expanded on disk, so files that exist but were + # never required during the run still appear in the report at 0%. This is + # the "include unloaded files" half of the legacy `track_files` behavior. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:20 + def cover(*args, &block); end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:26 + def cover_filters; end + + # The string globs passed to `cover`, used by the disk-discovery pass in + # `SimpleCov.tracked_file_paths` so files matching a `cover` glob appear in + # the report even when they were never required during the suite. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:33 + def cover_globs; end + + # Reports coverage for ActionView templates, defaulting to a Rails app's + # views. Globs are expanded against `SimpleCov.root`, and one naming an + # extension no handler is registered for (as the default does whenever a + # project has no Haml or Slim) leaves those files out rather than reporting + # them as empty. + # + # Templates the suite renders are measured through eval coverage, which this + # enables. Templates it never renders are compiled at the end of the run so + # they appear at 0% instead of going missing. + # + # pkg:gem/simplecov#lib/simplecov/configuration/view_coverage.rb:16 + def cover_views(*globs); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:8 + def coverage(criterion, primary: T.unsafe(nil), enabled: T.unsafe(nil), oneshot: T.unsafe(nil), **thresholds, &block); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:41 + def coverage_criteria; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:45 + def coverage_criterion_enabled?(criterion); end + + # Older Rubies don't expose `Coverage.supported?`, so fall back to the + # historical engine check that line/branch/method were unavailable on JRuby. + # `:eval` was added later, so its fallback is "always unsupported". + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:90 + def coverage_criterion_supported?(criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:20 + def coverage_dir(dir = T.unsafe(nil)); end + + # nil means the default 'coverage', recorded as a derivation rather than a + # choice. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:29 + def coverage_dir=(dir); end + + # pkg:gem/simplecov#lib/simplecov/configuration/eval_coverage.rb:12 + def coverage_for_eval_enabled?; end + + # The standalone eval-coverage toggle, kept apart from the criteria-set logic + # in `coverage_criteria.rb` because `:eval` is a boolean toggle, never a + # member of the enabled-criteria set. + # + # pkg:gem/simplecov#lib/simplecov/configuration/eval_coverage.rb:8 + def coverage_for_eval_supported?; end + + # Defaults to `SimpleCov.root` + `SimpleCov.coverage_dir`, but callers can + # override with an arbitrary absolute path, handy for out-of-tree build + # directories (#716). + # + # Reading is pure: the directory is only created when a path is explicitly + # assigned. The codepaths that write into it ensure existence themselves, + # so read-only CLI subcommands that interpolate the path into status text + # don't materialize a stray `coverage/` directory. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:45 + def coverage_path(path = T.unsafe(nil)); end + + # Assigning is the signal the caller intends to write there, so the + # directory is created. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:53 + def coverage_path=(path); end + + # A configuration loaded on its own may have no Coverage to ask, which is + # not something a suite that measures coverage can be. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:113 + def coverage_running?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:93 + def current_nocov_token(value = T.unsafe(nil)); end + + # The group set `SimpleCov.grouped` bins against when its caller names none. + # It reads through a method of its own because the keyword it defaults + # shadows `groups`, so the default has to name a receiver, and every + # spelling of that receiver is the same call. + # + # mutant:disable — for that reason: `SimpleCov.groups`, `self.groups` and + # `groups()` cannot be told apart. + # + # pkg:gem/simplecov#lib/simplecov/configuration/groups.rb:16 + def default_groups; end + + # The configuration DSL migrates by warn-and-delegate, which means a project + # can run on deprecated spellings indefinitely without noticing. + # `deprecations :raise` turns every deprecated API into a ConfigurationError, + # so a project that has migrated can guard in CI against old spellings + # creeping back. There is deliberately no silencing mode: a deprecation you + # cannot see is a migration you never make. + # + # pkg:gem/simplecov#lib/simplecov/configuration/deprecations.rb:15 + def deprecations(mode = T.unsafe(nil)); end + + # Disabling every criterion raises at `start_tracking`, not here, so config + # files that toggle criteria in arbitrary order don't have to worry about + # transient empty states. + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:20 + def disable_coverage(criterion); end + + # What `maximum_coverage_drop` measures the drop against: `:last_run` (the + # default) the previous run whatever it was, `:median` the median of the + # recorded history so one run that dipped for an unrelated reason cannot + # quietly become the baseline, and `:branch` the newest recorded run on the + # current git branch so a feature branch is compared with itself. + # + # The latter two read coverage/.history.json and find nothing to compare + # against while it is empty, which counts as "no previous run" the way a + # missing .last_run.json does. + # + # pkg:gem/simplecov#lib/simplecov/configuration/history.rb:33 + def drop_baseline(mode = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:11 + def enable_coverage(*criteria); end + + # pkg:gem/simplecov#lib/simplecov/configuration/eval_coverage.rb:16 + def enable_coverage_for_eval; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:43 + def enable_for_subprocesses(value = T.unsafe(nil)); end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:24 + def enabled_for_subprocesses?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:131 + def env_merge_timeout; end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:30 + def expected_coverage(coverage = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:62 + def filters; end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:5 + def filters=(_arg0); end + + # Whether SimpleCov's selected final process owns merge processing: waiting + # for sibling workers, building the merged result, formatting, enforcing + # thresholds, and writing `.last_run.json`. + # + # Defaults to true, except for recognized multi-worker parallel runs that + # explicitly write to a custom coverage destination while merging is + # enabled. Those runs are likely using an external `SimpleCov.collate` step + # to finalize the merge. + # + # Splatted rather than defaulted: false is a value someone sets on purpose, + # so "given nothing" cannot be told from it by looking at the argument. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:72 + def finalize_merge(*value); end + + # Writing is what makes the answer explicit rather than inferred. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:86 + def finalize_merge=(value); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:91 + def finalize_merge?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:17 + def formats(*names); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:24 + def formatter(formatter = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:7 + def formatter=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:33 + def formatters(formatters = T.unsafe(nil)); end + + # `nil`, `false`, and `[]` all opt out of formatting entirely. `false` is + # normalized first, since `Array(false)` would otherwise smuggle it in as a + # "formatter" that can only fail. + # + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:46 + def formatters=(formatters); end + + # Same matcher grammar as `skip`, but instead of dropping the matching files + # it bins them under `group_name` for the formatter. Files matched by no + # group fall into the implicit "Ungrouped" bucket. + # + # pkg:gem/simplecov#lib/simplecov/configuration/groups.rb:29 + def group(group_name, filter_argument = T.unsafe(nil), &); end + + # pkg:gem/simplecov#lib/simplecov/configuration/groups.rb:5 + def groups; end + + # pkg:gem/simplecov#lib/simplecov/configuration/groups.rb:20 + def groups=(new_groups); end + + # How many runs coverage/.history.json keeps, newest kept. 0 disables + # recording entirely, and anything but a count of runs is refused. + # + # pkg:gem/simplecov#lib/simplecov/configuration/history.rb:9 + def history_limit(limit = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/history.rb:16 + def history_limit=(limit); end + + # Deprecated in favour of `coverage(:branch) { ignore :implicit_else }`, + # which fixes the criterion by context the way the threshold verbs do. One + # difference rides out the deprecation period: the coverage block enables the + # criterion it names, while this legacy setter records without enabling. + # + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:12 + def ignore_branches(*types); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:26 + def ignore_methods(*types); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:22 + def ignored_branch?(type); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:18 + def ignored_branches; end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:36 + def ignored_method?(type); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:32 + def ignored_methods; end + + # Whether this run produces line data at all. The oneshot variant counts: + # `ResultAdapter` turns its executed-line list back into a line array. A + # branch-only or method-only run produces none, and `Coverage.result` + # entries for the files it loaded carry no `"lines"` key. + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:66 + def line_coverage?; end + + # Loading `simplecov/configuration` on its own leaves Coverage undefined, and + # this question is asked at configuration time. + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:99 + def load_coverage; end + + # The maximum overall coverage allowed for the testsuite to pass. Useful + # paired with `minimum_coverage` (or via `expected_coverage`) to pin + # coverage to an exact value, so an unexpected jump up fails the build + # (#187). + # + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:24 + def maximum_coverage(coverage = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:37 + def maximum_coverage_drop(coverage_drop = T.unsafe(nil)); end + + # Caps the total number of misses per criterion. Where a percent minimum + # asks for a ratio, this asks for an absolute burn-down number, which stays + # meaningful as the codebase grows and shrinks. + # + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:8 + def maximum_missed(counts = T.unsafe(nil)); end + + # Unlike a percent minimum, which systematically flatters big files, this + # holds every file to the same absolute budget. Files with a baseline entry + # are exempt per covered criterion, as they are from the per-file minimum. + # + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:17 + def maximum_missed_per_file(counts = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:25 + def maximum_missed_per_file_overrides; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:96 + def merge_finalization_owner?; end + + # Whether SimpleCov should hook `Process._fork` to attach itself to + # subprocesses. Required when the suite uses parallel test workers (Rails' + # `parallelize(workers:)`). Defaults to false. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:10 + def merge_subprocesses(value = T.unsafe(nil)); end + + # false stands in for nothing, so the answer is always a real opt-in or + # opt-out. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:19 + def merge_subprocesses=(value); end + + # The maximum age (in seconds) of a resultset to still be included in + # merged results. Default is 600 seconds. + # + # A numeric SIMPLECOV_MERGE_TIMEOUT in the environment takes precedence + # over the configured value: `simplecov watch` re-runs test subsets across + # a long session and extends its child runs' merge window this way, where + # editing every watched project's configuration is not an option. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:115 + def merge_timeout(seconds = T.unsafe(nil)); end + + # Anything but an Integer is ignored, the way the dual method always did. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:127 + def merge_timeout=(seconds); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:49 + def merging(use = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:56 + def merging=(use); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:79 + def method_coverage?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:83 + def method_coverage_supported?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:5 + def minimum_coverage(coverage = T.unsafe(nil)); end + + # The minimum coverage per file required for the testsuite to pass. + # Accepts a Numeric (global threshold on the primary criterion), a + # Symbol-keyed Hash (per-criterion globals), or a Hash mixing Symbol keys + # with String / Regexp keys to declare per-path overrides (#575). + # + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:49 + def minimum_coverage_by_file(coverage = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:65 + def minimum_coverage_by_file_overrides; end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:69 + def minimum_coverage_by_group(coverage = T.unsafe(nil)); end + + # Order matters: call this before your own `skip` invocations. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:96 + def no_default_skips; end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:86 + def nocov_token(nocov_token = T.unsafe(nil)); end + + # Whether SimpleCov should auto-require the `parallel_tests` gem when it + # sees `TEST_ENV_NUMBER` / `PARALLEL_TEST_GROUPS` in the environment. + # Defaults to auto-detect (nil). See #1018. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:33 + def parallel_tests(value = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:39 + def parallel_tests=(value); end + + # How long (in seconds) the reporting process waits for the remaining + # parallel-test workers to write their resultsets before it proceeds with a + # partial merge. Default is 60 seconds. Raise it when a slow worker + # routinely finishes well after the others, so its coverage is still + # included and the threshold checks aren't skipped against a partial total. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:143 + def parallel_wait_timeout(seconds = T.unsafe(nil)); end + + # Anything but an Integer is ignored, the way the dual method always did. + # + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:149 + def parallel_wait_timeout=(seconds); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:28 + def primary_coverage(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:36 + def primary_coverage=(criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:80 + def print_error_status; end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:7 + def print_error_status=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:60 + def print_errors(value = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:66 + def print_errors=(value); end + + # The path to a production coverage store, the file a `SimpleCov::Production` + # sink wrote. Relative paths resolve against `SimpleCov.root`. The store is + # read at report time, and an unreadable or invalid file warns and leaves the + # section out, because a missing night's data should not fail the suite that + # measured the tests. + # + # pkg:gem/simplecov#lib/simplecov/configuration/production.rb:10 + def production_coverage(path = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/production.rb:17 + def production_coverage=(path); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:73 + def profiles; end + + # Only a String renames, and a name already chosen survives anything else. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:135 + def project_name(new_name = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:11 + def raise_on_invalid_coverage(coverage, coverage_setting); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:79 + def refuse_coverage_drop(*criteria); end + + # `reject!` answers nil when it rejected nothing, which is the whole of + # "was anything removed". + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:84 + def remove_filter(filter_argument); end + + # pkg:gem/simplecov#lib/simplecov/configuration.rb:7 + def root(root = T.unsafe(nil)); end + + # nil means the working directory, the default the reader would have derived. + # + # pkg:gem/simplecov#lib/simplecov/configuration.rb:15 + def root=(root); end + + # Drop matching files from the coverage report. The inverse of `cover`. + # Accepts a String (path-segment substring), Regexp, block predicate, or + # Array of any of those. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:71 + def skip(filter_argument = T.unsafe(nil), &); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:91 + def skip_token(nocov_token = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:70 + def source_in_json(value = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:76 + def source_in_json=(value); end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:37 + def track_files(glob); end + + # `track_files(nil)` is the documented way to clear a previously-set glob, + # but `cover(nil)` raises `ConfigurationError`, so don't point users at it. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:45 + def track_files_replacement_hint(glob); end + + # Enables recording of which test covered which line. Off by default: + # sampling coverage around every test costs run time, and the recorded map + # costs space in `.resultset.json`. RSpec examples and Minitest tests are + # wrapped automatically; other runners wrap their own units of work with + # `SimpleCov.track_test`. A bare `track_tests` enables, and only an explicit + # `track_tests false` turns it back off. + # + # `granularity` decides what one recorded context stands for: a test + # (`:test`, the default) or a whole test file (`:file`). File granularity is + # the batching lever for suites where per-test sampling costs too much. + # + # pkg:gem/simplecov#lib/simplecov/configuration/test_tracking.rb:17 + def track_tests(enabled = T.unsafe(nil), granularity: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/test_tracking.rb:28 + def track_tests?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/test_tracking.rb:32 + def track_tests_granularity; end + + # Nil until `cover` names a glob: an unset ivar reads as nil, so the absence + # needs no guard of its own. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:58 + def tracked_files; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:100 + def use_merging(use = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:54 + def validate_coverage_criteria!; end + + # @api private. The map is built from per-line execution count deltas, which + # `:oneshot_line` does not produce: a line reports only its first hit ever, + # so every test after the first would show no delta. + # + # pkg:gem/simplecov#lib/simplecov/configuration/test_tracking.rb:39 + def validate_test_tracking!; end + + # False when eval coverage couldn't be enabled, where `cover_views` has + # already warned and the templates would come back empty rather than at 0%. + # + # pkg:gem/simplecov#lib/simplecov/configuration/view_coverage.rb:33 + def view_coverage?; end + + # Nil rather than an empty Array when `cover_views` was never called, so + # "not asked for" stays distinguishable from "asked for, with nothing to + # match". + # + # pkg:gem/simplecov#lib/simplecov/configuration/view_coverage.rb:27 + def view_globs; end + + private + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:105 + def add_coverage_criterion(criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:22 + def apply_threshold_options(configurator, options); end + + # Strings are treated as globs, not substrings (that's `skip`'s + # semantics); everything else dispatches exactly like `add_filter`. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:112 + def build_cover_filter(arg); end + + # Descends into `ArrayFilter` wrappers built by `cover(["a", "b"])`. + # + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:121 + def collect_cover_globs(filter_list); end + + # An empty list is how a project opts out of formatting. + # + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:102 + def combined_formatter(formatters); end + + # Answering `:line` even when it is disabled would propagate broken state + # into `minimum_coverage 90`, so fall back to whichever criterion the user + # actually enabled, in insertion order. + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:115 + def default_primary_coverage; end + + # No support check needed: off is a safe state on every Ruby. + # + # pkg:gem/simplecov#lib/simplecov/configuration/eval_coverage.rb:33 + def disable_eval_coverage; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:34 + def enable_coverage_criterion(criterion, enabled:, oneshot:); end + + # pkg:gem/simplecov#lib/simplecov/configuration/eval_coverage.rb:24 + def enable_eval_coverage; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:177 + def explicit_coverage_destination?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:171 + def explicit_custom_coverage_destination?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:155 + def inferred_finalize_merge?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:189 + def inferred_finalize_merge_warning; end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:115 + def minimum_possible_coverage_exceeded(coverage_option); end + + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:45 + def missed_per_file_replacement(counts); end + + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:31 + def normalized_missed_caps(counts, setting); end + + # A bare Numeric targets the primary criterion, and the resulting + # per-criterion hash is validated before it is stored. + # + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:88 + def normalized_threshold(coverage, setting); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:167 + def parallel_worker_environment?; end + + # pkg:gem/simplecov#lib/simplecov/configuration/filters.rb:102 + def parse_filter(filter_argument = T.unsafe(nil), &filter_proc); end + + # Splits into Symbol-keyed criterion defaults and String/Regexp-keyed + # per-path overrides, normalizing Numeric override values to + # `{primary_coverage => N}` so downstream code has one shape to handle. + # + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:96 + def partition_per_file_thresholds(coverage); end + + # Renders the `coverage` configuration equivalent to a deprecated + # `minimum_coverage_by_file` argument, so the deprecation warning can be + # copy-pasted verbatim into the user's config. + # + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:122 + def per_file_coverage_replacement(defaults, overrides); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:133 + def per_group_coverage_replacement(coverage); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:56 + def raise_if_branch_type_unsupported(type); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:121 + def raise_if_criterion_disabled(criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:136 + def raise_if_criterion_unsupported(criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:64 + def raise_if_method_type_unsupported(type); end + + # pkg:gem/simplecov#lib/simplecov/configuration/missed_caps.rb:38 + def raise_on_invalid_missed_cap(cap, setting); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:144 + def render_coverage_blocks(by_criterion); end + + # `formats :html` has to work in a process that never required the HTML + # formatter, which under SIMPLECOV_NO_DEFAULTS nothing else has. + # + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:124 + def require_html_formatter(name); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:40 + def resolve_criterion_variant(criterion, oneshot); end + + # pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:108 + def resolve_format(name); end + + # Variadic semantics: multiple calls union, duplicates are no-ops, unknown + # tokens raise. + # + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:44 + def store_ignored_branches(types); end + + # pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:50 + def store_ignored_methods(types); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:60 + def store_maximum_missed_per_file(criterion, count, target); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:72 + def store_minimum_per_file(criterion, percent, target); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:83 + def store_minimum_per_group(criterion, percent, group_name); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:54 + def store_missed_cap(setting, criterion, count); end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:49 + def store_overall_threshold(setting, criterion, percent); end + + # pkg:gem/simplecov#lib/simplecov/configuration/thresholds.rb:107 + def validate_per_file_key(key); end + + # pkg:gem/simplecov#lib/simplecov/configuration/merging.rb:181 + def warn_about_inferred_finalize_merge; end +end + +# pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:9 +SimpleCov::Configuration::BUILT_IN_FORMATS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:5 +SimpleCov::Configuration::COVERAGE_THRESHOLD_OPTIONS = T.let(T.unsafe(nil), Array) + +# Receiver for a `coverage do ... end` block. +# +# pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:93 +class SimpleCov::Configuration::CoverageCriterion + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:94 + def initialize(config, criterion); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:113 + def exact(percent); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:134 + def group(name); end + + # The flatten serves the one-liner keyword form, whose value arrives as a + # single argument (`ignore: %i[implicit_else]`). + # + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:140 + def ignore(*types); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:109 + def maximum(percent); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:118 + def maximum_drop(percent); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:122 + def maximum_missed(count, per: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:162 + def maximum_missed_per_file(count, only: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:99 + def minimum(percent, per: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:150 + def minimum_per_file(percent, only: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:156 + def minimum_per_group(percent, only:); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:168 + def primary; end + + private + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:178 + def raise_invalid_per(per); end +end + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 +class SimpleCov::Configuration::CoverageCriterion::GroupTarget < ::Data + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 + def name; end + + class << self + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 + def [](*_arg0); end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 + def inspect; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 + def members; end + + # pkg:gem/simplecov#lib/simplecov/configuration/coverage.rb:174 + def new(*_arg0); end + end +end + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:6 +SimpleCov::Configuration::DEFAULT_COVERAGE_CRITERION = T.let(T.unsafe(nil), Symbol) + +# pkg:gem/simplecov#lib/simplecov/configuration/view_coverage.rb:5 +SimpleCov::Configuration::DEFAULT_VIEW_GLOBS = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/deprecations.rb:7 +SimpleCov::Configuration::DEPRECATION_MODES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/history.rb:5 +SimpleCov::Configuration::DROP_BASELINES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:5 +SimpleCov::Configuration::IGNORABLE_BRANCH_TYPES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/ignored_entries.rb:6 +SimpleCov::Configuration::IGNORABLE_METHOD_TYPES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/formatting.rb:14 +SimpleCov::Configuration::LAZY_FORMAT_REQUIRES = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:8 +SimpleCov::Configuration::LINE_COVERAGE_ALTERNATIVES = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:7 +SimpleCov::Configuration::ONESHOT_LINE_COVERAGE_CRITERION = T.let(T.unsafe(nil), Symbol) + +# pkg:gem/simplecov#lib/simplecov/configuration/coverage_criteria.rb:5 +SimpleCov::Configuration::SUPPORTED_COVERAGE_CRITERIA = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration/test_tracking.rb:5 +SimpleCov::Configuration::TRACK_TESTS_GRANULARITIES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/configuration_error.rb:4 +class SimpleCov::ConfigurationError < ::StandardError; end + +# Records which context covered which line: a list of context ids and, per +# source file, a bitmap of covered lines for each context that touched the +# file. A context is any labeled region of execution, and the vocabulary is +# deliberately the general one (coverage.py calls the same idea dynamic +# contexts), so the stored format doesn't bake simplecov's current use into +# a name. +# +# The naive shape of this data, a list of ids on every line, is +# O(contexts x lines) strings. Context ids are interned instead, and each +# context's covered lines within a file are a single Integer bitmap with bit +# N set when line N+1 was executed, which packs a thousand-line file into +# ~125 bytes and makes the union of two recordings a bitwise OR. +# +# Serialized into `.resultset.json` as `{"version" => 1, "contexts" => +# [...ids...], "files" => {path => {context index => bitmap as hex}}}`. The +# format is tolerated, not trusted: `.from_hash` returns nil for anything +# malformed or future-versioned, which the merge treats the same as a map +# that was never recorded. +# +# pkg:gem/simplecov#lib/simplecov/context_map.rb:24 +class SimpleCov::ContextMap + # pkg:gem/simplecov#lib/simplecov/context_map.rb:29 + def initialize; end + + # Other's contexts are re-interned, so maps recorded by different processes + # merge by id, and a context both sides saw contributes one entry. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:74 + def absorb(other); end + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:64 + def contexts; end + + # Sorted for stable output, since recording order varies between runs and + # merges. The path is resolved against `SimpleCov.root`, so callers can + # pass either an absolute or a project-relative one. + # + # A line number below 1 needs no guard of its own: it shifts the probe bit + # right off the end of the bitmap, leaving a mask no line can match. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:56 + def covering(path, line); end + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:68 + def empty?; end + + # @api private + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:107 + def intern(context_id); end + + # `lines_by_file` maps a source path to the bitmap of lines the context + # executed there. The id is interned even when the delta is empty: the + # context ran, and keeping it distinguishes "covered nothing of its own" + # from "never recorded". + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:39 + def record(context_id, lines_by_file); end + + # Index string => hex bitmap, the wire encoding `to_h` writes. + # coverage.json shares the resultset's encoding through this, so the format + # has one owner. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:102 + def serialized_bitmaps_for(path); end + + # `only:` restricts the files to a given set of paths, so the map follows + # the same universe as the coverage it sits beside. The context list is + # never restricted: which contexts ran is true regardless of which files + # survived filtering. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:90 + def to_h(only: T.unsafe(nil)); end + + protected + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:183 + def file_tables; end + + # Live state, not copies, which is why these are protected rather than + # public. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:179 + def interned_contexts; end + + private + + # Sorted by index: recording and merge order vary run to run, and a + # deterministic serialization keeps stored resultsets diffable. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:171 + def serialize_table(table); end + + class << self + # nil when the data is not a well-formed map of this format version. + # All-or-nothing on purpose: a partially salvaged map would answer + # `covering` queries with silent gaps, and the merge already drops an + # absent map consistently. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:119 + def from_hash(data); end + + private + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:143 + def absorb_table(map, contexts, path, table); end + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:133 + def build(contexts, files); end + + # pkg:gem/simplecov#lib/simplecov/context_map.rb:160 + def parse_bitmap(encoded); end + + # A serialized context index is a decimal string pointing into the entry's + # own context list. An out-of-range one makes the whole map malformed. + # + # pkg:gem/simplecov#lib/simplecov/context_map.rb:153 + def parse_index(index, size); end + end +end + +# Accumulates the context maps of every result a merge absorbs, under the +# all-or-nothing rule the resultset format needs: the merged result carries +# the union of the maps when every merged result recorded one, and no map at +# all otherwise. Keeping a partial union would present one worker's map as +# the whole run's, silently omitting the tests of the results that didn't +# record. +# +# pkg:gem/simplecov#lib/simplecov/context_map/union.rb:11 +class SimpleCov::ContextMap::Union + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:14 + def initialize; end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:29 + def absorb_entry(data); end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:25 + def absorb_resultset(resultset); end + + # The parallel merge builds one union per worker over its slice and ships it + # back, so the parent combines unions rather than re-reading entries. + # + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:40 + def absorb_union(other); end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:12 + def carrying; end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:21 + def collector; end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:48 + def complete?; end + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:12 + def entries; end + + # The union when every absorbed result carried a map, nil otherwise. Dropping + # warns when the merge mixed results with and without maps, since that + # usually means `track_tests` is on in some workers and not others; a merge + # where nothing recorded stays quiet. + # + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:56 + def map; end + + protected + + # Protected: only another union folding this one in may read it. + # + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:65 + def partial_map; end + + private + + # pkg:gem/simplecov#lib/simplecov/context_map/union.rb:71 + def warn_about_partial_maps; end +end + +# Bumped on any change an older reader could misread, so `.from_hash` can +# treat a future format as absent instead of answering from it wrongly. +# +# pkg:gem/simplecov#lib/simplecov/context_map.rb:27 +SimpleCov::ContextMap::VERSION = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/coverage_json.rb:6 +module SimpleCov::CoverageJSON + class << self + # pkg:gem/simplecov#lib/simplecov/coverage_json.rb:9 + def load(path); end + end +end + +# pkg:gem/simplecov#lib/simplecov/coverage_json.rb:7 +class SimpleCov::CoverageJSON::Error < ::StandardError; end + +# One coverage criterion's numbers, uniform across criteria: total, covered, +# missed, omitted (only meaningful for line coverage), percent, and strength, +# the average hits per coverable unit, which the oneshot-lines format has no +# way to produce. +# +# pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:8 +class SimpleCov::CoverageStatistics + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:29 + def initialize(covered:, missed:, omitted: T.unsafe(nil), total_strength: T.unsafe(nil), percent: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def covered; end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def missed; end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def omitted; end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def percent; end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def strength; end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:9 + def total; end + + private + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:40 + def compute_percent(covered, missed, total); end + + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:46 + def compute_strength(total_strength, total); end + + class << self + # Strength is remultiplied by loc because files have different strengths and + # line counts, giving them a different weight in the total. + # + # pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:15 + def from(coverage_statistics); end + end +end + +# pkg:gem/simplecov#lib/simplecov/coverage_statistics.rb:11 +SimpleCov::CoverageStatistics::ZERO_STATS = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:4 +module SimpleCov::CoverageViolations + class << self + # A baseline violation needs the file below its floor on both axes: a + # percent under the floor's, and (when the floor records one) more misses + # than it allows. The missed count is what keeps percent movement from + # pure edits out of the answer. + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:40 + def baseline(result, baseline); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:77 + def maximum_drop(result, thresholds, last_run: T.unsafe(nil), mode: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:51 + def maximum_missed(result, caps); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:58 + def maximum_missed_by_file(result, defaults, overrides = T.unsafe(nil), baseline: T.unsafe(nil)); end + + # An actual of 95.4287 floors to 95.42, so a maximum of 95.42 passes + # (#187). + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:15 + def maximum_overall(result, thresholds); end + + # A file and criterion with a `baseline` floor is exempt here: the baseline + # check holds it to its own floor instead, which is the fall-through the + # ratchet workflow rests on (#1268). + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:25 + def minimum_by_file(result, defaults, overrides = T.unsafe(nil), baseline: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:69 + def minimum_by_group(result, thresholds); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:6 + def minimum_overall(result, thresholds); end + + private + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:129 + def baseline_violation(file, criterion, floor); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:218 + def branch_baseline; end + + # `==` and `eql?` are indistinguishable for the String operands, so that + # mutation is equivalent. The branch-baseline examples pin every clause. + # mutant:disable + # mutant:disable + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:234 + def branch_entry?(candidate, branch); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:238 + def compute_drop(criterion, result, baseline); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:174 + def drop_baseline_percents(mode, last_run); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:98 + def effective_per_file_thresholds(file, defaults, overrides); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:141 + def file_minimum_violation(file, criterion, expected); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:121 + def file_missed_cap_violation(file, criterion, maximum); end + + # Answers nil, and the caller silently skips, when the criterion was + # configured but not measured by the runtime (`branch: 100` under the + # "strict" profile on JRuby, say). The config-time + # `raise_if_criterion_disabled` check catches the genuine mistake earlier. + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:93 + def floored_percent_for(stats_source, criterion); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:154 + def group_minimum_violations(group_name, group, minimums); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:206 + def history_totals; end + + # A hand-edited .last_run.json can carry any value type, and `LastRun.read` + # only vouches for the top level being a Hash. `:covered_percent` is the + # pre-criteria file format's spelling of the line percent. + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:185 + def last_run_baseline(last_run); end + + # The misconfiguration notice is enforcement output, not a Ruby warning: it + # must survive `-W0` and `Warning.warn` hooks, and honor `print_errors`. A + # configured group that matched no files is absent from `result.groups` + # too, but has nothing to gate rather than nothing to look up. + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:165 + def lookup_group(result, group_name); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:212 + def median(values); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:196 + def median_baseline; end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:116 + def missed_for(stats_source, criterion); end + + # `==` and `eql?` are indistinguishable for the String operands, so that + # mutation is equivalent. The override examples pin every arm instead. + # mutant:disable + # mutant:disable + # + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:109 + def path_matches?(project_filename, pattern); end + + # pkg:gem/simplecov#lib/simplecov/coverage_violations.rb:249 + def round(percent); end + end +end + +# The state one measured run accumulates in one process: the pid and start +# time that identify it, the result it computes, the flags the merge +# coordination reads, and the serial the parent hands each forked +# subprocess. A new run is a new object, which is what lets anything needing +# a clean slate begin one instead of unsetting state by hand. +# +# pkg:gem/simplecov#lib/simplecov/current_run.rb:9 +class SimpleCov::CurrentRun + # pkg:gem/simplecov#lib/simplecov/current_run.rb:11 + def collating_result=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:31 + def collating_result?; end + + # Reading a mark that was never set answers nil, which is the answer wanted. + # + # pkg:gem/simplecov#lib/simplecov/current_run.rb:36 + def forked_subprocess?; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:40 + def mark_forked_subprocess!; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:53 + def next_subprocess_serial!; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def pid; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def pid=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def process_start_time; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def process_start_time=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def result; end + + # pkg:gem/simplecov#lib/simplecov/current_run.rb:10 + def result=(_arg0); end + + # Answers exactly false while no result was ever stored, which is how "never + # computed" stays distinct from "cleared to nil". + # + # pkg:gem/simplecov#lib/simplecov/current_run.rb:27 + def result?; end + + # A monotonically increasing serial the parent assigns to each forked + # subprocess. The default `at_fork` builds the worker's command_name from + # this rather than the OS pid: the serial sequence is the same from one run + # to the next, so a re-run overwrites the previous run's resultset entries + # instead of writing uniquely-named ones that pile up (#1171). + # + # pkg:gem/simplecov#lib/simplecov/current_run.rb:49 + def subprocess_serial; end + + # The result, the coordination flags and the identity belong to the run that + # ends; the fork genealogy belongs to the process and carries over. A child + # that restarts tracking must not forget it was forked, or it would produce + # the final report itself, and a parent must not recount from zero, or its + # next children's names would collide with its first ones (#1171). + # + # pkg:gem/simplecov#lib/simplecov/current_run.rb:18 + def successor; end + + protected + + # A monotonically increasing serial the parent assigns to each forked + # subprocess. The default `at_fork` builds the worker's command_name from + # this rather than the OS pid: the serial sequence is the same from one run + # to the next, so a re-run overwrites the previous run's resultset entries + # instead of writing uniquely-named ones that pile up (#1171). + # + # pkg:gem/simplecov#lib/simplecov/current_run.rb:59 + def subprocess_serial=(_arg0); end +end + +# Emits legacy-API deprecation warnings, deduplicated by the source location +# that triggered them. A deprecated method called in a loop, or a config +# block re-evaluated once per parallel worker, otherwise repeats the same +# notice until stderr is unreadable. Keying on the caller location collapses +# those repeats while still warning separately about each distinct call site +# the user needs to fix (#1204). +# +# pkg:gem/simplecov#lib/simplecov/deprecation.rb:12 +module SimpleCov::Deprecation + extend ::SimpleCov::Deprecation + + # Every shipped call site is a one-level alias such as `track_files`, so the + # frame three up from here is the user's own code. `Array(...)` coerces a + # missing backtrace to `[]` so `.first` yields nil rather than raising. + # + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:48 + def caller_location; end + + # Parallel workers are separate processes with their own set, so each warns + # at most once. + # + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:54 + def emitted; end + + # The mode lives here rather than on the configuration singleton so that + # `warn` depends on nothing but itself. `SimpleCov.deprecations` is the + # front door that writes it, and the CLI, which loads none of the + # configuration surface, can still warn. + # + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:21 + def mode; end + + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:25 + def mode=(mode); end + + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:58 + def reset!; end + + # `message` is the notice without the `[DEPRECATION]` tag or location + # prefix, both of which are added here. `deprecations :raise` turns every + # deprecated API into an error before the dedup: an error is not a notice to + # collapse, and a CI guard must fail on the second offender as surely as on + # the first. A missing backtrace falls back to keying on the message, so it + # never silently swallows every notice. + # + # pkg:gem/simplecov#lib/simplecov/deprecation.rb:37 + def warn(message, location: T.unsafe(nil)); end +end + +# pkg:gem/simplecov#lib/simplecov/deprecation.rb:15 +SimpleCov::Deprecation::MODES = T.let(T.unsafe(nil), Array) + +# Parses `# simplecov:disable` / `# simplecov:enable` directive comments, in +# both the block form (the directive is the entire comment on its own line, +# opening a region that runs until the matching enable) and the inline form +# (the directive trails real code, affecting that line alone). +# +# Categories are `:line`, `:branch`, and `:method`, combinable with commas. +# Omitting categories targets all three. Any text after the directive is a +# free-form reason and is discarded, so an unrecognised category name +# silently falls into the reason bucket and disables everything: a +# deliberate over-disable, so the typo is visible in the report rather than +# silently disabling nothing. +# +# Comment extraction goes through `Ripper.lex` so directive markers inside +# string literals or heredocs are correctly ignored. +# +# pkg:gem/simplecov#lib/simplecov/directive/erb.rb:4 +class SimpleCov::Directive + # pkg:gem/simplecov#lib/simplecov/directive.rb:123 + def initialize(line_number:, mode:, categories:, inline:); end + + # Inline directives mark just their line; block disables open a region; + # block enables close one. Re-opening an already-open block is a no-op. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:140 + def apply(ranges, open_starts); end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:34 + def categories; end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:130 + def disabled?; end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:134 + def inline?; end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:34 + def line_number; end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:34 + def mode; end + + class << self + # The disabled line ranges per category. An unclosed `disable` block + # extends to the end of the file. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:38 + def disabled_ranges(lines); end + + private + + # pkg:gem/simplecov#lib/simplecov/directive.rb:111 + def comments_in(lines); end + + # Every directive in the file, in source order. Comments inside string + # literals or heredocs are skipped because Ripper.lex doesn't tag them as + # :on_comment tokens. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:54 + def directives_in(lines); end + + # `column` is the byte column of the directive's `#` in the source line, + # adjusted for any prefix that may precede it within the comment token. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:100 + def inline?(lines, line_number, column); end + + # The bare form targets every category, and answers the frozen constant + # itself: a directive's categories are only ever iterated. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:92 + def parse_categories(text); end + + # pkg:gem/simplecov#lib/simplecov/directive.rb:72 + def parse_comment(lines, line_number, column, text); end + + # Cheap pre-check, so files that obviously can't contain a directive are + # never tokenized. + # + # pkg:gem/simplecov#lib/simplecov/directive.rb:64 + def source_might_contain_directive?(lines); end + end +end + +# pkg:gem/simplecov#lib/simplecov/directive.rb:22 +SimpleCov::Directive::CATEGORIES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/directive.rb:25 +SimpleCov::Directive::CATEGORIES_PATTERN = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/directive.rb:24 +SimpleCov::Directive::CATEGORY_PATTERN = T.let(T.unsafe(nil), String) + +# The Ruby an ERB template holds, at the template's own line numbers, so +# directive comments in a template are found the way they are in a `.rb` +# file. Lexing the template itself as Ruby is not an option: `%>` opens a +# percent literal that swallows everything up to the next `>`, so comments +# after the first tag are never tokenized. +# +# Text outside the tags is blanked and the tag delimiters become spaces, so +# every token keeps its line and column. A comment tag becomes a Ruby +# comment, which makes `<%# simplecov:disable %>` the template's own form of +# the directive. +# +# pkg:gem/simplecov#lib/simplecov/directive/erb.rb:15 +module SimpleCov::Directive::Erb + class << self + # pkg:gem/simplecov#lib/simplecov/directive/erb.rb:22 + def ruby_lines(lines); end + + private + + # pkg:gem/simplecov#lib/simplecov/directive/erb.rb:37 + def blank(text); end + + # pkg:gem/simplecov#lib/simplecov/directive/erb.rb:29 + def convert(match); end + end +end + +# pkg:gem/simplecov#lib/simplecov/directive/erb.rb:16 +SimpleCov::Directive::Erb::SEGMENT = T.let(T.unsafe(nil), Regexp) + +# The Ruby a Haml template holds. Script lines (`-`, `=`, and their `!`, +# `&`, and `~` variants) and the script a tag outputs keep their Ruby with +# the markers blanked, a `-#` comment becomes a Ruby comment, a `:ruby` +# filter's lines are Ruby as written, and everything else is blanked. +# +# pkg:gem/simplecov#lib/simplecov/directive/haml.rb:11 +module SimpleCov::Directive::Haml + include ::SimpleCov::Directive::IndentedTemplate + extend ::SimpleCov::Directive::IndentedTemplate + extend ::SimpleCov::Directive::Haml + + # pkg:gem/simplecov#lib/simplecov/directive/haml.rb:18 + def convert(indent, rest); end +end + +# pkg:gem/simplecov#lib/simplecov/directive/haml.rb:15 +SimpleCov::Directive::Haml::SCRIPT = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/directive/haml.rb:16 +SimpleCov::Directive::Haml::TAG_SCRIPT = T.let(T.unsafe(nil), Regexp) + +# The driver the line-oriented template languages share. Each line is +# converted on its own unless the line above it opened a block, which the +# language decides by answering a continuation alongside the converted +# text: `COMMENT` for a comment marker, whose deeper-indented lines +# continue the comment, `RUBY` for an embedded Ruby block, whose lines are +# Ruby as written, and `TEXT` for any other embedded block, whose lines are +# blanked. A blank line neither ends a block nor belongs to it. +# +# pkg:gem/simplecov#lib/simplecov/directive/indented_template.rb:12 +module SimpleCov::Directive::IndentedTemplate + # pkg:gem/simplecov#lib/simplecov/directive/indented_template.rb:17 + def ruby_lines(lines); end +end + +# pkg:gem/simplecov#lib/simplecov/directive/indented_template.rb:13 +SimpleCov::Directive::IndentedTemplate::COMMENT = T.let(T.unsafe(nil), Proc) + +# pkg:gem/simplecov#lib/simplecov/directive/indented_template.rb:14 +SimpleCov::Directive::IndentedTemplate::RUBY = T.let(T.unsafe(nil), Proc) + +# pkg:gem/simplecov#lib/simplecov/directive/indented_template.rb:15 +SimpleCov::Directive::IndentedTemplate::TEXT = T.let(T.unsafe(nil), Proc) + +# pkg:gem/simplecov#lib/simplecov/directive.rb:26 +SimpleCov::Directive::PATTERN = T.let(T.unsafe(nil), Regexp) + +# The Ruby a Slim template holds. Control and output lines (`-`, `=`, `==`, +# and their whitespace variants) and the output a bare tag carries keep +# their Ruby with the markers blanked, a `/` comment becomes a Ruby +# comment, a `ruby:` block's lines are Ruby as written, and everything else +# is blanked. A tag with attributes is blanked whole, since `=` inside them +# is not the output marker. +# +# pkg:gem/simplecov#lib/simplecov/directive/slim.rb:13 +module SimpleCov::Directive::Slim + include ::SimpleCov::Directive::IndentedTemplate + extend ::SimpleCov::Directive::IndentedTemplate + extend ::SimpleCov::Directive::Slim + + # pkg:gem/simplecov#lib/simplecov/directive/slim.rb:20 + def convert(indent, rest); end +end + +# pkg:gem/simplecov#lib/simplecov/directive/slim.rb:17 +SimpleCov::Directive::Slim::CODE = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/directive/slim.rb:18 +SimpleCov::Directive::Slim::TAG_CODE = T.let(T.unsafe(nil), Regexp) + +# Hands a template's lines to the extractor for its language, so the +# directive scan sees only the Ruby a template holds, at the template's own +# line numbers. A file in no template language is Ruby already. +# +# pkg:gem/simplecov#lib/simplecov/directive/template.rb:12 +module SimpleCov::Directive::Template + class << self + # pkg:gem/simplecov#lib/simplecov/directive/template.rb:24 + def blank(text); end + + # pkg:gem/simplecov#lib/simplecov/directive/template.rb:19 + def ruby_lines(filename, lines); end + + # pkg:gem/simplecov#lib/simplecov/directive/template.rb:15 + def template?(filename); end + end +end + +# pkg:gem/simplecov#lib/simplecov/directive/template.rb:13 +SimpleCov::Directive::Template::EXTRACTORS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:4 +module SimpleCov::ExitCodes + class << self + # Threshold-violation reports and exit-status notices are the output of the + # enforcement feature, not Ruby warnings: routing them through `Kernel#warn` + # made `-W0` swallow the explanation for a failing exit code, let + # `Warning.warn` hooks intercept them mid-at_exit, and fed colorized text to + # warning logs. `print_errors false` remains the intended opt-out. + # + # A parallel runner can close a worker's stderr before its at_exit hooks + # run, hence the rescue. + # + # pkg:gem/simplecov#lib/simplecov/exit_codes.rb:23 + def print_error(message); end + end +end + +# Fails when a file listed in the checked-in baseline drops below its own +# floor on both axes: a lower percent than the floor records and more misses +# than it allows. The second condition is the dampener that keeps an edit +# with no coverage change from failing the run; a percent-only floor is +# decided by the percent alone. +# +# pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:10 +class SimpleCov::ExitCodes::BaselineCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:11 + def initialize(result, baseline); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:16 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:22 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:37 + def missed_clause(violation); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/baseline_check.rb:26 + def violation_lines(violation); end +end + +# Shared skeleton for the threshold checks. Subclasses supply `exit_code`, +# `compute_violations` (memoized here, since `failing?` and `report_lines` +# both consult it), and `violation_lines`. +# +# pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:8 +class SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:9 + def initialize(result, thresholds); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:14 + def failing?; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:30 + def report; end + + # Concatenated rather than flat-mapped: a check answering a bare string + # instead of its list of lines is an error this raises, not a spelling the + # flattening would forgive. + # + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:25 + def report_lines; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:18 + def violations; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:36 + def result; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/check.rb:36 + def thresholds; end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:6 +SimpleCov::ExitCodes::EXCEPTION = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/exit_codes/exit_code_handling.rb:5 +module SimpleCov::ExitCodes::ExitCodeHandling + extend ::SimpleCov::ExitCodes::ExitCodeHandling + + # pkg:gem/simplecov#lib/simplecov/exit_codes/exit_code_handling.rb:8 + def call(result, coverage_limits:); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/exit_code_handling.rb:20 + def coverage_checks(result, coverage_limits); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/exit_code_handling.rb:40 + def maximum_missed_per_file_check(result, coverage_limits); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/exit_code_handling.rb:33 + def minimum_by_file_check(result, coverage_limits); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:9 +SimpleCov::ExitCodes::MAXIMUM_COVERAGE = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:8 +SimpleCov::ExitCodes::MAXIMUM_COVERAGE_DROP = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:7 +SimpleCov::ExitCodes::MINIMUM_COVERAGE = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_coverage_drop_check.rb:5 +class SimpleCov::ExitCodes::MaximumCoverageDropCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_coverage_drop_check.rb:6 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_coverage_drop_check.rb:12 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_coverage_drop_check.rb:22 + def message_for(violation); end + + # The drop percent is a delta, not a coverage level, so it has no natural + # green/yellow/red mapping and the whole line goes red. + # + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_coverage_drop_check.rb:18 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_check.rb:5 +class SimpleCov::ExitCodes::MaximumMissedCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_check.rb:6 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_check.rb:12 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_check.rb:16 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_per_file_check.rb:5 +class SimpleCov::ExitCodes::MaximumMissedPerFileCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_per_file_check.rb:6 + def initialize(result, maximum_missed_per_file, overrides = T.unsafe(nil), baseline: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_per_file_check.rb:12 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_per_file_check.rb:18 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_missed_per_file_check.rb:22 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_overall_coverage_check.rb:5 +class SimpleCov::ExitCodes::MaximumOverallCoverageCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_overall_coverage_check.rb:6 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_overall_coverage_check.rb:12 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/maximum_overall_coverage_check.rb:16 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb:5 +class SimpleCov::ExitCodes::MinimumCoverageByFileCheck < ::SimpleCov::ExitCodes::Check + # `baseline:` exempts the file-and-criterion pairs it covers: those answer to + # their own floor via `BaselineCheck` instead. + # + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb:8 + def initialize(result, minimum_coverage_by_file, overrides = T.unsafe(nil), baseline: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb:14 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb:20 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb:24 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb:5 +class SimpleCov::ExitCodes::MinimumCoverageByGroupCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb:6 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb:12 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_coverage_by_group_check.rb:16 + def violation_lines(violation); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:5 +class SimpleCov::ExitCodes::MinimumOverallCoverageCheck < ::SimpleCov::ExitCodes::Check + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:6 + def exit_code; end + + private + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:15 + def compute_violations; end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:19 + def violation_lines(violation); end + + # The list is a hint at where to add tests, so a fully covered file has no + # business on it: without the filter, files at 100% padded the list out to + # its five entries (#1286). + # + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:46 + def worst_files_for(criterion); end + + # pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:30 + def worst_files_lines(criterion); end +end + +# pkg:gem/simplecov#lib/simplecov/exit_codes/minimum_overall_coverage_check.rb:12 +SimpleCov::ExitCodes::MinimumOverallCoverageCheck::WORST_FILES_LIMIT = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:5 +SimpleCov::ExitCodes::SUCCESS = T.let(T.unsafe(nil), Integer) + +# The plural unit each criterion's misses count in, for the checks that report +# counts rather than percents. +# +# pkg:gem/simplecov#lib/simplecov/exit_codes.rb:13 +SimpleCov::ExitCodes::UNITS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/file_list.rb:4 +class SimpleCov::FileList + include ::Enumerable + extend ::Forwardable + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:12 + def initialize(files); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:81 + def branch_covered_percent; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def count(*args, **, &block); end + + # With no argument answers the `{line:, branch:, method:}` Hash, and with a + # criterion symbol that one CoverageStatistics. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:18 + def coverage_statistics(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:23 + def coverage_statistics_by_file; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:73 + def covered_branches; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:27 + def covered_lines; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:89 + def covered_methods; end + + # Nil if the criterion was not measured. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:60 + def covered_percent(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:43 + def covered_percentages; end + + # The strength (average hits per relevant unit) for the given criterion. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:65 + def covered_strength(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def each(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def empty?(*args, **, &block); end + + # Nil for an empty list, such as a fully filtered result. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:48 + def least_covered_file; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def length(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:55 + def lines_of_code; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def map(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:97 + def method_covered_percent; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:77 + def missed_branches; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:31 + def missed_lines; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:93 + def missed_methods; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:35 + def never_lines; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def size(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:39 + def skipped_lines; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def to_a(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:10 + def to_ary(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:69 + def total_branches; end + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:85 + def total_methods; end + + private + + # pkg:gem/simplecov#lib/simplecov/file_list.rb:120 + def compute_coverage_statistics; end + + # Seeded with one entry per criterion the user enabled, so an empty FileList + # still yields the right shape. `SourceFile#coverage_statistics` always + # reports all three criteria; FileList is the layer that filters to the + # enabled set so disabled criteria don't surface in totals, JSON, or the + # HTML report. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:108 + def compute_coverage_statistics_by_file; end + + # `:line` (or its `:oneshot_line` synonym) is reported when either criterion + # is enabled; the JRuby-gated branch/method criteria are reported when they + # pass their own engine-support check. + # + # pkg:gem/simplecov#lib/simplecov/file_list.rb:127 + def enabled_criteria_for_reporting; end +end + +# Base filter class. Inherit from this to create custom filters, and +# override `matches?(source_file)`. +# +# pkg:gem/simplecov#lib/simplecov/filter.rb:8 +class SimpleCov::Filter + # pkg:gem/simplecov#lib/simplecov/filter.rb:11 + def initialize(filter_argument); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:9 + def filter_argument; end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:15 + def matches?(_source_file); end + + # Whether this filter's verdict depends only on the file's path, so it can + # be decided before that file has any coverage. Used when recording which + # tracked files a process did not load. Defaults to false so a custom + # filter is never guessed at (#1250). + # + # pkg:gem/simplecov#lib/simplecov/filter.rb:23 + def path_only?; end + + class << self + # `string_filter` selects the semantics of bare String arguments: + # StringFilter's segment-substring match for `skip`, GlobFilter for + # `cover`. It threads through Array elements so a list gets the same + # treatment as its members. + # + # pkg:gem/simplecov#lib/simplecov/filter.rb:31 + def build_filter(filter_argument, string_filter: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:41 + def class_for_argument(filter_argument); end + + private + + # pkg:gem/simplecov#lib/simplecov/filter.rb:46 + def filter_classes_by_argument_type; end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/multi_formatter.rb:4 +module SimpleCov::Formatter + class << self + # pkg:gem/simplecov#lib/simplecov/formatter.rb:21 + def format(formatter, result); end + + # Formatters are configured either as classes, instantiated fresh for every + # report, or as ready-built instances, the only way to reach constructor + # options like `HTMLFormatter.new(silent: true)` (#1240). + # + # pkg:gem/simplecov#lib/simplecov/formatter.rb:8 + def instance_for(formatter); end + + private + + # mutant:disable + # `Class` cannot itself be subclassed, so `instance_of?(Class)` answers for + # every object exactly as `is_a?(Class)` does: a difference no example can + # show, which is why it is disabled here rather than pinned by a test. + # + # pkg:gem/simplecov#lib/simplecov/formatter.rb:16 + def instantiable?(formatter); end + end +end + +# @api private +# +# Shared scaffolding for formatters that write a coverage report to an +# output directory and emit a "Coverage report generated for X to Y" +# summary on stderr. Subclasses override `format`, and may override +# `message_prefix`. +# +# pkg:gem/simplecov#lib/simplecov/formatter/base.rb:13 +class SimpleCov::Formatter::Base + # `output_dir` defaults to `SimpleCov.coverage_path`. Pass it explicitly + # to write somewhere else. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:16 + def initialize(silent: T.unsafe(nil), output_dir: T.unsafe(nil)); end + + private + + # The path shown in the "Coverage report generated for X to Y" status line. + # Rendered relative to cwd when `output_path` lives inside cwd, with the + # formatter's `entry_point_filename` appended so the line points at a + # concrete file a terminal can hyperlink. Paths outside cwd stay + # absolute; a `../../../tmp/cov` display would be more confusing (#197). + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:51 + def displayable_output_path; end + + # The one home of the "status lines go to stderr, not through warn" + # decision (#1225). stderr rather than stdout because this is a status + # message, not the program's output, so it stays out of pipelines like + # `rspec -f json`. And `$stderr.puts` rather than `warn` so the line + # neither reaches `Warning.warn` hooks nor vanishes under `-W0`. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:28 + def emit_status(result); end + + # Subclasses override to name the report's entry-point file, which gets + # appended to the directory in the status line. The empty body answers + # nil, which leaves the bare directory in place for any third-party + # formatter that has no single canonical entry point. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:71 + def entry_point_filename; end + + # Subclasses override to prepend a marker (e.g. "JSON ") to the summary + # line. Empty for the HTML formatter, historically the unmarked default. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:38 + def message_prefix; end + + # One summary line per criterion the run actually measured, in the order + # of `result.coverage_statistics`, which reflects what the user enabled. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:76 + def output_message(result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:42 + def output_path; end + + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:57 + def relative_or_absolute_output_path; end + + # Returns nil for branch/method criteria that have nothing to measure. + # Showing "Branch coverage: 0 / 0 (100.00%)" is noise. + # + # pkg:gem/simplecov#lib/simplecov/formatter/base.rb:84 + def stats_line(criterion, stat); end +end + +# Auto-ratchets the per-file coverage baseline as a formatter, for teams +# that want floors to tighten on every run instead of by deliberate +# `simplecov ratchet` invocations. The semantics are exactly the CLI's, and +# the file is rewritten only when a floor actually moved. +# +# The exit checks still judge the run against the floors as they were when +# it started (the baseline is read once per path), and ratcheting never +# loosens a floor, so tightening before the checks cannot flip a failing +# file to passing. +# +# pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:17 +class SimpleCov::Formatter::BaselineFormatter < ::SimpleCov::Formatter::Base + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:18 + def format(result); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:51 + def below_floors(regressed); end + + # `SourceFile#coverage_statistics` answers for disabled criteria too, as + # empty statistics, so the criteria are gated on the configuration rather + # than on the stats' presence. + # + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:59 + def current_floors(result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:76 + def floor_of(file, criterion); end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:37 + def generate(current); end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:68 + def measured_criteria; end + + # `format` hands the ratchet's summary to `emit_status`, which passes it + # through to here in the result's place. + # + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:93 + def output_message(message); end + + # The baseline lives where the exit check reads it, not under the coverage + # directory: it is checked-in policy, not a report artifact. + # + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:87 + def output_path; end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:24 + def ratchet(result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:44 + def summary(outcome, changed); end + + # pkg:gem/simplecov#lib/simplecov/formatter/baseline_formatter.rb:81 + def write(baseline); end +end + +# Shared writer for the coverage.json artifact, used by JSONFormatter as its +# report and by HTMLFormatter as the side file feeding `simplecov serve` and +# external tools. Centralizing the write keeps the two copies byte-identical +# and gives both formatters the concurrent-overwrite warning of #1171. +# +# pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:13 +module SimpleCov::Formatter::CoverageJSONWriter + extend ::SimpleCov::Formatter::CoverageJSONWriter + + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:47 + def existing_meta(path); end + + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:70 + def parse_meta(path); end + + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:87 + def parse_meta_full(path); end + + # The meta object is flat and sits at the head of every file this module + # writes, so the common case parses just that slice instead of a + # multi-megabyte report. A miss falls back to the full parse. + # + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:77 + def parse_meta_head(path); end + + # Our own writer emits an ISO 8601 string, but coverage.json is whatever + # wrote it last: third-party formatters rewrite it in their own shape with + # an epoch integer, and `Time.iso8601` raised TypeError on that, taking the + # whole report down on the next run. Anything but the two spellings disables + # the concurrency check for this file instead of failing the write (#1285). + # + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:61 + def parse_time(value); end + + # Warns when the existing coverage.json has a timestamp newer than this + # process's start time, a strong signal that a sibling test process wrote it + # while we were running. A matching command_name means the same merged + # result, which is what both formatters configured together produce, so + # there is nothing to lose by overwriting (#1171). + # + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:33 + def warn_if_concurrent_overwrite(path, result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:21 + def write(output_path, hash, result); end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:14 +SimpleCov::Formatter::CoverageJSONWriter::FILENAME = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/formatter/coverage_json_writer.rb:16 +SimpleCov::Formatter::CoverageJSONWriter::META_SCAN_BYTES = T.let(T.unsafe(nil), Integer) + +# Generates a single self-contained HTML coverage report. The compiled +# template already carries the viewer app's JS and CSS inline, so the report +# can be mailed, uploaded as one CI artifact, or opened from anywhere +# without sibling files. A coverage.json is written alongside from the same +# in-memory hash. +# +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:17 +class SimpleCov::Formatter::HTMLFormatter < ::SimpleCov::Formatter::Base + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:25 + def format(result); end + + # Generates HTML from a pre-existing coverage.json without a live Result or + # even a running test suite. The round-trip through parse/generate compacts + # the input and rejects invalid JSON here rather than at view time. + # + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:35 + def format_from_json(json_path, output_dir); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:43 + def entry_point_filename; end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:81 + def public_dir; end + + # `<` is escaped as \u003c, valid JSON since `<` can only occur inside + # strings, so embedded source text containing "" cannot terminate + # the surrounding element. Block forms keep gsub/sub from interpreting + # backslashes in the JSON as replacement-string back-references. + # + # The template is read as UTF-8 explicitly, not the locale's + # `Encoding.default_external`: substituting a UTF-8 payload into a template + # tagged US-ASCII raises Encoding::CompatibilityError. + # + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:71 + def render_report(json); end + + # The inlined report data feeds the client-side viewer, which renders source + # from the embedded array, so it always needs `source` regardless of + # `SimpleCov.source_in_json`. The side-file `coverage.json` honors the + # setting, and stays pretty-printed for human readers while the embedded + # copy is serialized compactly. + # + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:52 + def source_less_hash(hash); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:57 + def write_report_files(json_hash, viewer_hash, result); end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:18 +SimpleCov::Formatter::HTMLFormatter::DATA_MARKER = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter.rb:20 +SimpleCov::Formatter::HTMLFormatter::LEGACY_REPORT_FILES = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:8 +module SimpleCov::Formatter::HTMLFormatter::ViewerDataValidator + class << self + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:19 + def call(data); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:70 + def context_entry?(key, value, count); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:96 + def production_lines?(entry); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:144 + def validate_boolean!(meta, key); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:110 + def validate_command_names!(meta); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:61 + def validate_context_table!(filename, table, count); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:52 + def validate_contexts!(data); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:39 + def validate_file!(filename, file); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:126 + def validate_group!(name, group, meta); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:101 + def validate_meta!(meta); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:75 + def validate_production!(data); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:85 + def validate_production_file!(filename, entry); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:33 + def validate_section!(data, key); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:117 + def validate_statistics!(statistics, meta, location); end + + # pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:137 + def validate_type!(object, key, type, location); end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:10 +SimpleCov::Formatter::HTMLFormatter::ViewerDataValidator::COVERAGE_FLAGS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:9 +SimpleCov::Formatter::HTMLFormatter::ViewerDataValidator::META_STRINGS = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/formatter/html_formatter/viewer_data_validator.rb:15 +SimpleCov::Formatter::HTMLFormatter::ViewerDataValidator::STAT_FIELDS = T.let(T.unsafe(nil), Array) + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:9 +class SimpleCov::Formatter::JSONFormatter < ::SimpleCov::Formatter::Base + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:19 + def format(result); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:30 + def entry_point_filename; end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:26 + def message_prefix; end + + class << self + # Callers that need the source array regardless of the global setting (the + # HTML formatter, which feeds the client-side viewer) pass + # `include_source: true` explicitly. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:15 + def build_hash(result, include_source: T.unsafe(nil)); end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:6 +class SimpleCov::Formatter::JSONFormatter::ErrorsFormatter + class << self + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:11 + def call(result); end + + private + + # Lazily creates the errors key, so callers only touch it when there is a + # violation to record. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:103 + def bucket(errors, name); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:111 + def expected_actual(violation); end + + # Baseline-floor violations keyed like minimum_coverage_by_file: filename, + # then criterion. The payload adds the two missed counts the floor was judged + # by; `allowed_missed` is absent for a percent-only floor. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:43 + def format_baseline(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:77 + def format_maximum_drop(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:83 + def format_maximum_missed(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:89 + def format_maximum_missed_per_file(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:71 + def format_maximum_overall(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:32 + def format_minimum_by_file(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:60 + def format_minimum_by_group(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:26 + def format_minimum_overall(result, errors); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:107 + def key_for(violation); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:115 + def maximum_actual(violation); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:54 + def record_by_file(violation, errors); end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/errors_formatter.rb:7 +SimpleCov::Formatter::JSONFormatter::ErrorsFormatter::CRITERION_KEYS = T.let(T.unsafe(nil), Hash) + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter.rb:10 +SimpleCov::Formatter::JSONFormatter::FILENAME = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/production_section_formatter.rb:8 +module SimpleCov::Formatter::JSONFormatter::ProductionSectionFormatter + extend ::SimpleCov::Formatter::JSONFormatter::ProductionSectionFormatter + + # The section for the configured store, or nil when none is configured or it + # is unreadable. An unreadable store warns instead of raising: the report is + # generated at the end of a test run, and a missing night of production data + # must not fail the suite that measured the tests. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/production_section_formatter.rb:15 + def call(path = T.unsafe(nil)); end + + # `coverage` and `last_seen` are the two keys a parsed store always carries, + # since `FileSink.parse` substitutes an empty Hash for either one a document + # is missing. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/production_section_formatter.rb:36 + def files(store); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/production_section_formatter.rb:23 + def section(store); end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:12 +class SimpleCov::Formatter::JSONFormatter::ResultHashFormatter + class << self + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:22 + def format(result, include_source: T.unsafe(nil)); end + + private + + # Contexts are present exactly when the result carried a complete map, so + # consumers can tell "recorded and empty" from "not recorded". History is + # present only when past runs are recorded, since one point is not a trend, + # and production coverage only when a store is configured and readable. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:41 + def add_optional_sections(document, result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:87 + def coverage_flags; end + + # A criterion the run did not measure is absent from `statistics` entirely, + # and gets no section. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:97 + def format_coverage_statistics(statistics); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:49 + def format_files(result, include_source:); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:56 + def format_groups(result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:108 + def format_line_statistic(stat); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:63 + def format_meta(result); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:119 + def format_single_statistic(stat); end + + # Recorded so tools can recover the exact source a report was generated + # against, which matters most when `source_in_json false` drops the source + # text. stderr is captured rather than forwarded so a non-git project doesn't + # print git's diagnostics to the build. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:80 + def git_commit; end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:18 +SimpleCov::Formatter::JSONFormatter::ResultHashFormatter::SCHEMA_URL = T.let(T.unsafe(nil), String) + +# Bump this (and SCHEMA_URL) when the JSON shape changes: additive changes +# bump the minor segment, removals or shape changes the major. The versioned +# file at schemas/coverage-vX.Y.schema.json is the canonical artifact +# consumers should pin to. +# +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/result_hash_formatter.rb:17 +SimpleCov::Formatter::JSONFormatter::ResultHashFormatter::SCHEMA_VERSION = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:6 +class SimpleCov::Formatter::JSONFormatter::SourceFileFormatter + class << self + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:8 + def call(source_file, include_source: T.unsafe(nil), contexts: T.unsafe(nil)); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:47 + def branch_coverage_section(source_file); end + + # An untouched file gets no key at all: under a present document-level + # `contexts` array, absence already says "no recorded context executed this + # file". + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:22 + def contexts_section(source_file, contexts); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:74 + def format_branch(branch); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:70 + def format_line(line); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:85 + def format_method(method); end + + # No per-line encoding conversion: SourceLoader guarantees every line leaves + # it as valid UTF-8, and the converter copy this used to make per line was + # the single largest allocation source in formatting a large report. + # + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:30 + def format_source_code(source_file); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:34 + def line_coverage_section(source_file); end + + # pkg:gem/simplecov#lib/simplecov/formatter/json_formatter/source_file_formatter.rb:57 + def method_coverage_section(source_file); end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/multi_formatter.rb:5 +class SimpleCov::Formatter::MultiFormatter + class << self + # Normalized eagerly and captured in the closure. `Array()` is pure for every + # accepted input shape, so this is equivalent to the historical lazy + # per-instance memoization. + # + # pkg:gem/simplecov#lib/simplecov/formatter/multi_formatter.rb:19 + def new(formatters = T.unsafe(nil)); end + end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/multi_formatter.rb:6 +module SimpleCov::Formatter::MultiFormatter::InstanceMethods + # pkg:gem/simplecov#lib/simplecov/formatter/multi_formatter.rb:7 + def format(result); end +end + +# pkg:gem/simplecov#lib/simplecov/formatter/simple_formatter.rb:5 +class SimpleCov::Formatter::SimpleFormatter + # pkg:gem/simplecov#lib/simplecov/formatter/simple_formatter.rb:6 + def format(result); end + + private + + # pkg:gem/simplecov#lib/simplecov/formatter/simple_formatter.rb:13 + def format_group(name, files, criterion); end +end + +# Matches when the source file's project path matches the configured shell +# glob. Used by `cover`, and by `skip` when callers want glob semantics +# instead of `StringFilter`'s substring match. +# +# pkg:gem/simplecov#lib/simplecov/filter.rb:121 +class SimpleCov::GlobFilter < ::SimpleCov::Filter + # pkg:gem/simplecov#lib/simplecov/filter.rb:122 + def matches?(source_file); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:126 + def path_only?; end +end + +# pkg:gem/simplecov#lib/simplecov/group_names.rb:4 +module SimpleCov::GroupNames + extend ::SimpleCov::GroupNames + + # Group names are Hash keys, report labels, and JSON object keys all at once, + # so they are normalized to Strings up front: a Symbol spelling means the + # String, and anything else has no sensible serialized form. Normalizing + # before `validate!` also keeps `group :Ungrouped` from slipping past the + # reservation below. + # + # pkg:gem/simplecov#lib/simplecov/group_names.rb:14 + def normalize(group_name); end + + # Each name in turn, rather than asking the collection: a String asked + # whether it "includes" the reserved name answers about its own characters. + # + # pkg:gem/simplecov#lib/simplecov/group_names.rb:26 + def validate!(group_names); end +end + +# pkg:gem/simplecov#lib/simplecov/group_names.rb:5 +SimpleCov::GroupNames::UNGROUPED = T.let(T.unsafe(nil), String) + +# A bounded record of past runs, coverage/.history.json (#1267): one entry +# per reported run carrying the per-criterion totals, the per-group and +# per-file percentages, a timestamp, and the branch and commit when the +# project is a git checkout. It is what turns "did the number move since the +# very last run" into direction of travel. +# +# Entries are capped and written atomically, and a corrupt or foreign file +# degrades to an empty history with a warning rather than crashing the +# at_exit hook, the same tolerance `.last_run.json` has. The file is +# deliberately plain committable JSON. +# +# pkg:gem/simplecov#lib/simplecov/history.rb:19 +module SimpleCov::History + class << self + # The recorded entries plus `result` as the newest, capped, and without + # writing anything: what the report artifacts embed, so the embedded history + # includes the run being reported even though recording happens later. + # + # pkg:gem/simplecov#lib/simplecov/history.rb:52 + def entries_with(result); end + + # A detached HEAD reports its branch as nil rather than the literal "HEAD" + # most CI checkouts would record. + # + # pkg:gem/simplecov#lib/simplecov/history.rb:58 + def git_info; end + + # pkg:gem/simplecov#lib/simplecov/history.rb:24 + def history_path; end + + # pkg:gem/simplecov#lib/simplecov/history.rb:37 + def read; end + + # pkg:gem/simplecov#lib/simplecov/history.rb:28 + def record(result); end + + private + + # pkg:gem/simplecov#lib/simplecov/history.rb:66 + def entry_for(result); end + + # pkg:gem/simplecov#lib/simplecov/history.rb:86 + def files_percents(result); end + + # pkg:gem/simplecov#lib/simplecov/history.rb:107 + def git(*); end + + # pkg:gem/simplecov#lib/simplecov/history.rb:102 + def invalid_history; end + + # pkg:gem/simplecov#lib/simplecov/history.rb:80 + def measured_percents(stats_source); end + + # pkg:gem/simplecov#lib/simplecov/history.rb:97 + def write(entries); end + end +end + +# pkg:gem/simplecov#lib/simplecov/history.rb:20 +SimpleCov::History::ENVELOPE = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/history.rb:21 +SimpleCov::History::FORMAT_VERSION = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/last_run.rb:7 +module SimpleCov::LastRun + class << self + # pkg:gem/simplecov#lib/simplecov/last_run.rb:9 + def last_run_path; end + + # The maximum_coverage_drop check digs into a Hash, so anything else in a + # corrupt or hand-edited file counts as "no previous run" rather than + # crashing the at_exit hook. + # + # pkg:gem/simplecov#lib/simplecov/last_run.rb:16 + def read; end + + # pkg:gem/simplecov#lib/simplecov/last_run.rb:28 + def write(json); end + + private + + # pkg:gem/simplecov#lib/simplecov/last_run.rb:34 + def invalid_last_run; end + end +end + +# Classifies whether lines are relevant for code coverage analysis. Comments, +# whitespace lines, and disabled blocks are considered not relevant. +# +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:8 +class SimpleCov::LinesClassifier + # The skip state lives in a one-slot box owned by this call rather than in an + # ivar, so one classifier instance can serve concurrent `classify` calls + # without the toggles interleaving. + # + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:63 + def classify(lines); end + + private + + # mutant:disable — `NOT_RELEVANT` is nil, so naming it and writing + # the literal are the same value, and so is an `unless` that falls + # off its end. The name is kept because it says which of the two + # verdicts a line got, which nil alone does not. + # + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:79 + def classify_line(line, line_number, directive_disabled, skip_state); end + + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:90 + def directive_disabled_line_set(lines); end + + class << self + # The leading `^(\s*)#` anchor is load-bearing beyond matching the marker: + # `classify_line` only reaches this for lines that already passed + # `whitespace_line?`, which is sound only while every marker is also a + # comment. Loosening this to match a trailing `x = 1 # :nocov:` would stop + # the toggle firing. `lines_classifier_spec.rb` pins the implication. + # + # The `/o` flag freezes the interpolated nocov token at this + # process's first classification; a `nocov_token` configured after + # coverage has classified a file would be silently ignored. Sound + # today because configuration always precedes classification. + # + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:26 + def no_cov_line; end + + # A marker is itself a comment, so the cheap whitespace-or-comment test gates + # the token match: a line of real code cannot be a marker, and no longer pays + # to be checked against one. That matters because this runs per line of every + # tracked-but-unloaded file, once in every process of a parallel run. + # + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:34 + def no_cov_line?(line); end + + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:40 + def whitespace_line?(line); end + end +end + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:13 +SimpleCov::LinesClassifier::COMMENT_LINE = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:10 +SimpleCov::LinesClassifier::NOT_RELEVANT = T.let(T.unsafe(nil), T.untyped) + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:9 +SimpleCov::LinesClassifier::RELEVANT = T.let(T.unsafe(nil), Integer) + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:46 +class SimpleCov::LinesClassifier::SkipState + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:47 + def initialize; end + + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:51 + def skipping?; end + + # pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:55 + def toggle; end +end + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:12 +SimpleCov::LinesClassifier::WHITESPACE_LINE = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/lines_classifier.rb:14 +SimpleCov::LinesClassifier::WHITESPACE_OR_COMMENT_LINE = T.let(T.unsafe(nil), Regexp) + +# Registry and selection for parallel-test-runner adapters. An adapter +# answers a small fixed set of questions on SimpleCov's behalf: `active?`, +# `first_worker?`, `wait_for_siblings`, and `expected_worker_count`. +# +# `Base` provides safe no-op defaults. `ParallelTestsAdapter` wraps the +# grosser/parallel_tests gem; `GenericAdapter` is env-var-only detection for +# runners that follow the `TEST_ENV_NUMBER` convention without shipping a +# Ruby API (#1065, #1156). +# +# Users register their own with `ParallelAdapters.register MyAdapter`. +# Subclass `Base` to inherit the no-op defaults: the contract methods are +# class methods, so plain inheritance is what carries them through and +# `extend Base` won't pick them up. +# +# pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:4 +module SimpleCov::ParallelAdapters + extend ::SimpleCov::ParallelAdapters + + # ParallelTestsAdapter first (most specific: it uses the gem's own API when + # the gem is loaded), then GenericAdapter as the env-var fallback. + # User-registered adapters are prepended. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters.rb:27 + def adapters; end + + # The first registered adapter whose `active?` answers true, or nil when + # none is, in which case the caller treats the process as single-worker. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters.rb:42 + def current; end + + # Newly registered adapters are inserted at the front of the selection + # list, so a custom adapter for a specific runner takes precedence over the + # built-ins. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters.rb:34 + def register(adapter); end + + # Primarily for tests that mutate env vars between examples; production + # runs are single-shot. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters.rb:50 + def reset_current!; end +end + +# Default no-op implementations for a parallel-test-runner adapter. +# Everything not overridden falls back to behaving like a single-process +# run. Adapters are classes, used as singletons and never instantiated. +# +# pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:8 +class SimpleCov::ParallelAdapters::Base + class << self + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:10 + def active?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:29 + def expected_worker_count; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:14 + def first_worker?; end + + # mutant:disable — `false` is a singleton, so comparing against + # it answers the same through ==, eql? and equal?, and no + # example can tell the three apart. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:36 + def forced_off?; end + + # Whether `wait_for_siblings` blocks until every sibling process has exited, + # so no further resultset can appear. When true, the reporting worker can + # accept a settled resultset count below `expected_worker_count` as final + # instead of waiting out the whole `parallel_wait_timeout`. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:25 + def native_wait?; end + + # Unset, empty, non-numeric, and non-positive values all mean 1: an + # unparseable value must not yield 0 workers, which would end the sibling + # wait before it started. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:43 + def parallel_test_groups_count; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/base.rb:18 + def wait_for_siblings; end + end +end + +# Catch-all adapter for parallel test runners that follow the +# `TEST_ENV_NUMBER` / `PARALLEL_TEST_GROUPS` env-var convention but ship no +# Ruby API for SimpleCov to hook. `wait_for_siblings` is inherited from Base +# as a no-op: without a runner-provided API the only synchronization +# available is polling the resultset cache. +# +# pkg:gem/simplecov#lib/simplecov/parallel_adapters/generic.rb:12 +class SimpleCov::ParallelAdapters::GenericAdapter < ::SimpleCov::ParallelAdapters::Base + class << self + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/generic.rb:14 + def active?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/generic.rb:27 + def expected_worker_count; end + + # parallel_tests sets the first worker's TEST_ENV_NUMBER to "", and runners + # that number from 1 use "1". Both shapes match; any other value is a + # non-first worker. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/generic.rb:23 + def first_worker?; end + end +end + +# Adapter for grosser/parallel_tests, the historical default and still the +# most precise option for projects on it. Detection requires the full native +# coordination contract: the `ParallelTests` constant loaded, +# `TEST_ENV_NUMBER` set, and `PARALLEL_PID_FILE` set, because the native +# wait API reads the pid-file path with `ENV.fetch`. A runner that only +# provides the env-var convention belongs to GenericAdapter. +# +# pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:13 +class SimpleCov::ParallelAdapters::ParallelTestsAdapter < ::SimpleCov::ParallelAdapters::Base + class << self + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:15 + def active?; end + + # parallel_tests is an optional dependency, and `TEST_ENV_NUMBER` / + # `PARALLEL_TEST_GROUPS` are commonly set for other reasons, so a missing + # gem is treated as "user isn't using parallel_tests": stay quiet and let + # GenericAdapter handle it. Warning here regressed users who use those env + # vars for their own subprocess coordination (#1018). + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:51 + def ensure_loaded; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:62 + def env_suggests_parallel_tests?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:42 + def expected_worker_count; end + + # The first started process, not the last. The parallel_tests README + # recommends `first_process?` for "do something once after every worker + # finishes" hooks, so user code with its own + # `wait_for_other_processes_to_finish` overwhelmingly waits in the first + # process, and picking the same side avoids the cross-process deadlock #922 + # reported. + # + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:28 + def first_worker?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:66 + def native_parallel_tests_environment?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:38 + def native_wait?; end + + # pkg:gem/simplecov#lib/simplecov/parallel_adapters/parallel_tests.rb:32 + def wait_for_siblings; end + end +end + +# `ResultMerger.absorb_results` fanned out across forked workers, driving +# `SimpleCov.collate(..., processes: N)`. Each worker folds a contiguous +# slice of the file list and ships the pair back over a pipe. +# +# The slices are contiguous and merged back in order, so the fold visits the +# resultsets in the order the serial fold visits them and the merged result +# is identical to `SimpleCov.collate`'s, not merely equivalent. +# +# pkg:gem/simplecov#lib/simplecov/parallel_result_merger/worker_payload.rb:4 +module SimpleCov::ParallelResultMerger + extend ::SimpleCov::ParallelResultMerger + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:86 + def abandon(workers); end + + # Answers nil when the work could not be fanned out and the caller should + # merge in this process instead. The tracked paths and context-map union a + # worker's slice carried come back with its payload rather than through a + # collector block, since that block would be mutating state in the wrong + # process. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:42 + def absorb_results(file_paths, processes:, ignore_timeout: T.unsafe(nil), tracked_files: T.unsafe(nil), context_maps: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:54 + def chunk(file_paths, processes); end + + # Answers nil if any worker failed, so the caller redoes the fold serially + # rather than report a subset of the resultsets as the whole. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:128 + def collect_payloads(workers); end + + # A thread per worker, so every pipe is drained while the workers are still + # writing. A payload larger than the pipe buffer would otherwise block its + # worker mid-write, and the parent would block reaping a worker that can + # never finish. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:142 + def drain(workers); end + + # A `fork` that fails here raises, and is left to: the runtimes that never + # fork are already excluded, so what remains is the OS refusing a process + # we expected to get, which says something is wrong with the machine rather + # than with the merge. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:66 + def fan_out(chunks, ignore_timeout:, tracked_files:, context_maps:); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:18 + def merge_and_store(*file_paths, processes:, ignore_timeout: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:26 + def merge_results(*file_paths, processes:, ignore_timeout: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:146 + def read_payload(reader); end + + # `exit!` rather than `exit` because the child must never fall through to + # the collating process's inherited `at_exit` handlers, SimpleCov's own + # report generation included. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:111 + def run_in_child(reader, writer, chunk, ignore_timeout); end + + # Kept free of the exit itself so it can be exercised in-process. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:117 + def run_worker(chunk, writer, ignore_timeout:); end + + # The caller cleans up the workers it knows about, but this pipe is ours. + # The safe navigation keeps the cleanup well-defined when `IO.pipe` itself + # raised, and Steep cannot type body locals inside an ensure. + # + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:96 + def spawn_worker(chunk, ignore_timeout:); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:75 + def spawn_workers(chunks, ignore_timeout:); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:155 + def succeeded?(pid); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger.rb:164 + def warn_about_failed_workers(failed, total); end +end + +# What a worker ships back over its pipe: the `[command_names, coverage]` pair +# its slice folded to, the tracked paths the slice carried, and the slice's +# context-map union. Building and folding live together so the pipe format +# has one owner. The parent needs the union across every worker of the +# tracked paths, to know what nothing loaded, and of the maps, to judge the +# all-or-nothing rule over the whole run rather than per slice. +# +# pkg:gem/simplecov#lib/simplecov/parallel_result_merger/worker_payload.rb:11 +module SimpleCov::ParallelResultMerger::WorkerPayload + extend ::SimpleCov::ParallelResultMerger::WorkerPayload + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger/worker_payload.rb:22 + def absorb(payload, tracked_files, context_maps); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger/worker_payload.rb:14 + def build(chunk, ignore_timeout:); end + + # pkg:gem/simplecov#lib/simplecov/parallel_result_merger/worker_payload.rb:28 + def pair(payload); end +end + +# pkg:gem/simplecov#lib/simplecov/production/error.rb:4 +module SimpleCov::Production; end + +# Configuration and store-format failures. Sink errors raised from `store` are +# not wrapped in this: the runtime rescues them, warns, and retries on the +# next interval. +# +# pkg:gem/simplecov#lib/simplecov/production/error.rb:8 +class SimpleCov::Production::Error < ::StandardError; end + +# The bundled sink: a single JSON file, union-merged under an exclusive +# lock so any number of processes on the same host can share it. This is +# the reference for the sink contract: +# +# store(coverage) # {"lib/foo.rb" => [1, 3, 12], ...} of +# # root-relative paths to sorted line numbers +# +# A sink must merge (never replace: many processes each hold only a +# slice), must be idempotent (the same lines may arrive twice), and +# signals failure by raising, which makes the runtime keep the delta and +# retry next interval. +# +# `last_seen` stamps each file with the last store that carried it. +# Oneshot clears on drain, so still-running code re-reports every interval +# and the stamp tracks real recency, not first sighting. The field is +# optional on read: a v1 store written before it existed simply has no +# recency evidence to offer. +# +# pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:27 +class SimpleCov::Production::FileSink + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:35 + def initialize(path:); end + + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:33 + def path; end + + # Truncates any leftover tail from a previously larger document. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:49 + def rewrite(file, payload); end + + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:39 + def store(coverage); end + + private + + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:116 + def envelope(existing, incoming); end + + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:110 + def merge(existing, incoming); end + + # mutant:disable — Ruby 4.0 removed Kernel#open's leading-pipe + # command mode, so no test can tell `File.open` from `open` here + # any more. The explicit receiver is kept: on older rubies it is + # what refuses to run a store path as a command. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:106 + def open_file(name, mode, perm, &); end + + # Both halves of the read-modify-write happen through the one handle, so + # processes sharing the file take turns rather than overwriting each + # other. The open flags are summed, which for disjoint bits is the same + # number OR would build and leaves no spelling of the combination + # without a witness. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:95 + def with_exclusive_lock; end + + class << self + # The refusal is what keeps an arbitrary JSON file from being misread as + # empty coverage. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:81 + def envelope_of(document, path); end + + # @api private -- shared by `read` and `store`'s read-modify-write. An + # empty or missing file is a fresh store. JSON answers plain hashes, + # arrays, and scalars, never a subclass of one, so the shape checks ask + # about the class itself. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:66 + def parse(content, path); end + + # Raises `Error` for anything that is not a production coverage file, + # naming the path: misreading an arbitrary JSON file as empty coverage + # would quietly report every line dead. + # + # pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:58 + def read(path); end + end +end + +# The envelope key, which is also how `read` tells a production coverage +# file from an arbitrary JSON document it must not clobber or misread. +# +# pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:30 +SimpleCov::Production::FileSink::ENVELOPE = T.let(T.unsafe(nil), String) + +# pkg:gem/simplecov#lib/simplecov/production/file_sink.rb:31 +SimpleCov::Production::FileSink::FORMAT_VERSION = T.let(T.unsafe(nil), Integer) + +# Configuration procs loaded with `SimpleCov.start :rails` and defined with +# `SimpleCov.profiles.define`. +# +# pkg:gem/simplecov#lib/simplecov/profiles.rb:6 +class SimpleCov::Profiles < ::Hash + # pkg:gem/simplecov#lib/simplecov/profiles.rb:7 + def define(name, &blk); end + + # Lookup order: already registered via #define, then + # `require "simplecov/profiles/"` for the bundled profiles, then + # `require "simplecov-profile-"` for third-party plugin gems. + # + # pkg:gem/simplecov#lib/simplecov/profiles.rb:21 + def fetch_proc(name); end + + # pkg:gem/simplecov#lib/simplecov/profiles.rb:14 + def load(name); end + + private + + # pkg:gem/simplecov#lib/simplecov/profiles.rb:31 + def autoload_profile(name); end +end + +# pkg:gem/simplecov#lib/simplecov/filter.rb:99 +class SimpleCov::RegexFilter < ::SimpleCov::Filter + # `Regexp#match?` rather than `=~` so the predicate returns a real boolean: + # `=~` would return the match position, which trips rspec-mocks 4's + # stricter predicate-matcher type check. + # + # pkg:gem/simplecov#lib/simplecov/filter.rb:103 + def matches?(source_file); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:107 + def path_only?; end +end + +# Touches coverage/.report_stamp whenever a report is formatted, no matter how +# the run ends. The clobber-prevention backstop needs an on-disk signal that a +# fresher report exists, and `.last_run.json` can't be it alone: that file is +# only written after fully successful runs. +# +# pkg:gem/simplecov#lib/simplecov/report_stamp.rb:10 +module SimpleCov::ReportStamp + class << self + # pkg:gem/simplecov#lib/simplecov/report_stamp.rb:12 + def path; end + + # A read-only or vanished coverage dir must not crash reporting; the stamp + # only powers the deferral heuristic. + # + # pkg:gem/simplecov#lib/simplecov/report_stamp.rb:18 + def touch; end + end +end + +# A code coverage result, initialized from the Hash Ruby's built-in coverage +# library generates. +# +# pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:4 +class SimpleCov::Result + include ::SimpleCov::Result::Serialization + extend ::Forwardable + + # `filter_config` defaults to the SimpleCov singleton's filter / group + # configuration. Pass a custom FilterConfig to opt out, which is useful for + # tests that build synthetic Results. + # + # `tracked_files` accepts any collection that answers `to_a` (the merge + # passes a Set), and nil for a run that tracked nothing. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:52 + def initialize(original_result, command_name: T.unsafe(nil), created_at: T.unsafe(nil), not_loaded_files: T.unsafe(nil), tracked_files: T.unsafe(nil), run_id: T.unsafe(nil), worker_id: T.unsafe(nil), contexts: T.unsafe(nil), report: T.unsafe(nil), filter_config: T.unsafe(nil)); end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:113 + def command_name; end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:37 + def command_name=(_arg0); end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:117 + def command_names; end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:37 + def command_names=(_arg0); end + + # True for a group the configuration defines, whether or not any file + # matched it; `groups` omits the ones that matched nothing. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:89 + def configured_group?(group_name); end + + # The `ContextMap` recorded under `track_tests`, or nil when this result + # carries none: tracking was off, or a merge dropped the map because not + # every merged result recorded one. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:31 + def contexts; end + + # Path resolution as in `source_file_for`. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:79 + def coverage_for(path); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def coverage_statistics(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def coverage_statistics_by_file(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_branches(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_lines(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_methods(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_percent(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_percentages(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def covered_strength(*args, **, &block); end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:109 + def created_at; end + + # The distinct run names behind this result, set by a merge so presentation + # can say "A and N other runs" instead of reading the joined + # `command_name` aloud in full. Splitting that string back apart would + # misread a run name that itself contains a comma. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:37 + def created_at=(_arg0); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:67 + def filenames; end + + # pkg:gem/simplecov#lib/simplecov/result.rb:19 + def files; end + + # Returns nil if formatting has been opted out of (`SimpleCov.formatter + # false` / `SimpleCov.formatters []`), the cheap path for non-final + # processes in a parallel CI run, which only need their `.resultset.json` + # on disk (#964). + # + # pkg:gem/simplecov#lib/simplecov/result.rb:97 + def format!; end + + # pkg:gem/simplecov#lib/simplecov/result.rb:83 + def groups; end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def least_covered_file(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def missed_branches(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def missed_lines(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def missed_methods(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:19 + def original_result; end + + # Used only for parallel-result coordination. They do not change which + # fresh suites are merged. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:26 + def run_id; end + + # The path is resolved against SimpleCov.root, so callers can pass either + # an absolute path or a project-relative one. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:73 + def source_file_for(path); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:27 + def source_files; end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def total_branches(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:44 + def total_lines(*args, **, &block); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:39 + def total_methods(*args, **, &block); end + + # Every path the producing process was told to track, loaded or not. + # Carried into the resultset so a merge elsewhere can inject the ones + # nobody loaded without needing that process's config (#1250). + # + # pkg:gem/simplecov#lib/simplecov/result.rb:23 + def tracked_files; end + + # Used only for parallel-result coordination. They do not change which + # fresh suites are merged. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:26 + def worker_id; end + + private + + # With no cover matchers configured this is a no-op, preserving the + # historical "everything required, then filtered" universe. + # + # pkg:gem/simplecov#lib/simplecov/result.rb:162 + def apply_cover_filters!(cover_filters); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:154 + def apply_filters!(filters); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:131 + def initialize_resultset_metadata(tracked_files, run_id, worker_id, contexts); end + + # pkg:gem/simplecov#lib/simplecov/result.rb:138 + def warn_about_missing_source_files(missing); end + + class << self + # pkg:gem/simplecov#lib/simplecov/result.rb:121 + def from_hash(hash); end + end +end + +# The filter and grouping configuration a Result applies to its source files +# after building them. Each field defaults to the SimpleCov singleton's +# configuration, so ordinary callers never construct one; tests pass a custom +# instance to opt out of the project's filters or groups. +# +# pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:9 +class SimpleCov::Result::FilterConfig + # pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:12 + def initialize(filters: T.unsafe(nil), cover_filters: T.unsafe(nil), groups: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:10 + def cover_filters; end + + # pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:10 + def filters; end + + # pkg:gem/simplecov#lib/simplecov/result/filter_config.rb:10 + def groups; end +end + +# When a resultset references source files that don't exist on the local +# filesystem they're silently dropped, which produces an empty +# `0 / 0 (100.00%)` report that looks like success but isn't. This emits a +# single warning summarizing the drop and, when every entry was lost, points +# at the typical cause: `SimpleCov.collate` invoked from a machine or path +# different from where the resultsets were generated (#980). +# +# pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:11 +class SimpleCov::Result::MissingSourceFilesReporter + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:12 + def initialize(missing_paths, every_entry_dropped:); end + + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:21 + def message; end + + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:17 + def warn!; end + + private + + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:27 + def all_missing_warning; end + + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:35 + def partial_missing_warning; end + + # pkg:gem/simplecov#lib/simplecov/result/missing_source_files_reporter.rb:41 + def summary; end +end + +# pkg:gem/simplecov#lib/simplecov/result/serialization.rb:5 +module SimpleCov::Result::Serialization + # pkg:gem/simplecov#lib/simplecov/result/serialization.rb:6 + def to_hash; end + + private + + # Serialized whenever a map was recorded, even an empty one: for the merge, + # the key's presence is the signal that this result tracked tests, which is + # what lets it tell "tracked and covered nothing" from "never tracked". The + # map's files are restricted to this result's post-filter universe. + # + # pkg:gem/simplecov#lib/simplecov/result/serialization.rb:21 + def append_contexts(data); end + + # pkg:gem/simplecov#lib/simplecov/result/serialization.rb:28 + def context_filenames; end + + # A live result's criterion keys are Symbols while entries parsed back from + # `.resultset.json` carry Strings, and the combiners read only String keys. + # Serializing with String keys is what lets a live result merged against a + # stored entry contribute its counts instead of being dropped. + # + # pkg:gem/simplecov#lib/simplecov/result/serialization.rb:36 + def coverage; end +end + +# pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:5 +class SimpleCov::Result::SourceFileBuilder + # pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:8 + def initialize(original_result, not_loaded_files:); end + + # pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:14 + def call; end + + # pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:6 + def missing_source_files; end + + private + + # pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:24 + def build_source_file(filename, coverage); end + + # `Coverage.result` returns symbol keys; resultsets loaded from disk are + # already string-keyed. SourceFile reads with strings and handles both Array + # and stringified-Array branch/method keys itself, so only the outer hash + # needs normalizing. + # + # pkg:gem/simplecov#lib/simplecov/result/source_file_builder.rb:41 + def stringify_outer_keys(coverage); end +end + +# pkg:gem/simplecov#lib/simplecov/result_adapter.rb:6 +class SimpleCov::ResultAdapter + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:9 + def initialize(result); end + + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:17 + def adapt; end + + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:7 + def result; end + + private + + # Pre-0.18 resultsets pointed each filename straight at a line-coverage + # array; everything since uses the `{lines:, branches:, methods:}` shape. + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:29 + def adapt_one(file_name, cover_statistic); end + + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:127 + def adapt_oneshot_lines_if_needed(file_name, cover_statistic); end + + # Ruby's eval coverage records a fresh set of branch entries for every + # compile of an eval'd string: a template rendered through multiple view + # classes yields several `[:if, id, location]` conditions at identical + # coordinates, each counting only the renders that flowed through that + # compile. Reported as-is they inflate the branch denominator and turn a + # side covered under a different compile into a phantom miss (#1235). + # Absorbing into an empty table dedups, since BranchesCombiner keys arms on + # location identity. Regular source can never produce two conditions at the + # same location, so this is a no-op outside eval. + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:119 + def aggregate_duplicated_branches(cover_statistic); end + + # A file that has vanished or no longer parses has no stub to build from, + # and neither does a runtime without `Coverage.line_stub` (TruffleRuby), so + # start from nothing: the assignments in `adapt_oneshot_lines_if_needed` + # grow the array to the highest covered line, which is as far as the + # oneshot data reaches anyway. + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:141 + def build_line_stub(file_name); end + + # Rendering a class name can execute user code: a singleton class's `to_s` + # renders its attached object via `#inspect`, which a module can shadow + # with an incompatible signature (Liquid::Utils defines + # `inspect(value, max_depth = 2)` as a module_function, so rendering + # `#` raises ArgumentError). A coverage report must + # never crash the host suite over that (#1236). + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:92 + def class_display_name(klass); end + + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:78 + def normalize_method_key(key); end + + # Ruby's method coverage records one entry per defined method, not per + # source location: a block handed to `define_method` from a shared code + # path yields a separate `[receiver, name, location]` entry for every class + # it's defined on and every name it's defined under, all pointing at the + # same source. A file-based report can only express "was the method at this + # location ever executed", so entries are aggregated by location alone, + # summing hits. Otherwise each generated copy that never ran shows as a + # phantom uncovered method on a line whose line coverage is 100% (#1234). + # The first entry's normalized key is kept for display. + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:65 + def normalize_method_keys(cover_statistic); end + + # `singleton_class?` is a Module method, so a receiver that is neither a + # class nor a module has to be turned away first. Anything that then + # answers `singleton_class?` truthily is a Class, so `attached_object` + # applies, reached through a bound method so shadowing cannot divert it. + # + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:102 + def singleton_wrapper_name(klass); end + + class << self + # pkg:gem/simplecov#lib/simplecov/result_adapter.rb:13 + def call(*); end + end +end + +# Normalizes memory addresses in method coverage keys so results from +# different processes can be merged: anonymous class names like +# "#" get inconsistent addresses across runs, and +# address widths vary by runtime. +# +# pkg:gem/simplecov#lib/simplecov/result_adapter.rb:42 +SimpleCov::ResultAdapter::ADDRESS_PATTERN = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/result_adapter.rb:45 +SimpleCov::ResultAdapter::ADDRESS_PLACEHOLDER = T.let(T.unsafe(nil), String) + +# Strips the `#` wrapper Ruby's Coverage adds to singleton-class +# method keys. `module_function` and class methods get recorded both as +# singleton and instance/module entries pointing at the same source +# location, and only one of the two is ever reachable at runtime. Only +# named constants: anonymous-class addresses are left to ADDRESS_PATTERN. +# +# pkg:gem/simplecov#lib/simplecov/result_adapter.rb:53 +SimpleCov::ResultAdapter::SINGLETON_WRAPPER_PATTERN = T.let(T.unsafe(nil), Regexp) + +# Caching, loading and merging `SimpleCov::Result`s into a single result for +# coverage analysis based upon multiple test suites. +# +# pkg:gem/simplecov#lib/simplecov/result_merger/legacy_format_adapter.rb:4 +module SimpleCov::ResultMerger + extend ::SimpleCov::ResultMerger::ResultsetRunIdentity + + class << self + # Reads every resultset and folds it into one merged coverage, stopping + # short of building a `SimpleCov::Result`. + # + # Files are only read in and parsed one at a time on purpose. In big CI + # setups you might deal with 100s of jobs each producing megabytes of + # data, and reading them all in easily produces gigabytes of memory + # consumption. For the same reason a `Result` is only created at the end. + # + # One accumulator absorbs the whole run, rather than folding each file + # into the merged-so-far pairwise: the pairwise form rebuilt every file's + # coverage once per resultset, which is what made merging a large + # parallel run's results the dominant cost of `collate`. + # + # `file_paths` is only ever iterated, so a caller that wants to observe + # the merge as it goes can hand in any Enumerable. `benchmarks/collate` + # passes an Enumerator that reports progress. + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:65 + def absorb_results(file_paths, ignore_timeout: T.unsafe(nil), &on_parse); end + + # `tracked_files:` has no default: only the caller knows what the + # contributing processes were told to track, and quietly reading an + # omission as "nothing was tracked" would drop every never-loaded + # file from the merged report. + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:117 + def create_result(command_names, coverage, tracked_files:, contexts: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:90 + def drop_expired_results(results); end + + # One block over the entries each resultset contributes to the merge, + # feeding every merge-side accumulator in a single pass: the tracked + # paths and the per-test map union (#1250). + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:42 + def entry_collector(tracked_files, context_maps); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:23 + def merge_and_store(*file_paths, ignore_timeout: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:137 + def merge_coverage(*results); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:29 + def merge_results(*file_paths, ignore_timeout: T.unsafe(nil)); end + + # Yields the entries that survived the merge timeout, so a caller that + # wants to observe what a resultset carried sees only what is being + # merged. An expired entry contributes nothing, tracked paths included. + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:79 + def merge_valid_results(results, ignore_timeout: T.unsafe(nil)); end + + # If an entry with the same command_name was written AFTER our process + # started, a sibling test runner wrote it. Combine coverage data rather + # than overwriting, so an empty parent-process result doesn't clobber the + # subprocess's real data (#581). + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:175 + def merged_entry(existing, incoming); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:146 + def merged_result; end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:153 + def read_resultset; end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:19 + def resultset_path; end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:158 + def store_result(result); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:185 + def synchronize_resultset(&); end + + # Yields the surviving entries before they are reduced. + # + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:72 + def valid_results(file_path, ignore_timeout: T.unsafe(nil), &on_parse); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:102 + def warn_about_expired_results(expired_command_names); end + + # pkg:gem/simplecov#lib/simplecov/result_merger.rb:98 + def within_merge_timeout?(data); end + end +end + +# pkg:gem/simplecov#lib/simplecov/result_merger/contexts.rb:5 +module SimpleCov::ResultMerger::Contexts + extend ::SimpleCov::ResultMerger::Contexts + + # The same union-or-drop rule the cross-suite merge applies: the union when + # both sides recorded a map, no map at all when either did not, since a + # partial map would present one runner's tests as the pair's. `entry` starts + # as a copy of `incoming`, so the drop has to remove the key rather than + # merely decline to add it. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/contexts.rb:13 + def carry(entry, existing, incoming); end +end + +# pkg:gem/simplecov#lib/simplecov/result_merger/legacy_format_adapter.rb:5 +module SimpleCov::ResultMerger::LegacyFormatAdapter + extend ::SimpleCov::ResultMerger::LegacyFormatAdapter + + # pkg:gem/simplecov#lib/simplecov/result_merger/legacy_format_adapter.rb:8 + def call(result); end + + # Pre-0.18 coverage data pointed from file directly to an array of line + # coverage rather than a `{"lines" => [...]}` hash. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/legacy_format_adapter.rb:14 + def pre_0_18?(result); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/legacy_format_adapter.rb:19 + def upgrade(result); end +end + +# Read and parse a `.resultset.json` with the same tolerance the historical +# `ResultMerger` had: a missing or empty file quietly returns `{}`, an +# unparseable one warns and returns `{}`, and malformed entries inside a +# valid file are warned about and dropped. +# +# pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:11 +module SimpleCov::ResultMerger::ResultsetFile + extend ::SimpleCov::ResultMerger::ResultsetFile + + # Valid JSON need not be an object, but everything downstream iterates + # command => data pairs, so anything else gets the same tolerance as a parse + # failure. A "null" file has long meant an empty resultset. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:35 + def decode(content); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:46 + def drop_malformed_entries(resultset); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:61 + def invalid_resultset; end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:14 + def parse(path); end + + # A missing or blank file quietly means "no results yet"; anything else, a + # 1-byte truncation included, flows through decode so corruption warns + # instead of silently vanishing. Read first and rescue rather than check + # exist?, which is racy against a concurrent clean. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:23 + def read(path); end + + # Every consumer relies on a Hash carrying a Numeric "timestamp" and a Hash + # "coverage". A truncated or hand-edited entry would otherwise crash out of + # the middle of an at_exit merge. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_file.rb:57 + def well_formed_entry?(data); end +end + +# Run and worker metadata queries used by resultset storage and parallel +# coordination. +# +# pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:7 +module SimpleCov::ResultMerger::ResultsetRunIdentity + # Either the entry shares our run id, or it was written strictly after our + # process started. A mismatched run id must not defeat the timestamp check: a + # subprocess we shelled out to generates its own random run id, and its + # freshly written entry is exactly the data #581 protects from being + # clobbered. Strict id matching is reserved for worker counting, where + # admitting a stale entry would end a sibling wait early. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:47 + def concurrent_runner_entry?(entry, incoming = T.unsafe(nil)); end + + # `eql?` rather than `==`: run ids are strings, and value equality already + # answers false for the nil run id a caller with no identity of its own + # passes. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:25 + def current_run_entry?(entry, run_id, started_at); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:36 + def fresh_entry?(entry, started_at); end + + # One namespaced identity per distinct worker that wrote to the current run: + # `[:worker, id]` for entries carrying a worker id, `[:legacy, command_name]` + # for fresh entries written without one. Pairs rather than mangled strings, + # so a resultset mixing both kinds can never alias a real worker id to a + # synthesized legacy identity. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:13 + def worker_identities_for_run(results, run_id, started_at); end + + # Strictly after, unlike `fresh_entry?`: an entry stamped at the exact + # instant we started is treated as leftover from a previous run. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_run_identity.rb:59 + def written_after_start?(entry, started_at); end +end + +# pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:10 +module SimpleCov::ResultMerger::ResultsetStore + extend ::SimpleCov::ResultMerger::ResultsetStore + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:46 + def holding_writelock; end + + # mutant:disable — Ruby 4.0 removed Kernel#open's leading-pipe + # command mode, so no test can tell `File.open` from `open` here + # any more. The explicit receiver is kept: on older rubies it is + # what refuses to run a lock path as a command. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:57 + def open_file(name, mode, &); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:16 + def resultset_path; end + + # Threads are serialized before the process-wide file lock is taken. Nested + # calls by the owning thread bypass flock so they cannot deadlock on a second + # descriptor for the same lock file. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:35 + def synchronize(&); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:41 + def with_flock(&); end + + # Compact JSON, not pretty-printed: this is a machine-read cache that every + # parallel worker rewrites wholesale, and on a large project pretty printing + # nearly doubles the bytes written, read back, and parsed on each of those + # store-merge round trips. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:28 + def write(resultset); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:20 + def writelock_path; end +end + +# pkg:gem/simplecov#lib/simplecov/result_merger/resultset_store.rb:11 +SimpleCov::ResultMerger::ResultsetStore::LOCK_MONITOR = T.let(T.unsafe(nil), Monitor) + +# The merge step's half of unloaded-file handling: the policy of when to +# inject and which criteria simulated files carry. The mechanism, expanding +# globs and simulating each file, is `SimpleCov::UnloadedFileInjector`. +# +# Injection moved here from the individual processes because only the union +# of what they all loaded says what was really never loaded. Doing it per +# process meant N workers simulated the same file up to N times and the +# merge threw all but one away (#1250). +# +# pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:13 +module SimpleCov::ResultMerger::UnloadedFiles + extend ::SimpleCov::ResultMerger::UnloadedFiles + + # A simulated file should have the same shape as the files it is being + # merged alongside, so the criteria come from the merged data rather than + # from this process's configuration, which is not necessarily what any + # contributing process measured under: `simplecov merge` never ran + # `SimpleCov.start` at all. Giving injected files fewer tables than their + # neighbours is what inflates the percentage #1059 fixed. + # + # Falls back to the configuration when there is nothing to be consistent + # with, which is a merge of resultsets that carried no files. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:59 + def carries?(coverage, criterion); end + + # Concurrent workers sharing a command name may have been told to track + # different sets, so keep both rather than letting the later write win. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:32 + def carry_tracked(entry, existing, incoming); end + + # A collector for the merge to hand `merge_valid_results`, gathering the + # tracked paths of every resultset that survives the merge timeout. + # Absent from resultsets written before this was recorded, in which case + # those processes injected their own unloaded files already. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:20 + def collector(into); end + + # Simulates each tracked file the merged coverage doesn't already carry. + # The paths come from the resultsets rather than this process's own + # configuration, which a standalone `collate` would not have. Idempotent, + # so resultsets that already carry their unloaded files pass through + # untouched. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:42 + def inject(coverage, tracked_files); end + + # Which files no contributing process ever loaded. Injection reports the + # ones it added, but a file can also arrive already simulated from a + # resultset this merge didn't inject into, so the merged line counts are + # still consulted. + # + # A file is judged only when it has a relevant line. A branch-only or + # method-only run reports no line data at all for the files it loaded, + # and a loaded file with no executable lines reports every line as `nil`. + # Either would otherwise read as "never executed" and mark a genuinely + # loaded file not loaded, turning its branch and method coverage into + # #902's 0%. + # + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:83 + def never_executed(coverage); end + + # pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:24 + def tracked_in(resultset); end +end + +# pkg:gem/simplecov#lib/simplecov/result_merger/unloaded_files.rb:65 +SimpleCov::ResultMerger::UnloadedFiles::CRITERION_PREDICATES = T.let(T.unsafe(nil), Hash) + +# Identifies one test invocation and each top-level parallel worker within it. +# Forked subprocesses inherit both values from their parent worker. +# +# pkg:gem/simplecov#lib/simplecov/run_identity.rb:8 +module SimpleCov::RunIdentity + extend ::SimpleCov::RunIdentity + + # Decided where the id is generated, never re-inferred from the id's shape, + # so an explicit SIMPLECOV_RUN_ID that happens to look like an inferred one + # is still trusted. + # + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:41 + def authoritative?; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:46 + def current; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:55 + def current_worker_id; end + + # Answers the run id together with its provenance: true when the id alone + # proves same-run membership (explicitly configured, derived from + # parallel_tests' per-invocation pid file, or freshly random), false when it + # was inferred from the parent pid, which consecutive runs launched by the + # same long-lived parent process share. + # + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:16 + def generate; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:51 + def materialize_current; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:59 + def prepare; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:28 + def worker_id; end +end + +# pkg:gem/simplecov#lib/simplecov/run_identity.rb:65 +module SimpleCov::RunIdentity::Accessors + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:66 + def run_id; end + + # pkg:gem/simplecov#lib/simplecov/run_identity.rb:70 + def worker_id; end +end + +# pkg:gem/simplecov#lib/simplecov/simulate_coverage.rb:7 +module SimpleCov::SimulateCoverage + extend ::SimpleCov::SimulateCoverage + + # Simulate a file coverage report for a file that was tracked but never + # required, in the same hash shape as `Coverage.result`. + # + # The line classification comes from `Coverage.line_stub`, the same + # classification the runtime would have produced if the file had been + # required, overlaid with SimpleCov's `# :nocov:` toggles and + # `# simplecov:disable line` directive ranges, which `Coverage` doesn't + # know about. This keeps "relevant lines" identical whether a file was + # loaded or just tracked (#654). + # + # Branches and methods are enumerated by static analysis. Earlier behavior + # left both as empty hashes, which made unloaded files invisible to the + # branch/method denominators while their lines did count, so a glob that + # picked up files without specs silently inflated branch% relative to + # line% (#1059). When the file can't be parsed, fall back to the old empty + # hashes. + # + # Pass `synthesize: false` to skip the static analysis. Callers use it when + # neither branch nor method coverage is enabled, since nothing will read + # the tuples and the Prism parse is about half the cost of simulating a + # file (#1250). + # + # Pass `lines: false` to omit the `"lines"` key entirely, mirroring what + # `Coverage.result` reports for a file loaded under a branch-only or + # method-only run. Emitting zeroed lines there would make a simulated file + # indistinguishable from one a sibling process actually loaded. + # + # pkg:gem/simplecov#lib/simplecov/simulate_coverage.rb:38 + def call(absolute_path, synthesize: T.unsafe(nil), lines: T.unsafe(nil)); end + + # Combines `Coverage.line_stub` (which gets multi-line statements right) + # with `LinesClassifier` (which knows about `# :nocov:` toggles and + # `# simplecov:disable line` ranges). Answers nil when `Coverage` can't + # read or parse the file, or the runtime doesn't expose `line_stub`. + # + # pkg:gem/simplecov#lib/simplecov/simulate_coverage.rb:70 + def coverage_stub(path, source_lines); end + + # SystemCallError, not just ENOENT: a `track_files` glob can sweep up an + # unreadable file or a directory named like a Ruby file, and simulation must + # degrade to "empty file" rather than crash the merge or report step. + # + # pkg:gem/simplecov#lib/simplecov/simulate_coverage.rb:60 + def read_lines(path); end + + # Empty hashes when the static analysis is skipped (nothing enabled reads + # them) or unavailable (no Prism, or the file doesn't parse). + # + # pkg:gem/simplecov#lib/simplecov/simulate_coverage.rb:50 + def synthesized_tuples(source_lines, synthesize); end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/line.rb:4 +class SimpleCov::SourceFile + include ::SimpleCov::SourceFile::BuilderContext + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:20 + def initialize(filename, coverage_data, loaded: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:95 + def branches; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:103 + def branches_coverage_percent; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:129 + def branches_for_line(line_number); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:113 + def branches_report; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:18 + def coverage_data; end + + # The per-criterion coverage statistics for this file. With no argument + # answers the `{line:, branch:, method:}` Hash, and with a criterion symbol + # that one CoverageStatistics. Every criterion is present even when it + # wasn't enabled during the run, collapsed to 0/0/0; `FileList` is the + # layer that filters to the enabled set. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:41 + def coverage_statistics(criterion = T.unsafe(nil)); end + + # A tree schema, because some conditions like `case` may have an additional + # `else` that isn't declared in code but is given by default by the + # coverage report. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:121 + def covered_branches; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:51 + def covered_lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:141 + def covered_methods; end + + # Nil if the criterion was not measured. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:77 + def covered_percent(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:81 + def covered_strength(criterion = T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:18 + def filename; end + + # Answers nil for a number this file has no line for. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:72 + def line(number); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:133 + def line_with_missed_branch?(line_number); end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:46 + def lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:67 + def lines_of_code; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:137 + def methods; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:149 + def methods_coverage_percent; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:125 + def missed_branches; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:55 + def missed_lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:145 + def missed_methods; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:59 + def never_lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:99 + def no_branches?; end + + # Every line the file has is irrelevant, a file with no lines at all + # included. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:87 + def no_lines?; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:155 + def not_loaded?; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:26 + def project_filename; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:91 + def relevant_lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:63 + def skipped_lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:34 + def source; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:49 + def source_lines; end + + # Read lazily to suppress reading unused source code. + # + # pkg:gem/simplecov#lib/simplecov/source_file.rb:31 + def src; end + + # pkg:gem/simplecov#lib/simplecov/source_file.rb:109 + def total_branches; end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:5 +class SimpleCov::SourceFile::Branch + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:8 + def initialize(start_line:, end_line:, coverage:, inline:, type:); end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:6 + def coverage; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:21 + def covered?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:6 + def end_line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:17 + def inline?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:25 + def missed?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:48 + def overlaps_with?(line_range); end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:52 + def report; end + + # Usually the line above the start of the branch, so that it shows up at the + # if/else. That highlights the condition, and makes it distinguishable when + # the first line of the branch is itself an inline branch. + # + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:32 + def report_line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:40 + def skipped!; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:44 + def skipped?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:6 + def start_line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch.rb:6 + def type; end +end + +# Builds the `SourceFile::Branch` objects for a source file from the raw +# branch data Ruby's Coverage library reports, applying the +# `ignore_branches` filters and marking branches inside disabled chunks as +# skipped. +# +# pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:9 +class SimpleCov::SourceFile::BranchBuilder + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:10 + def initialize(source_file); end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:14 + def call; end + + private + + # The coverage data hands in `[:then, 4, 6, 6, 6, 10]`, which is + # [type, id, start_line, start_col, end_line, end_col]. + # + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:55 + def build_branch(branch_data, hit_count, condition_range); end + + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:45 + def build_branches_from(condition, branches); end + + # Coverage attributes an eval'd branch to the caller's `__FILE__` / + # `__LINE__`, so a Rails `delegate :foo, to: :bar` call surfaces inside the + # source file as if there were branches at the `delegate` line. Prism never + # sees those branches in the static source, so a condition whose start_line + # isn't in the real-source branch set must be eval-generated (#1046). + # + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:32 + def eval_generated_condition_to_ignore?(condition); end + + # Ruby's Coverage reports a synthetic `:else` for constructs with no literal + # `else` keyword. The signal is structural: a synthetic else reuses its + # parent condition's full source range, while an explicit `else` arm carries + # a narrower one. Comparing the full range rather than just `start_line` is + # what distinguishes a ternary's explicit else on the condition's own line + # from a postfix `return if cond` (#1033). + # + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:74 + def implicit_else_to_ignore?(type, branch_range, condition_range); end + + # A non-inline branch's source range starts on its arm body, but + # `report_line` is the condition line above it, which is where the user sees + # the branch and would naturally place an inline disable directive. Honour + # both. + # + # pkg:gem/simplecov#lib/simplecov/source_file/branch_builder.rb:85 + def process_skipped(branches); end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/builder_context.rb:5 +module SimpleCov::SourceFile::BuilderContext + # Memoized set of real source positions extracted via Prism. Nil when Prism is + # unavailable or parsing fails, signaling callers to keep every Coverage entry + # rather than risk false drops. The `defined?` guard preserves a nil + # memoization across calls. + # + # Nil for a template too, without parsing: every entry a template reports + # is eval-generated by construction, so the filter has nothing to + # distinguish there, and a template whose text happens to parse as Ruby + # (a Haml `#id` tag reads as a comment) would otherwise lose its real + # branches to a confident wrong parse. + # + # pkg:gem/simplecov#lib/simplecov/source_file/builder_context.rb:20 + def real_source_positions; end + + # pkg:gem/simplecov#lib/simplecov/source_file/builder_context.rb:6 + def skip_chunks_for(criterion); end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/line.rb:5 +class SimpleCov::SourceFile::Line + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:12 + def initialize(src, line_number, coverage); end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:6 + def coverage; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:32 + def covered?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:9 + def line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:6 + def line_number; end + + # Asking `covered?` rather than reading the count a second time keeps the two + # answers from ever disagreeing, and `never?` ahead of it is what keeps a + # line with no coverage at all out of the missed column. + # + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:28 + def missed?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:36 + def never?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:10 + def number; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:6 + def skipped; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:40 + def skipped!; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:44 + def skipped?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:8 + def source; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:6 + def src; end + + # pkg:gem/simplecov#lib/simplecov/source_file/line.rb:48 + def status; end +end + +# Builds the `SourceFile::Line` objects for a source file from the raw +# line-coverage array, applying the disabled block ranges via `skipped!`. +# +# pkg:gem/simplecov#lib/simplecov/source_file/line_builder.rb:7 +class SimpleCov::SourceFile::LineBuilder + # pkg:gem/simplecov#lib/simplecov/source_file/line_builder.rb:8 + def initialize(source_file); end + + # pkg:gem/simplecov#lib/simplecov/source_file/line_builder.rb:12 + def call; end + + private + + # When `:line` coverage is disabled the Coverage module emits no "lines" data, + # so every position looks up nil. The source rows are still useful for the + # HTML report's source view even without per-line hits. + # + # pkg:gem/simplecov#lib/simplecov/source_file/line_builder.rb:23 + def build_lines; end + + # The lines array is 0-based while the chunks' line numbers are 1-based, so + # each range is shifted down by one to slice into it. + # + # pkg:gem/simplecov#lib/simplecov/source_file/line_builder.rb:32 + def mark_skipped(lines, chunks); end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/method.rb:5 +class SimpleCov::SourceFile::Method + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:9 + def initialize(source_file, info, coverage); end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def class_name; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def coverage; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:15 + def covered?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def end_col; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def end_line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:39 + def lines; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def method_name; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:35 + def missed?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:43 + def overlaps_with?(line_range); end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:31 + def skipped!; end + + # Criterion-level skips (nocov chunks, `# simplecov:disable` / + # `# simplecov:disable method` regions) arrive via `skipped!` from + # MethodBuilder. Deliberately NOT derived from the lines' skip + # state: a line-only directive around a def must not remove the + # method from method totals. Without line info there is nothing to + # report against, so such a method stays skipped. + # + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:25 + def skipped?; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def source_file; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def start_col; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:6 + def start_line; end + + # pkg:gem/simplecov#lib/simplecov/source_file/method.rb:49 + def to_s; end +end + +# `# simplecov:disable` / `# :nocov:` chunks as skipped. +# +# pkg:gem/simplecov#lib/simplecov/source_file/method_builder.rb:6 +class SimpleCov::SourceFile::MethodBuilder + # pkg:gem/simplecov#lib/simplecov/source_file/method_builder.rb:7 + def initialize(source_file); end + + # pkg:gem/simplecov#lib/simplecov/source_file/method_builder.rb:11 + def call; end + + private + + # Coverage reports an eval'd `def` at the eval caller's line and name, so a + # method whose `(name, start_line)` is absent from the real-source `def` set + # is eval-generated (#1046). + # + # pkg:gem/simplecov#lib/simplecov/source_file/method_builder.rb:29 + def eval_generated_to_ignore?(info); end + + # pkg:gem/simplecov#lib/simplecov/source_file/method_builder.rb:42 + def process_skipped(methods); end +end + +# `Coverage.result` reports condition and method keys as Ruby arrays. When +# the resultset is round-tripped through JSON those array keys become their +# stringified inspect form, so this parser walks the literal back into a +# real Array without using `eval` (#801). The grammar covers symbols, +# strings, integers, unary minus, and constant paths: every shape Coverage +# ever emits. +# +# pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:13 +module SimpleCov::SourceFile::RubyDataParser + extend ::SimpleCov::SourceFile::RubyDataParser + + # String parses are memoized: `Combine::BranchesCombiner` and + # `Combine::MethodsCombiner` derive a merge identity from every key of + # both sides on every pairwise merge, so collating N resultsets parses + # each key string N-1 times, and Ripper dominates the wall time of a + # large collate. The set of unique keys is bounded by the project's + # branch and method count, so a permanent cache stays small. + # + # Cached arrays are frozen element-wise, String class names included: + # every caller destructures without mutating, and sharing one array + # across callers must stay that way. The cache key needs no such care, + # since `Hash#[]=` dups and freezes String keys on its own. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:27 + def call(structure); end + + # A constant path's namespace is an element in its own right, so + # `Foo::Bar::Baz` comes back together one segment at a time. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:76 + def const_path(node); end + + # Ripper may emit zero, one, or many fragments under a literal depending + # on its form, and the escapes it leaves in the source text come back out. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:82 + def literal_text(node); end + + # Parses a string like '[:if, 0, 3, 4, 3, 21]' or + # '["ClassName", :method1, 2, 2, 5, 5]' back into a Ruby array. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:39 + def parse_array_string(str); end + + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:33 + def parse_cache; end + + # Each `when` already knows the node's shape, so the elements read straight + # out of it rather than through a second dispatch. A symbol's text sits + # where a string's does, one node deeper. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:61 + def parse_element(node); end + + # Method coverage keys can contain inspect-format class references like + # `#`, which aren't valid Ruby syntax. Wrapping them in quotes + # lets Ripper parse the surrounding array literal. The pattern recurses + # because singleton methods on instances nest one inspect segment inside + # another (`#>`), and stopping at the first `>` + # leaves a dangling `>` that fails both Ripper passes. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:98 + def quote_inspected_class_segments(str); end + + # Undoes the same backslash-prefix escapes the previous hand-rolled parser + # undid: `\X` -> `X` for any X. + # + # pkg:gem/simplecov#lib/simplecov/source_file/ruby_data_parser.rb:88 + def unescape_ruby(raw); end +end + +# The line ranges excluded from a SourceFile's coverage per criterion. Two +# sources contribute: the deprecated nocov block toggle, and the +# `SimpleCov::Directive` block directives, which can be scoped per criterion. +# +# pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:8 +class SimpleCov::SourceFile::SkipChunks + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:14 + def initialize(filename, src); end + + # Every criterion honors the deprecated all-criteria nocov chunks plus its + # own per-criterion directive ranges, methods included: they carry a + # source range, and nocov has always meant "exclude everything here". The + # ranges are 1-based line numbers, so consumers subtract 1 to index into + # the zero-based lines array. + # + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:24 + def chunks_for(criterion); end + + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:32 + def directive_chunks; end + + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:28 + def nocov_chunks; end + + private + + # An uneven number of nocovs is assumed to run to the end of the file. It + # cannot be handled inside the each_slice because JRuby behaves differently + # there (jruby/jruby#6048). + # + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:50 + def build_nocov_chunks; end + + # The Ruby the file holds, which for a template means the Ruby inside its + # tags or script lines with its own comments turned into Ruby comments. + # Both kinds of marker are found there, so a toggle in a template's + # comment syntax gets the same treatment, and the same deprecation + # warning, as one in a Ruby file. + # + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:43 + def ruby_lines; end + + # at the `# simplecov:disable` / `# simplecov:enable` replacement. + # + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:63 + def warn_nocov_deprecation(first_line_number); end + + class << self + # pkg:gem/simplecov#lib/simplecov/source_file/skip_chunks.rb:11 + def nocov_warned; end + end +end + +# Reads a source file into an array of lines, honoring the source's shebang +# and `coding:` magic comment when present. Always transcodes to UTF-8 with +# invalid and undefined bytes replaced, both for JRuby compatibility and to +# keep encoding shenanigans in one place (#866). +# +# pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:9 +module SimpleCov::SourceFile::SourceLoader + extend ::SimpleCov::SourceFile::SourceLoader + + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:15 + def call(filename); end + + # Setting invalid/undef options on `file.set_encoding` doesn't work + # properly, and transcoding here also works around a JRuby incompatibility. + # + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:67 + def ensure_remove_undefs(file_lines); end + + # mutant:disable — on CRuby the two arms answer alike, because + # converting to the encoding a string already carries scrubs it + # when `invalid: :replace` is given. The arms are kept apart for + # the engines where that conversion is the documented no-op it + # reads as, which is the same reason the transcode is here rather + # than on `file.set_encoding`. + # Encodings are singletons, so identity is the whole of the question. A line + # already tagged UTF-8 has nothing to transcode, only invalid bytes to + # replace, and scrubbing a line that has none of those leaves it alone. + # + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:80 + def make_utf8(line); end + + # mutant:disable — Ruby 4.0 removed Kernel#open's leading-pipe + # command mode, so no test can tell `File.open` from `open` here + # any more. The explicit receiver is kept: on older rubies it is + # what refuses to run a filename as a command. + # + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:26 + def open_file(name, mode, &); end + + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:44 + def read_lines(file, lines, current_line); end + + # A line read as UTF-8 can still carry invalid bytes, from a Latin-1 source + # file without a magic comment, say. They are replaced before any regex sees + # the line: the shebang and magic-comment checks would otherwise raise + # ArgumentError and take the report down. + # + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:34 + def scrub_invalid(line); end + + # An encoding magic comment must be placed on the first line, except after a + # shebang. + # + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:59 + def set_encoding_based_on_magic_comment(file, line); end + + # pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:40 + def shebang?(line); end +end + +# pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:11 +SimpleCov::SourceFile::SourceLoader::RUBY_FILE_ENCODING_MAGIC_COMMENT_REGEX = T.let(T.unsafe(nil), Regexp) + +# pkg:gem/simplecov#lib/simplecov/source_file/source_loader.rb:10 +SimpleCov::SourceFile::SourceLoader::SHEBANG_REGEX = T.let(T.unsafe(nil), Regexp) + +# Builds the `CoverageStatistics` triple for a SourceFile regardless of which +# criteria were enabled during the run: disabled or empty criteria collapse to +# 0/0/0 so downstream consumers don't have to special-case enable-state. +# +# pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:8 +class SimpleCov::SourceFile::Statistics + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:9 + def initialize(source_file); end + + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:13 + def call; end + + private + + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:33 + def branch_statistics; end + + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:65 + def coverage_statistics(covered, missed, omitted: T.unsafe(nil), percent: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:23 + def line_statistics; end + + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:42 + def method_statistics; end + + # A file tracked but never loaded once carried no branch or method tuples + # at all, so an empty set meant "nobody knows", and answering the + # empty-set default of 100% overstated it (#902). Simulation now + # synthesizes those tuples statically, so a file carrying a table at all, + # empty or not, has been accounted for: it has no branches, or a + # directive skipped the ones it has, and it is as covered as a loaded + # file with none. Only a file carrying no table for the criterion is + # still unaccounted for. A file with missed entries and none covered + # already computes to 0% either way, so only one that really has covered + # entries keeps its computed percentage. + # + # pkg:gem/simplecov#lib/simplecov/source_file/statistics.rb:61 + def unaccounted?(source_file, table); end +end + +# Static enumeration of the branches and methods Ruby's `Coverage` library +# would have reported if a file had been loaded with `branches: true` / +# `methods: true`. Used by `SimulateCoverage` to backfill data for files +# added via `cover` / `track_files` that were never required during the run, +# so unloaded files contribute to the branch/method denominators +# symmetrically with their line coverage (#1059). +# +# The emitted shape mirrors `Coverage.result[path]` for the same file. +# Position info comes from Prism's reported source locations; it doesn't +# always match `Coverage`'s byte-for-byte, but lines are reliable and +# downstream consumers that key off line numbers see the data they expect. +# +# Prism loads on the first extraction rather than with SimpleCov, so a +# line-only run never needs it. Where it cannot load at all (JRuby on +# Windows, whose FFI backend fails to open libprism), extraction answers nil +# like any other failure. +# +# pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:20 +module SimpleCov::StaticCoverageExtractor + extend ::SimpleCov::StaticCoverageExtractor + + # Both keys carry their start line third, after the parts that vary between + # recordings. Read through a parameter list rather than an index, because + # every spelling of an index answers the same for a tuple of this fixed + # shape. Binding an argument has only the one spelling. + # + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:81 + def branch_start_line(_type, _id, start_line, *); end + + # Parse `source` and return `{"branches" => {...}, "methods" => {...}}` + # matching the shape `Coverage.result[path]` produces. Returns nil when + # Prism cannot load or parsing fails, which callers treat as "couldn't + # extract, fall back to empty hashes". + # + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:27 + def call(source); end + + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:85 + def method_identity(_class_name, name, start_line, *); end + + # Memoized, because a failed load leaves nothing in $LOADED_FEATURES and + # would otherwise be retried for every file. + # + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:71 + def prism_loaded?; end + + # Summarize a source file's real branch and method positions, for the + # `:eval_generated` filter (#1046). Answers: + # + # { + # branches: Set[start_line, ...], # e.g., [3, 12, 20] + # methods: Set[[name, start_line], ...] # e.g., [[:foo, 7], [:bar, 13]] + # } + # + # Branch matching is start_line-only rather than by the full tuple. Static + # extraction and Coverage can still disagree on a branch's exact column + # positions, so matching on start_line alone tolerates those differences. + # Coincidental line-sharing between a real branch and an eval-generated one + # keeps both, an acceptable false-negative for an opt-in filter. + # + # Returns nil when Prism cannot load or parsing fails, signaling callers to + # keep every Coverage entry. + # + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:59 + def real_source_positions(source); end + + private + + # pkg:gem/simplecov#lib/simplecov/static_coverage_extractor.rb:91 + def load_prism; end +end + +# pkg:gem/simplecov#lib/simplecov/filter.rb:57 +class SimpleCov::StringFilter < ::SimpleCov::Filter + # Matching is path-segment-aware: the argument must appear immediately + # after a "/" and be followed by "/" or end-of-string, so "lib" matches + # "/lib/foo.rb" but not "/app/models/library.rb". + # + # pkg:gem/simplecov#lib/simplecov/filter.rb:61 + def matches?(source_file); end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:65 + def path_only?; end + + private + + # pkg:gem/simplecov#lib/simplecov/filter.rb:75 + def compute_segment_pattern; end + + # pkg:gem/simplecov#lib/simplecov/filter.rb:71 + def segment_pattern; end +end + +# Records each test as a context in a `ContextMap`. Enabled by the +# `track_tests` configuration; installed into RSpec by +# `SimpleCov.start_tracking` and into Minitest by the minitest plugin. +# Any other runner can wrap its own units of work with +# `SimpleCov.track_test`. +# +# The contract is `track(id) { }`: attribute the lines the block executed to +# `id`, or abstain (`recorded_map` nil), never guess. How the lines are +# obtained is this class's private business, and today's engine is a +# peek-diff: sample `Coverage.peek_result` around the block and take the +# lines whose execution count grew. If Ruby's Coverage ever grows native +# contexts the engine is what gets replaced; the contract, the `ContextMap`, +# and everything downstream stay. +# +# Two limits are the peek-diff engine's, not the contract's. It needs +# per-line execution counts, which is why `track_tests` refuses to run under +# `:oneshot_line`. And tests overlapping across threads cannot be told +# apart, because the counters being diffed are process-global. +# +# +# The test-framework side of per-test tracking: how the wrapper gets +# installed into RSpec and Minitest, and how each framework's tests are +# identified. The recording itself lives in test_tracker.rb. +# +# pkg:gem/simplecov#lib/simplecov/test_tracker/constant_watch.rb:4 +class SimpleCov::TestTracker + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:33 + def initialize(root_regex: T.unsafe(nil), granularity: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:26 + def map; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:64 + def poisoned?; end + + # nil once poisoned: a poisoned recording must vanish like one that never + # happened, so the merge's all-or-nothing rule drops the run's map instead + # of keeping a wrong one. Flushes the open segment, so the answer carries + # every finished track. At process exit `Coverage.result` has already + # stopped measurement, so result-building passes the final coverage it just + # took as the closing snapshot instead of peeking again. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:74 + def recorded_map(closing: T.unsafe(nil)); end + + # Records the lines the block executed as covered by `test_id`'s context + # (the test itself at :test granularity, its file at :file). A failing + # test's lines are still attributed when its segment closes. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:54 + def track(test_id); end + + private + + # Same-thread reentrancy is fine, since a line the inner test executed was + # executed on the outer test's watch too, but a second thread means + # concurrent tests and `Coverage`'s counters are process-global: their + # deltas cannot be told apart, so recording shuts off rather than + # misattribute. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:88 + def begin_track(id); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:132 + def close_segment(closing); end + + # An id with no `:line` tail (an exotic runner's fallback) stays whole. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:145 + def context_id(test_id); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:137 + def flush_segment(closing); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:97 + def note_entry; end + + # Peeking is the dominant cost of tracking (the copy covers every file the + # process loaded, branch and method tables included), so recording settles + # at segment boundaries: consecutive tracks with one context id share one + # open segment and pay nothing in between. In-root code that runs between + # two segments is attributed to the later one, the documented price. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:124 + def open_segment(id); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:152 + def poison; end + + # A nested track records immediately against its own opening peek; an + # outermost one leaves its segment open for the next boundary. The owner + # needs no clearing: the next track to find the depth back at zero takes + # ownership itself. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:113 + def settle(id, nested_opening); end + + class << self + # A method defined in C or through an eval without a filename has no site, + # and a runner exotic enough to name a method it never defined deserves + # an id over an exception out of the middle of its run. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:114 + def definition_site(test); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:9 + def install_framework_hooks; end + + # Called by the minitest plugin under minitest 5, and by the constant + # watch below under minitest 6, whose autorun no longer discovers + # plugins. Prepending a module already in the chain is a no-op, which is + # the whole of the idempotence. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:52 + def install_minitest_hook(test_case = T.unsafe(nil)); end + + # Installs the Minitest wrapper now when Minitest is already loaded, and + # otherwise the moment `Minitest::Test` is defined. The deferred half is + # what covers minitest 6 under the canonical helper ordering (SimpleCov + # first, so coverage sees the app load; minitest after), where no plugin + # ever fires. `root` is Object outside of tests. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:63 + def install_minitest_hook_when_loaded(root = T.unsafe(nil)); end + + # Wraps every RSpec example in a `track_test` call. Called from + # `SimpleCov.start_tracking`, where RSpec is already loaded when the suite + # is an RSpec suite. Installs once per process no matter how often + # tracking is restarted. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:18 + def install_rspec_hook(rspec = T.unsafe(nil)); end + + # The constant when it is genuinely loaded, nil when absent or merely + # declared for autoload: const_get would force such a load, and installing + # a coverage hook must never be what requires a test framework. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:94 + def loaded_const(mod, name); end + + # A Minitest test's identity: the `path:line` where the test method is + # defined, relative to `SimpleCov.root`. Falls back to + # `ClassName#method_name` when the method has no source location. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:104 + def minitest_test_id(test); end + + # @api private -- test seam, so specs can exercise installation repeatedly + # without touching the process-wide guard for real. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:44 + def reset_rspec_hook!; end + + # Relative the way RSpec prints it (`./spec/a_spec.rb:12` becomes + # `spec/a_spec.rb:12`). + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:78 + def rspec_example_id(example); end + + # The RSpec this process has, if it has one. A Minitest-only suite has + # none, and no example can make this process into one: hiding the RSpec + # constant takes down the very runner asking the question. + # simplecov:disable branch — the RSpec-less arm is unreachable from an RSpec-driven suite + # mutant:disable + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:37 + def rspec_module; end + + # An autoload declaration fires `const_added` without the module existing + # yet; that arrangement is left to the plugin, so nil means nothing to + # watch. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:85 + def watch_for_minitest_test(minitest); end + end +end + +# pkg:gem/simplecov#lib/simplecov/test_tracker/accessors.rb:5 +module SimpleCov::TestTracker::Accessors + # @api private. Reuses the tracker across repeated `start` calls for the same + # reason `Coverage` keeps counting across them: restarting must not lose what + # the process already recorded. The framework hooks are only wired up on the + # first. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/accessors.rb:25 + def start_test_tracking; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker/accessors.rb:17 + def test_tracker; end + + # Records the block's coverage delta as covered by `test_id`, returning the + # block's value. This is the seam test frameworks hang per-test tracking on. A + # no-op, with the block still running, unless `track_tests` is enabled and + # tracking has started, so callers never guard it. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/accessors.rb:10 + def track_test(test_id, &); end +end + +# A one-shot watch that runs a callback the moment a constant of a given name +# is defined under a host module, via Ruby's `Module#const_added`. +# `TestTracker` uses it to install the Minitest wrapper in the ordering +# minitest 6 abandoned plugins for: SimpleCov starts first, as coverage must +# to see the app load, and minitest is required later, so nothing of +# minitest's exists yet to hook into. +# +# Each watch is its own Module so it can be prepended to the host's singleton +# class and compose with any `const_added` the host already has. A prepend +# cannot be removed, so after firing the watch stays in place as a name +# comparison per constant definition, which is as close to free as Ruby gets. +# +# pkg:gem/simplecov#lib/simplecov/test_tracker/constant_watch.rb:16 +class SimpleCov::TestTracker::ConstantWatch < ::Module + # No `super`: it would forward the implicit block even given explicit + # arguments, and `Module#initialize` module_evals any block it gets. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/constant_watch.rb:19 + def initialize(name, &on_added); end + + # `host.const_added` runs with the host as self, so reaching this watch's + # state takes the closure. At runtime the `super` inside is the host's next + # `const_added`; Steep resolves a define_method block's super against the + # lexically enclosing method instead. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/constant_watch.rb:33 + def attach(host); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker/constant_watch.rb:38 + def notice(added); end +end + +# The peek-diff arithmetic behind the tracker: which in-root lines grew +# between two coverage snapshots. This is the part a native +# `Coverage.supported?(:contexts)` engine would replace outright. +# +# pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:8 +class SimpleCov::TestTracker::Delta + # pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:9 + def initialize(root_regex:); end + + # Files outside the root are skipped; a file absent from `before` was loaded + # by the test itself, so everything it executed is the test's. The root match + # is memoized, so the regex runs once per file the process ever loads rather + # than once per file per test. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:18 + def call(before, after); end + + private + + # `previous` is nil both for a non-executable line, whose count is nil too, + # and for a file the test itself loaded, where every executed line is the + # test's. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:64 + def grew?(count, previous); end + + # The equality check is the overwhelmingly common case, the test never + # entering this file: an Array compare is fast C, the per-line loop is not. + # + # The bitmap is built as a binary string in one pass, so the + # arbitrary-precision math happens once per file rather than one bignum OR + # per executed line. The string reads lowest line first and the number wants + # it the other way round; the leading zero keeps the parse valid for an + # all-zero delta without changing any value. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:50 + def line_delta(before_lines, after_lines); end + + # A peek's per-file data is a criteria Hash when Coverage was started with a + # criteria hash, and a bare Array under the older lines-only form. No lines + # at all, from a branch-only or method-only start, means nothing to diff. + # + # pkg:gem/simplecov#lib/simplecov/test_tracker/delta.rb:35 + def lines_in(file_coverage); end +end + +# Prepended to `Minitest::Test` by `install_minitest_hook`, wrapping each +# test method run, setup and teardown included: a line only a setup block +# reaches is still this test's line. +# +# pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:124 +module SimpleCov::TestTracker::MinitestRun + # pkg:gem/simplecov#lib/simplecov/test_tracker/framework_hooks.rb:125 + def run; end +end + +# The context id everything since the last boundary belongs to, and the +# peek that boundary took. +# +# pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 +class SimpleCov::TestTracker::Segment < ::Struct + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def id; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def id=(_); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def opening; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def opening=(_); end + + class << self + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def [](*_arg0); end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def inspect; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def keyword_init?; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def members; end + + # pkg:gem/simplecov#lib/simplecov/test_tracker.rb:30 + def new(*_arg0); end + end +end + +# Fills in coverage for files that were tracked but never loaded, so they +# count toward the denominators instead of being absent from the report. +# This is the mechanism; the merge-time policy of when to inject lives in +# `ResultMerger::UnloadedFiles`. +# +# Everything arrives as arguments rather than being read from the SimpleCov +# singleton, because the merge performs this injection on behalf of +# processes whose configuration it does not necessarily share (#1250). +# +# pkg:gem/simplecov#lib/simplecov/unloaded_file_injector.rb:14 +module SimpleCov::UnloadedFileInjector + extend ::SimpleCov::UnloadedFileInjector + + # Paths already present are left alone, whoever put them there, which is + # what lets this run over resultsets a previous SimpleCov already injected + # into without double-counting or overwriting real data. + # + # pkg:gem/simplecov#lib/simplecov/unloaded_file_injector.rb:48 + def call(coverage, paths, synthesize:, lines:); end + + # Globs expand relative to `root` rather than `Dir.pwd`: runners that chdir + # would otherwise silently miss files and produce a different set per + # environment (#1106). + # + # `reject:` are the producing process's path-decidable filters. Paths its + # own report would exclude must not be recorded as tracked, or a merge that + # does not share the configuration would simulate them back in. A block + # filter is handed the source file and may consult coverage that does not + # exist yet, so those still fall to the merging process's filter chain. + # + # pkg:gem/simplecov#lib/simplecov/unloaded_file_injector.rb:26 + def discover(globs, root:, reject: T.unsafe(nil)); end + + # pkg:gem/simplecov#lib/simplecov/unloaded_file_injector.rb:36 + def rejected?(path, filters); end +end + +# pkg:gem/simplecov#lib/simplecov/unloaded_file_injector.rb:42 +SimpleCov::UnloadedFileInjector::NO_COVERAGE_YET = T.let(T.unsafe(nil), Hash) + +# Drops coverage entries whose paths live outside `SimpleCov.root`, so vendored +# gems, stdlib files, and anything else touched during the run never make it +# into the formatted result. +# +# pkg:gem/simplecov#lib/simplecov/useless_results_remover.rb:7 +module SimpleCov::UselessResultsRemover + class << self + # pkg:gem/simplecov#lib/simplecov/useless_results_remover.rb:8 + def call(coverage_result); end + + # The `/i` flag covers case-insensitive matches on Windows and macOS-HFS+, + # where the on-disk path's case can differ from `SimpleCov.root`'s. + # + # pkg:gem/simplecov#lib/simplecov/useless_results_remover.rb:14 + def root_regex; end + + # pkg:gem/simplecov#lib/simplecov/useless_results_remover.rb:22 + def root_regx; end + end +end + +# pkg:gem/simplecov#lib/simplecov/version.rb:4 +SimpleCov::VERSION = T.let(T.unsafe(nil), String) + +# Brings ActionView templates into the report, for projects that opt in with +# `cover_views`. +# +# Rendering a template is already enough to measure it: ActionView compiles +# each one with `module_eval(source, identifier, offset)` where `identifier` +# is the template's own path, and the offset cancels the `def` line its +# wrapper adds, so eval coverage attributes the generated code back to the +# `.erb` file at its own line numbers. +# +# A template no test renders is never compiled, so `Coverage` never hears +# about it and the report omits it entirely. That is the flattering +# direction to be wrong in, so every template the run didn't reach is +# compiled here instead, which lands it in the report at 0%. +# +# pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:4 +module SimpleCov::ViewCoverage + extend ::SimpleCov::ViewCoverage + + # Called once per process, immediately before `Coverage.result`. It has to + # happen here rather than at the merge point, where unloaded `.rb` files are + # injected, because compiling a template needs ActionView and the merging + # process need not have it loaded. A standalone `simplecov merge` never + # does. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage.rb:27 + def compile_unrendered; end + + # Expanded against `SimpleCov.root` rather than the working directory, and + # filtered through the same path-only filters the rest of the report honors, + # so `skip "app/views/admin"` keeps those templates out instead of compiling + # them only to drop them later. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage.rb:43 + def discover; end + + # pkg:gem/simplecov#lib/simplecov/view_coverage.rb:35 + def enabled?; end + + # The files `Coverage` is already holding data for, which for a template + # means the run rendered it. `peek_result` copies the whole coverage state + # to answer, so this stays a once-per-process call. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage.rb:51 + def measured_paths; end +end + +# Compiles a single ActionView template: builds a `Template` for the file on +# disk and defines its method into a throwaway module, without ever +# rendering it. +# +# Defining the method is the whole trick. `Template#compile` hands the +# handler's generated Ruby to `module_eval(source, identifier, offset)`, +# and evaluating a `def` records the body as executable-but-unexecuted +# rather than running it, so `Coverage` comes away with a zeroed line array +# and a full set of branch tuples for the template. +# +# Never compile a template the suite already rendered. Evaluating the same +# identifier a second time replaces that file's entry in `Coverage` rather +# than adding to it, so the recompile would zero the hits the run actually +# earned and leave a duplicate set of branch tuples behind. `ViewCoverage` +# filters those out before calling here. +# +# pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:22 +module SimpleCov::ViewCoverage::TemplateCompiler + extend ::SimpleCov::ViewCoverage::TemplateCompiler + + # False in any project that doesn't load ActionView, which is the common + # case and not an error: view coverage simply has nothing to do there. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:27 + def available?; end + + # Nil when nothing is registered for the extension, which is how a default + # glob naming `.haml` behaves in a project that has no Haml. + # `handler_for_extension` is not that lookup: it falls back to the raw + # handler, and the template would report as static text. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:71 + def build_template(path, source); end + + # Answers whether the compile produced coverage data. A template that + # doesn't compile can't render either, so the suite has bigger problems + # than its coverage, but the report is not the place to discover that and + # a broken view must not take the whole run down. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:35 + def call(path); end + + # ActionView keeps `compile` private, and the module it compiles into is + # thrown away: what is wanted is the coverage the compile records, not the + # method it defines. + # + # mutant:disable -- `send` and `__send__` are the same call. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:51 + def compile_into_throwaway_module(template); end + + # The format the template renders, taken from the extension in front of the + # handler's: `show.html.erb` is `:html`. It reaches the handler's codegen + # (an HTML template escapes interpolations, a text one does not), but + # never the line structure, so a template named without one compiles fine + # as nil. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:60 + def format_for(path); end + + # Rails main removed `Template.registered_template_handler` when the + # registry moved onto `Template::Handlers`. Read that hash directly so an + # unregistered extension stays nil. Older Rails still have the method. + # + # pkg:gem/simplecov#lib/simplecov/view_coverage/template_compiler.rb:83 + def handler_for(extension); end +end diff --git a/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi b/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi deleted file mode 100644 index 62132531..00000000 --- a/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +++ /dev/null @@ -1,9 +0,0 @@ -# typed: true - -# DO NOT EDIT MANUALLY -# This is an autogenerated file for types exported from the `simplecov_json_formatter` gem. -# Please instead update this file by running `bin/tapioca gem simplecov_json_formatter`. - - -# THIS IS AN EMPTY RBI FILE. -# see https://github.com/Shopify/tapioca#manually-requiring-parts-of-a-gem diff --git a/test/test_helper.rb b/test/test_helper.rb index 7b503913..77b9d1be 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -17,7 +17,7 @@ coverage_dir "./coverage" command_name "test" - add_filter "test/" + skip "test/" enable_coverage :branch primary_coverage :branch @@ -91,9 +91,6 @@ def self.eager_load_frameworks [:password, :token, :secret, :key, :access, :auth, :credentials], T::Array[Symbol] ) - - # Fix Rails 8.1 deprecation warning for to_time timezone preservation - config.active_support.to_time_preserves_timezone = :zone end # Initialize the application - Railtie initializers will run now