Merge pull request #16510 from dduugg/inverse-include-exclude-cop
Vendor remaining Rails cops, remove ActiveSupport
This commit is contained in:
commit
3a27cac7df
6
.gitignore
vendored
6
.gitignore
vendored
@ -70,7 +70,6 @@
|
|||||||
**/vendor/gems/mechanize-*/test/
|
**/vendor/gems/mechanize-*/test/
|
||||||
|
|
||||||
# Ignore dependencies we don't wish to vendor
|
# Ignore dependencies we don't wish to vendor
|
||||||
**/vendor/bundle/ruby/*/gems/activesupport-*/
|
|
||||||
**/vendor/bundle/ruby/*/gems/ast-*/
|
**/vendor/bundle/ruby/*/gems/ast-*/
|
||||||
**/vendor/bundle/ruby/*/gems/bootsnap-*/
|
**/vendor/bundle/ruby/*/gems/bootsnap-*/
|
||||||
**/vendor/bundle/ruby/*/gems/bundler-*/
|
**/vendor/bundle/ruby/*/gems/bundler-*/
|
||||||
@ -78,7 +77,6 @@
|
|||||||
**/vendor/bundle/ruby/*/gems/coderay-*/
|
**/vendor/bundle/ruby/*/gems/coderay-*/
|
||||||
**/vendor/bundle/ruby/*/gems/colorize-*/
|
**/vendor/bundle/ruby/*/gems/colorize-*/
|
||||||
**/vendor/bundle/ruby/*/gems/commander-*/
|
**/vendor/bundle/ruby/*/gems/commander-*/
|
||||||
**/vendor/bundle/ruby/*/gems/concurrent-ruby-*/
|
|
||||||
**/vendor/bundle/ruby/*/gems/diff-lcs-*/
|
**/vendor/bundle/ruby/*/gems/diff-lcs-*/
|
||||||
**/vendor/bundle/ruby/*/gems/docile-*/
|
**/vendor/bundle/ruby/*/gems/docile-*/
|
||||||
**/vendor/bundle/ruby/*/gems/ecma-re-validator-*/
|
**/vendor/bundle/ruby/*/gems/ecma-re-validator-*/
|
||||||
@ -86,7 +84,6 @@
|
|||||||
**/vendor/bundle/ruby/*/gems/hana-*/
|
**/vendor/bundle/ruby/*/gems/hana-*/
|
||||||
**/vendor/bundle/ruby/*/gems/highline-*/
|
**/vendor/bundle/ruby/*/gems/highline-*/
|
||||||
**/vendor/bundle/ruby/*/gems/hpricot-*/
|
**/vendor/bundle/ruby/*/gems/hpricot-*/
|
||||||
**/vendor/bundle/ruby/*/gems/i18n-*/
|
|
||||||
**/vendor/bundle/ruby/*/gems/jaro_winkler-*/
|
**/vendor/bundle/ruby/*/gems/jaro_winkler-*/
|
||||||
**/vendor/bundle/ruby/*/gems/json-*/
|
**/vendor/bundle/ruby/*/gems/json-*/
|
||||||
**/vendor/bundle/ruby/*/gems/json_schemer-*/
|
**/vendor/bundle/ruby/*/gems/json_schemer-*/
|
||||||
@ -108,7 +105,6 @@
|
|||||||
**/vendor/bundle/ruby/*/gems/psych-*/
|
**/vendor/bundle/ruby/*/gems/psych-*/
|
||||||
**/vendor/bundle/ruby/*/gems/pry-*/
|
**/vendor/bundle/ruby/*/gems/pry-*/
|
||||||
**/vendor/bundle/ruby/*/gems/racc-*/
|
**/vendor/bundle/ruby/*/gems/racc-*/
|
||||||
**/vendor/bundle/ruby/*/gems/rack-*/
|
|
||||||
**/vendor/bundle/ruby/*/gems/rainbow-*/
|
**/vendor/bundle/ruby/*/gems/rainbow-*/
|
||||||
**/vendor/bundle/ruby/*/gems/rbi-*/
|
**/vendor/bundle/ruby/*/gems/rbi-*/
|
||||||
**/vendor/bundle/ruby/*/gems/rdiscount-*/
|
**/vendor/bundle/ruby/*/gems/rdiscount-*/
|
||||||
@ -140,7 +136,6 @@
|
|||||||
**/vendor/bundle/ruby/*/gems/syntax_tree-*/
|
**/vendor/bundle/ruby/*/gems/syntax_tree-*/
|
||||||
**/vendor/bundle/ruby/*/gems/tapioca-*/
|
**/vendor/bundle/ruby/*/gems/tapioca-*/
|
||||||
**/vendor/bundle/ruby/*/gems/thor-*/
|
**/vendor/bundle/ruby/*/gems/thor-*/
|
||||||
**/vendor/bundle/ruby/*/gems/tzinfo-*/
|
|
||||||
**/vendor/bundle/ruby/*/gems/unf-*/
|
**/vendor/bundle/ruby/*/gems/unf-*/
|
||||||
**/vendor/bundle/ruby/*/gems/unf_ext-*/
|
**/vendor/bundle/ruby/*/gems/unf_ext-*/
|
||||||
**/vendor/bundle/ruby/*/gems/unicode-display_width-*/
|
**/vendor/bundle/ruby/*/gems/unicode-display_width-*/
|
||||||
@ -149,7 +144,6 @@
|
|||||||
**/vendor/bundle/ruby/*/gems/webrobots-*/
|
**/vendor/bundle/ruby/*/gems/webrobots-*/
|
||||||
**/vendor/bundle/ruby/*/gems/yard-*/
|
**/vendor/bundle/ruby/*/gems/yard-*/
|
||||||
**/vendor/bundle/ruby/*/gems/yard-sorbet-*/
|
**/vendor/bundle/ruby/*/gems/yard-sorbet-*/
|
||||||
**/vendor/bundle/ruby/*/gems/zeitwerk-*/
|
|
||||||
**/vendor/cache/
|
**/vendor/cache/
|
||||||
**/vendor/specifications/
|
**/vendor/specifications/
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
require:
|
require:
|
||||||
- ./Homebrew/rubocops.rb
|
- ./Homebrew/rubocops.rb
|
||||||
- rubocop-performance
|
- rubocop-performance
|
||||||
- rubocop-rails
|
|
||||||
- rubocop-rspec
|
- rubocop-rspec
|
||||||
- rubocop-sorbet
|
- rubocop-sorbet
|
||||||
|
|
||||||
@ -13,7 +12,6 @@ inherit_mode:
|
|||||||
|
|
||||||
AllCops:
|
AllCops:
|
||||||
TargetRubyVersion: 3.1
|
TargetRubyVersion: 3.1
|
||||||
ActiveSupportExtensionsEnabled: true
|
|
||||||
NewCops: enable
|
NewCops: enable
|
||||||
Include:
|
Include:
|
||||||
- "**/*.rbi"
|
- "**/*.rbi"
|
||||||
@ -51,10 +49,26 @@ FormulaAuditStrict:
|
|||||||
Homebrew:
|
Homebrew:
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
|
||||||
|
Homebrew/Blank:
|
||||||
|
Exclude:
|
||||||
|
# Core extensions are not available here:
|
||||||
|
- "Homebrew/startup/bootsnap.rb"
|
||||||
|
|
||||||
|
Homebrew/CompactBlank:
|
||||||
|
Exclude:
|
||||||
|
# `blank?` is not necessarily available here:
|
||||||
|
- "Homebrew/extend/enumerable.rb"
|
||||||
|
|
||||||
# only used internally
|
# only used internally
|
||||||
Homebrew/MoveToExtendOS:
|
Homebrew/MoveToExtendOS:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
|
Homebrew/NegateInclude:
|
||||||
|
Exclude:
|
||||||
|
# `exclude?` is not available here:
|
||||||
|
- "Homebrew/standalone/init.rb"
|
||||||
|
- "Homebrew/rubocops/**/*"
|
||||||
|
|
||||||
# `system` is a special case and aligns on second argument, so allow this for formulae.
|
# `system` is a special case and aligns on second argument, so allow this for formulae.
|
||||||
Layout/ArgumentAlignment:
|
Layout/ArgumentAlignment:
|
||||||
Exclude:
|
Exclude:
|
||||||
@ -200,32 +214,6 @@ Performance/CaseWhenSplat:
|
|||||||
Performance/MethodObjectAsBlock:
|
Performance/MethodObjectAsBlock:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
Rails:
|
|
||||||
# Selectively enable what we want.
|
|
||||||
Enabled: false
|
|
||||||
Exclude:
|
|
||||||
# This file is loaded before any extra methods are defined.
|
|
||||||
- "Homebrew/standalone/init.rb"
|
|
||||||
# Do not use ActiveSupport in RuboCops.
|
|
||||||
- "Homebrew/rubocops/**/*"
|
|
||||||
|
|
||||||
# These relate to ActiveSupport and not other parts of Rails.
|
|
||||||
Rails/Blank:
|
|
||||||
Enabled: true
|
|
||||||
Rails/CompactBlank:
|
|
||||||
Enabled: true
|
|
||||||
Rails/NegateInclude:
|
|
||||||
Enabled: true
|
|
||||||
Rails/Presence:
|
|
||||||
Enabled: true
|
|
||||||
Rails/Present:
|
|
||||||
Enabled: true
|
|
||||||
Exclude:
|
|
||||||
# `present?` is defined as `!blank?` wihin this file
|
|
||||||
- "Homebrew/extend/blank.rb"
|
|
||||||
Rails/SafeNavigationWithBlank:
|
|
||||||
Enabled: true
|
|
||||||
|
|
||||||
# Intentionally disabled as it doesn't fit with our code style.
|
# Intentionally disabled as it doesn't fit with our code style.
|
||||||
RSpec/AnyInstance:
|
RSpec/AnyInstance:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
@ -355,6 +343,10 @@ Style/HashAsLastArrayItem:
|
|||||||
- "/**/Formula/**/*.rb"
|
- "/**/Formula/**/*.rb"
|
||||||
- "**/Formula/**/*.rb"
|
- "**/Formula/**/*.rb"
|
||||||
|
|
||||||
|
Style/InverseMethods:
|
||||||
|
InverseMethods:
|
||||||
|
:blank?: :present?
|
||||||
|
|
||||||
Style/InvertibleUnlessCondition:
|
Style/InvertibleUnlessCondition:
|
||||||
Enabled: true
|
Enabled: true
|
||||||
InverseMethods:
|
InverseMethods:
|
||||||
@ -362,8 +354,7 @@ Style/InvertibleUnlessCondition:
|
|||||||
:==: :!=
|
:==: :!=
|
||||||
# Unset this (prefer `unless a.zero?` over `if a.nonzero?`)
|
# Unset this (prefer `unless a.zero?` over `if a.nonzero?`)
|
||||||
:zero?:
|
:zero?:
|
||||||
# Don't require non-standard `exclude?` (for now at least) - it's not available in every file
|
:blank?: :present?
|
||||||
:include?:
|
|
||||||
|
|
||||||
Style/MutableConstant:
|
Style/MutableConstant:
|
||||||
# would rather freeze too much than too little
|
# would rather freeze too much than too little
|
||||||
|
|||||||
@ -43,7 +43,6 @@ end
|
|||||||
group :style, optional: true do
|
group :style, optional: true do
|
||||||
gem "rubocop", require: false
|
gem "rubocop", require: false
|
||||||
gem "rubocop-performance", require: false
|
gem "rubocop-performance", require: false
|
||||||
gem "rubocop-rails", require: false
|
|
||||||
gem "rubocop-rspec", require: false
|
gem "rubocop-rspec", require: false
|
||||||
gem "rubocop-sorbet", require: false
|
gem "rubocop-sorbet", require: false
|
||||||
end
|
end
|
||||||
@ -72,7 +71,6 @@ group :audit, :bump_unversioned_casks, :livecheck, optional: true do
|
|||||||
end
|
end
|
||||||
|
|
||||||
# vendored gems (no group)
|
# vendored gems (no group)
|
||||||
gem "activesupport", "<7" # we're actively working to remove this: https://github.com/Homebrew/brew/issues/16190
|
|
||||||
gem "addressable"
|
gem "addressable"
|
||||||
gem "patchelf"
|
gem "patchelf"
|
||||||
gem "plist"
|
gem "plist"
|
||||||
|
|||||||
@ -1,12 +1,6 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
activesupport (6.1.7.6)
|
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
||||||
i18n (>= 1.6, < 2)
|
|
||||||
minitest (>= 5.1)
|
|
||||||
tzinfo (~> 2.0)
|
|
||||||
zeitwerk (~> 2.3)
|
|
||||||
addressable (2.8.6)
|
addressable (2.8.6)
|
||||||
public_suffix (>= 2.0.2, < 6.0)
|
public_suffix (>= 2.0.2, < 6.0)
|
||||||
ast (2.4.2)
|
ast (2.4.2)
|
||||||
@ -17,7 +11,6 @@ GEM
|
|||||||
coderay (1.1.3)
|
coderay (1.1.3)
|
||||||
commander (4.6.0)
|
commander (4.6.0)
|
||||||
highline (~> 2.0.0)
|
highline (~> 2.0.0)
|
||||||
concurrent-ruby (1.2.3)
|
|
||||||
diff-lcs (1.5.0)
|
diff-lcs (1.5.0)
|
||||||
docile (1.4.0)
|
docile (1.4.0)
|
||||||
elftools (1.2.0)
|
elftools (1.2.0)
|
||||||
@ -26,8 +19,6 @@ GEM
|
|||||||
hana (1.3.7)
|
hana (1.3.7)
|
||||||
highline (2.0.3)
|
highline (2.0.3)
|
||||||
hpricot (0.8.6)
|
hpricot (0.8.6)
|
||||||
i18n (1.14.1)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
json (2.7.1)
|
json (2.7.1)
|
||||||
json_schemer (2.1.1)
|
json_schemer (2.1.1)
|
||||||
hana (~> 1.3)
|
hana (~> 1.3)
|
||||||
@ -60,7 +51,6 @@ GEM
|
|||||||
method_source (~> 1.0)
|
method_source (~> 1.0)
|
||||||
public_suffix (5.0.4)
|
public_suffix (5.0.4)
|
||||||
racc (1.7.3)
|
racc (1.7.3)
|
||||||
rack (3.0.8)
|
|
||||||
rainbow (3.1.1)
|
rainbow (3.1.1)
|
||||||
rbi (0.1.6)
|
rbi (0.1.6)
|
||||||
prism (>= 0.18.0, < 0.20)
|
prism (>= 0.18.0, < 0.20)
|
||||||
@ -116,11 +106,6 @@ GEM
|
|||||||
rubocop-performance (1.20.2)
|
rubocop-performance (1.20.2)
|
||||||
rubocop (>= 1.48.1, < 2.0)
|
rubocop (>= 1.48.1, < 2.0)
|
||||||
rubocop-ast (>= 1.30.0, < 2.0)
|
rubocop-ast (>= 1.30.0, < 2.0)
|
||||||
rubocop-rails (2.23.1)
|
|
||||||
activesupport (>= 4.2.0)
|
|
||||||
rack (>= 1.1)
|
|
||||||
rubocop (>= 1.33.0, < 2.0)
|
|
||||||
rubocop-ast (>= 1.30.0, < 2.0)
|
|
||||||
rubocop-rspec (2.26.1)
|
rubocop-rspec (2.26.1)
|
||||||
rubocop (~> 1.40)
|
rubocop (~> 1.40)
|
||||||
rubocop-capybara (~> 2.17)
|
rubocop-capybara (~> 2.17)
|
||||||
@ -167,8 +152,6 @@ GEM
|
|||||||
thor (>= 1.2.0)
|
thor (>= 1.2.0)
|
||||||
yard-sorbet
|
yard-sorbet
|
||||||
thor (1.3.0)
|
thor (1.3.0)
|
||||||
tzinfo (2.0.6)
|
|
||||||
concurrent-ruby (~> 1.0)
|
|
||||||
unf (0.1.4)
|
unf (0.1.4)
|
||||||
unf_ext
|
unf_ext
|
||||||
unf_ext (0.0.9.1)
|
unf_ext (0.0.9.1)
|
||||||
@ -178,7 +161,6 @@ GEM
|
|||||||
yard-sorbet (0.8.1)
|
yard-sorbet (0.8.1)
|
||||||
sorbet-runtime (>= 0.5)
|
sorbet-runtime (>= 0.5)
|
||||||
yard (>= 0.9)
|
yard (>= 0.9)
|
||||||
zeitwerk (2.6.12)
|
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
aarch64-linux
|
aarch64-linux
|
||||||
@ -188,7 +170,6 @@ PLATFORMS
|
|||||||
x86_64-linux
|
x86_64-linux
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
activesupport (< 7)
|
|
||||||
addressable
|
addressable
|
||||||
bootsnap
|
bootsnap
|
||||||
byebug
|
byebug
|
||||||
@ -210,7 +191,6 @@ DEPENDENCIES
|
|||||||
rubocop
|
rubocop
|
||||||
rubocop-ast
|
rubocop-ast
|
||||||
rubocop-performance
|
rubocop-performance
|
||||||
rubocop-rails
|
|
||||||
rubocop-rspec
|
rubocop-rspec
|
||||||
rubocop-sorbet
|
rubocop-sorbet
|
||||||
ruby-macho
|
ruby-macho
|
||||||
|
|||||||
@ -155,7 +155,7 @@ module Cask
|
|||||||
end
|
end
|
||||||
|
|
||||||
def to_args
|
def to_args
|
||||||
@dsl_args.reject(&:blank?)
|
@dsl_args.compact_blank
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -19,9 +19,7 @@ class Object
|
|||||||
|
|
||||||
# An object is present if it's not blank.
|
# An object is present if it's not blank.
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def present?
|
def present? = !blank?
|
||||||
!blank?
|
|
||||||
end
|
|
||||||
|
|
||||||
# Returns the receiver if it's present otherwise returns +nil+.
|
# Returns the receiver if it's present otherwise returns +nil+.
|
||||||
# <tt>object.presence</tt> is equivalent to
|
# <tt>object.presence</tt> is equivalent to
|
||||||
@ -48,14 +46,10 @@ class NilClass
|
|||||||
#
|
#
|
||||||
# nil.blank? # => true
|
# nil.blank? # => true
|
||||||
sig { returns(TrueClass) }
|
sig { returns(TrueClass) }
|
||||||
def blank?
|
def blank? = true
|
||||||
true
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(FalseClass) }
|
sig { returns(FalseClass) }
|
||||||
def present? # :nodoc:
|
def present? = false # :nodoc:
|
||||||
false
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class FalseClass
|
class FalseClass
|
||||||
@ -63,14 +57,10 @@ class FalseClass
|
|||||||
#
|
#
|
||||||
# false.blank? # => true
|
# false.blank? # => true
|
||||||
sig { returns(TrueClass) }
|
sig { returns(TrueClass) }
|
||||||
def blank?
|
def blank? = true
|
||||||
true
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(FalseClass) }
|
sig { returns(FalseClass) }
|
||||||
def present? # :nodoc:
|
def present? = false # :nodoc:
|
||||||
false
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class TrueClass
|
class TrueClass
|
||||||
@ -78,14 +68,10 @@ class TrueClass
|
|||||||
#
|
#
|
||||||
# true.blank? # => false
|
# true.blank? # => false
|
||||||
sig { returns(FalseClass) }
|
sig { returns(FalseClass) }
|
||||||
def blank?
|
def blank? = false
|
||||||
false
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(TrueClass) }
|
sig { returns(TrueClass) }
|
||||||
def present? # :nodoc:
|
def present? = true # :nodoc:
|
||||||
true
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Array
|
class Array
|
||||||
@ -98,9 +84,7 @@ class Array
|
|||||||
alias blank? empty?
|
alias blank? empty?
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def present? # :nodoc:
|
def present? = !empty? # :nodoc:
|
||||||
!empty?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Hash
|
class Hash
|
||||||
@ -113,9 +97,7 @@ class Hash
|
|||||||
alias blank? empty?
|
alias blank? empty?
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def present? # :nodoc:
|
def present? = !empty? # :nodoc:
|
||||||
!empty?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Symbol
|
class Symbol
|
||||||
@ -126,9 +108,7 @@ class Symbol
|
|||||||
alias blank? empty?
|
alias blank? empty?
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def present? # :nodoc:
|
def present? = !empty? # :nodoc:
|
||||||
!empty?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class String
|
class String
|
||||||
@ -164,9 +144,7 @@ class String
|
|||||||
end
|
end
|
||||||
|
|
||||||
sig { returns(T::Boolean) }
|
sig { returns(T::Boolean) }
|
||||||
def present? # :nodoc:
|
def present? = !blank? # :nodoc:
|
||||||
!blank?
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Numeric # :nodoc:
|
class Numeric # :nodoc:
|
||||||
@ -175,14 +153,10 @@ class Numeric # :nodoc:
|
|||||||
# 1.blank? # => false
|
# 1.blank? # => false
|
||||||
# 0.blank? # => false
|
# 0.blank? # => false
|
||||||
sig { returns(FalseClass) }
|
sig { returns(FalseClass) }
|
||||||
def blank?
|
def blank? = false
|
||||||
false
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(TrueClass) }
|
sig { returns(TrueClass) }
|
||||||
def present?
|
def present? = true
|
||||||
true
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class Time # :nodoc:
|
class Time # :nodoc:
|
||||||
@ -190,12 +164,8 @@ class Time # :nodoc:
|
|||||||
#
|
#
|
||||||
# Time.now.blank? # => false
|
# Time.now.blank? # => false
|
||||||
sig { returns(FalseClass) }
|
sig { returns(FalseClass) }
|
||||||
def blank?
|
def blank? = false
|
||||||
false
|
|
||||||
end
|
|
||||||
|
|
||||||
sig { returns(TrueClass) }
|
sig { returns(TrueClass) }
|
||||||
def present?
|
def present? = true
|
||||||
true
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -314,7 +314,7 @@ class GitHubPackages
|
|||||||
"org.opencontainers.image.url" => bottle_hash["formula"]["homepage"],
|
"org.opencontainers.image.url" => bottle_hash["formula"]["homepage"],
|
||||||
"org.opencontainers.image.vendor" => org,
|
"org.opencontainers.image.vendor" => org,
|
||||||
"org.opencontainers.image.version" => version,
|
"org.opencontainers.image.version" => version,
|
||||||
}.reject { |_, v| v.blank? }
|
}.compact_blank
|
||||||
manifests = []
|
manifests = []
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -369,7 +369,7 @@ class GitHubPackages
|
|||||||
architecture: architecture,
|
architecture: architecture,
|
||||||
os: os,
|
os: os,
|
||||||
"os.version" => os_version,
|
"os.version" => os_version,
|
||||||
}.reject { |_, v| v.blank? }
|
}.compact_blank
|
||||||
|
|
||||||
tar_sha256 = Digest::SHA256.new
|
tar_sha256 = Digest::SHA256.new
|
||||||
Zlib::GzipReader.open(local_file) do |gz|
|
Zlib::GzipReader.open(local_file) do |gz|
|
||||||
@ -391,7 +391,7 @@ class GitHubPackages
|
|||||||
"sh.brew.bottle.glibc.version" => glibc_version,
|
"sh.brew.bottle.glibc.version" => glibc_version,
|
||||||
"sh.brew.bottle.size" => local_file_size.to_s,
|
"sh.brew.bottle.size" => local_file_size.to_s,
|
||||||
"sh.brew.tab" => tab.to_json,
|
"sh.brew.tab" => tab.to_json,
|
||||||
}.reject { |_, v| v.blank? }
|
}.compact_blank
|
||||||
|
|
||||||
annotations_hash = formula_annotations_hash.merge(descriptor_annotations_hash).merge(
|
annotations_hash = formula_annotations_hash.merge(descriptor_annotations_hash).merge(
|
||||||
{
|
{
|
||||||
@ -399,7 +399,7 @@ class GitHubPackages
|
|||||||
"org.opencontainers.image.documentation" => documentation,
|
"org.opencontainers.image.documentation" => documentation,
|
||||||
"org.opencontainers.image.title" => "#{formula_full_name} #{tag}",
|
"org.opencontainers.image.title" => "#{formula_full_name} #{tag}",
|
||||||
},
|
},
|
||||||
).reject { |_, v| v.blank? }.sort.to_h
|
).compact_blank.sort.to_h
|
||||||
|
|
||||||
image_manifest = {
|
image_manifest = {
|
||||||
schemaVersion: 2,
|
schemaVersion: 2,
|
||||||
|
|||||||
@ -105,7 +105,7 @@ module Homebrew
|
|||||||
end
|
end
|
||||||
|
|
||||||
content = [content] unless content.is_a?(Array)
|
content = [content] unless content.is_a?(Array)
|
||||||
content.reject(&:blank?).map do |release|
|
content.compact_blank.map do |release|
|
||||||
next if release["draft"] || release["prerelease"]
|
next if release["draft"] || release["prerelease"]
|
||||||
|
|
||||||
value = T.let(nil, T.untyped)
|
value = T.let(nil, T.untyped)
|
||||||
|
|||||||
@ -2,8 +2,15 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative "../extend/array"
|
require_relative "../extend/array"
|
||||||
|
require_relative "../extend/blank"
|
||||||
|
require_relative "blank"
|
||||||
|
require_relative "compact_blank"
|
||||||
require_relative "io_read"
|
require_relative "io_read"
|
||||||
require_relative "move_to_extend_os"
|
require_relative "move_to_extend_os"
|
||||||
|
require_relative "negate_include"
|
||||||
|
require_relative "presence"
|
||||||
|
require_relative "present"
|
||||||
|
require_relative "safe_navigation_with_blank"
|
||||||
require_relative "shell_commands"
|
require_relative "shell_commands"
|
||||||
|
|
||||||
# formula audit cops
|
# formula audit cops
|
||||||
|
|||||||
73
Library/Homebrew/rubocops/blank.rb
Normal file
73
Library/Homebrew/rubocops/blank.rb
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Checks for code that can be written with simpler conditionals
|
||||||
|
# using `Object#blank?`.
|
||||||
|
#
|
||||||
|
# @note
|
||||||
|
# This cop is unsafe autocorrection, because `' '.empty?` returns false,
|
||||||
|
# but `' '.blank?` returns true. Therefore, autocorrection is not compatible
|
||||||
|
# if the receiver is a non-empty blank string, tab, or newline meta characters.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # Converts usages of `nil? || empty?` to `blank?`
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# foo.nil? || foo.empty?
|
||||||
|
# foo == nil || foo.empty?
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# foo.blank?
|
||||||
|
class Blank < Base
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG_NIL_OR_EMPTY = "Use `%<prefer>s` instead of `%<current>s`."
|
||||||
|
|
||||||
|
# `(send nil $_)` is not actually a valid match for an offense. Nodes
|
||||||
|
# that have a single method call on the left hand side
|
||||||
|
# (`bar || foo.empty?`) will blow up when checking
|
||||||
|
# `(send (:nil) :== $_)`.
|
||||||
|
def_node_matcher :nil_or_empty?, <<~PATTERN
|
||||||
|
(or
|
||||||
|
{
|
||||||
|
(send $_ :!)
|
||||||
|
(send $_ :nil?)
|
||||||
|
(send $_ :== nil)
|
||||||
|
(send nil :== $_)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
(send $_ :empty?)
|
||||||
|
(send (send (send $_ :empty?) :!) :!)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_or(node)
|
||||||
|
nil_or_empty?(node) do |var1, var2|
|
||||||
|
return if var1 != var2
|
||||||
|
|
||||||
|
message = format(MSG_NIL_OR_EMPTY, prefer: replacement(var1), current: node.source)
|
||||||
|
add_offense(node, message: message) do |corrector|
|
||||||
|
autocorrect(corrector, node)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def autocorrect(corrector, node)
|
||||||
|
variable1, _variable2 = nil_or_empty?(node)
|
||||||
|
range = node.source_range
|
||||||
|
corrector.replace(range, replacement(variable1))
|
||||||
|
end
|
||||||
|
|
||||||
|
def replacement(node)
|
||||||
|
node.respond_to?(:source) ? "#{node.source}.blank?" : "blank?"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
109
Library/Homebrew/rubocops/compact_blank.rb
Normal file
109
Library/Homebrew/rubocops/compact_blank.rb
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Checks if collection can be blank-compacted with `compact_blank`.
|
||||||
|
#
|
||||||
|
# @note
|
||||||
|
# It is unsafe by default because false positives may occur in the
|
||||||
|
# blank check of block arguments to the receiver object.
|
||||||
|
#
|
||||||
|
# For example, `[[1, 2], [3, nil]].reject { |first, second| second.blank? }` and
|
||||||
|
# `[[1, 2], [3, nil]].compact_blank` are not compatible. The same is true for `blank?`.
|
||||||
|
# This will work fine when the receiver is a hash object.
|
||||||
|
#
|
||||||
|
# And `compact_blank!` has different implementations for `Array`, `Hash`, and
|
||||||
|
# `ActionController::Parameters`.
|
||||||
|
# `Array#compact_blank!`, `Hash#compact_blank!` are equivalent to `delete_if(&:blank?)`.
|
||||||
|
# `ActionController::Parameters#compact_blank!` is equivalent to `reject!(&:blank?)`.
|
||||||
|
# If the cop makes a mistake, autocorrected code may get unexpected behavior.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# collection.reject(&:blank?)
|
||||||
|
# collection.reject { |_k, v| v.blank? }
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# collection.compact_blank
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# collection.delete_if(&:blank?) # Same behavior as `Array#compact_blank!` and `Hash#compact_blank!`
|
||||||
|
# collection.delete_if { |_, v| v.blank? } # Same behavior as `Array#compact_blank!` and `Hash#compact_blank!`
|
||||||
|
# collection.reject!(&:blank?) # Same behavior as `ActionController::Parameters#compact_blank!`
|
||||||
|
# collection.reject! { |_k, v| v.blank? } # Same behavior as `ActionController::Parameters#compact_blank!`
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# collection.compact_blank!
|
||||||
|
#
|
||||||
|
class CompactBlank < Base
|
||||||
|
include RangeHelp
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG = "Use `%<preferred_method>s` instead."
|
||||||
|
RESTRICT_ON_SEND = [:reject, :delete_if, :reject!].freeze
|
||||||
|
|
||||||
|
def_node_matcher :reject_with_block?, <<~PATTERN
|
||||||
|
(block
|
||||||
|
(send _ {:reject :delete_if :reject!})
|
||||||
|
$(args ...)
|
||||||
|
(send
|
||||||
|
$(lvar _) :blank?))
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def_node_matcher :reject_with_block_pass?, <<~PATTERN
|
||||||
|
(send _ {:reject :delete_if :reject!}
|
||||||
|
(block_pass
|
||||||
|
(sym :blank?)))
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_send(node)
|
||||||
|
return unless bad_method?(node)
|
||||||
|
|
||||||
|
range = offense_range(node)
|
||||||
|
preferred_method = preferred_method(node)
|
||||||
|
add_offense(range, message: format(MSG, preferred_method: preferred_method)) do |corrector|
|
||||||
|
corrector.replace(range, preferred_method)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def bad_method?(node)
|
||||||
|
return true if reject_with_block_pass?(node)
|
||||||
|
|
||||||
|
if (arguments, receiver_in_block = reject_with_block?(node.parent))
|
||||||
|
return use_single_value_block_argument?(arguments, receiver_in_block) ||
|
||||||
|
use_hash_value_block_argument?(arguments, receiver_in_block)
|
||||||
|
end
|
||||||
|
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
def use_single_value_block_argument?(arguments, receiver_in_block)
|
||||||
|
arguments.length == 1 && arguments[0].source == receiver_in_block.source
|
||||||
|
end
|
||||||
|
|
||||||
|
def use_hash_value_block_argument?(arguments, receiver_in_block)
|
||||||
|
arguments.length == 2 && arguments[1].source == receiver_in_block.source
|
||||||
|
end
|
||||||
|
|
||||||
|
def offense_range(node)
|
||||||
|
end_pos = if node.parent&.block_type? && node.parent&.send_node == node
|
||||||
|
node.parent.source_range.end_pos
|
||||||
|
else
|
||||||
|
node.source_range.end_pos
|
||||||
|
end
|
||||||
|
|
||||||
|
range_between(node.loc.selector.begin_pos, end_pos)
|
||||||
|
end
|
||||||
|
|
||||||
|
def preferred_method(node)
|
||||||
|
node.method?(:reject) ? "compact_blank" : "compact_blank!"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -75,7 +75,7 @@ module RuboCop
|
|||||||
ordered.each_with_index do |dep, pos|
|
ordered.each_with_index do |dep, pos|
|
||||||
idx = pos+1
|
idx = pos+1
|
||||||
match_nodes = build_with_dependency_name(dep)
|
match_nodes = build_with_dependency_name(dep)
|
||||||
next if !match_nodes || match_nodes.empty?
|
next if match_nodes.blank?
|
||||||
|
|
||||||
idx1 = pos
|
idx1 = pos
|
||||||
ordered.drop(idx1+1).each_with_index do |dep2, pos2|
|
ordered.drop(idx1+1).each_with_index do |dep2, pos2|
|
||||||
|
|||||||
43
Library/Homebrew/rubocops/negate_include.rb
Normal file
43
Library/Homebrew/rubocops/negate_include.rb
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Enforces the use of `collection.exclude?(obj)`
|
||||||
|
# over `!collection.include?(obj)`.
|
||||||
|
#
|
||||||
|
# @note
|
||||||
|
# This cop is unsafe because false positive will occur for
|
||||||
|
# receiver objects that do not have an `exclude?` method. (e.g. `IPAddr`)
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # bad
|
||||||
|
# !array.include?(2)
|
||||||
|
# !hash.include?(:key)
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# array.exclude?(2)
|
||||||
|
# hash.exclude?(:key)
|
||||||
|
#
|
||||||
|
class NegateInclude < Base
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG = "Use `.exclude?` and remove the negation part."
|
||||||
|
RESTRICT_ON_SEND = [:!].freeze
|
||||||
|
|
||||||
|
def_node_matcher :negate_include_call?, <<~PATTERN
|
||||||
|
(send (send $!nil? :include? $_) :!)
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_send(node)
|
||||||
|
return unless (receiver, obj = negate_include_call?(node))
|
||||||
|
|
||||||
|
add_offense(node) do |corrector|
|
||||||
|
corrector.replace(node, "#{receiver.source}.exclude?(#{obj.source})")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
153
Library/Homebrew/rubocops/presence.rb
Normal file
153
Library/Homebrew/rubocops/presence.rb
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Checks code that can be written more easily using
|
||||||
|
# `Object#presence` defined by Active Support.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # bad
|
||||||
|
# a.present? ? a : nil
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# !a.present? ? nil : a
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# a.blank? ? nil : a
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# !a.blank? ? a : nil
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# a.presence
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # bad
|
||||||
|
# a.present? ? a : b
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# !a.present? ? b : a
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# a.blank? ? b : a
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# !a.blank? ? a : b
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# a.presence || b
|
||||||
|
class Presence < Base
|
||||||
|
include RangeHelp
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG = "Use `%<prefer>s` instead of `%<current>s`."
|
||||||
|
|
||||||
|
def_node_matcher :redundant_receiver_and_other, <<~PATTERN
|
||||||
|
{
|
||||||
|
(if
|
||||||
|
(send $_recv :present?)
|
||||||
|
_recv
|
||||||
|
$!begin
|
||||||
|
)
|
||||||
|
(if
|
||||||
|
(send $_recv :blank?)
|
||||||
|
$!begin
|
||||||
|
_recv
|
||||||
|
)
|
||||||
|
}
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def_node_matcher :redundant_negative_receiver_and_other, <<~PATTERN
|
||||||
|
{
|
||||||
|
(if
|
||||||
|
(send (send $_recv :present?) :!)
|
||||||
|
$!begin
|
||||||
|
_recv
|
||||||
|
)
|
||||||
|
(if
|
||||||
|
(send (send $_recv :blank?) :!)
|
||||||
|
_recv
|
||||||
|
$!begin
|
||||||
|
)
|
||||||
|
}
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_if(node)
|
||||||
|
return if ignore_if_node?(node)
|
||||||
|
|
||||||
|
redundant_receiver_and_other(node) do |receiver, other|
|
||||||
|
return if ignore_other_node?(other) || receiver.nil?
|
||||||
|
|
||||||
|
register_offense(node, receiver, other)
|
||||||
|
end
|
||||||
|
|
||||||
|
redundant_negative_receiver_and_other(node) do |receiver, other|
|
||||||
|
return if ignore_other_node?(other) || receiver.nil?
|
||||||
|
|
||||||
|
register_offense(node, receiver, other)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def register_offense(node, receiver, other)
|
||||||
|
add_offense(node, message: message(node, receiver, other)) do |corrector|
|
||||||
|
corrector.replace(node, replacement(receiver, other, node.left_sibling))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def ignore_if_node?(node)
|
||||||
|
node.elsif?
|
||||||
|
end
|
||||||
|
|
||||||
|
def ignore_other_node?(node)
|
||||||
|
node && (node.if_type? || node.rescue_type? || node.while_type?)
|
||||||
|
end
|
||||||
|
|
||||||
|
def message(node, receiver, other)
|
||||||
|
prefer = replacement(receiver, other, node.left_sibling).gsub(/^\s*|\n/, "")
|
||||||
|
current = current(node).gsub(/^\s*|\n/, "")
|
||||||
|
format(MSG, prefer: prefer, current: current)
|
||||||
|
end
|
||||||
|
|
||||||
|
def current(node)
|
||||||
|
if !node.ternary? && node.source.include?("\n")
|
||||||
|
"#{node.loc.keyword.with(end_pos: node.condition.loc.selector.end_pos).source} ... end"
|
||||||
|
else
|
||||||
|
node.source.gsub(/\n\s*/, " ")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def replacement(receiver, other, left_sibling)
|
||||||
|
or_source = if other&.send_type?
|
||||||
|
build_source_for_or_method(other)
|
||||||
|
elsif other.nil? || other.nil_type?
|
||||||
|
""
|
||||||
|
else
|
||||||
|
" || #{other.source}"
|
||||||
|
end
|
||||||
|
|
||||||
|
replaced = "#{receiver.source}.presence#{or_source}"
|
||||||
|
left_sibling ? "(#{replaced})" : replaced
|
||||||
|
end
|
||||||
|
|
||||||
|
def build_source_for_or_method(other)
|
||||||
|
if other.parenthesized? || other.method?("[]") || other.arithmetic_operation? || !other.arguments?
|
||||||
|
" || #{other.source}"
|
||||||
|
else
|
||||||
|
method = method_range(other).source
|
||||||
|
arguments = other.arguments.map(&:source).join(", ")
|
||||||
|
|
||||||
|
" || #{method}(#{arguments})"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def method_range(node)
|
||||||
|
range_between(node.source_range.begin_pos, node.first_argument.source_range.begin_pos - 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
76
Library/Homebrew/rubocops/present.rb
Normal file
76
Library/Homebrew/rubocops/present.rb
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Checks for code that can be written with simpler conditionals
|
||||||
|
# using `Object#present?`.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # Converts usages of `!nil? && !empty?` to `present?`
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# !foo.nil? && !foo.empty?
|
||||||
|
#
|
||||||
|
# # bad
|
||||||
|
# foo != nil && !foo.empty?
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# foo.present?
|
||||||
|
class Present < Base
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG_EXISTS_AND_NOT_EMPTY = "Use `%<prefer>s` instead of `%<current>s`."
|
||||||
|
|
||||||
|
def_node_matcher :exists_and_not_empty?, <<~PATTERN
|
||||||
|
(and
|
||||||
|
{
|
||||||
|
(send (send $_ :nil?) :!)
|
||||||
|
(send (send $_ :!) :!)
|
||||||
|
(send $_ :!= nil)
|
||||||
|
$_
|
||||||
|
}
|
||||||
|
{
|
||||||
|
(send (send $_ :empty?) :!)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_and(node)
|
||||||
|
exists_and_not_empty?(node) do |var1, var2|
|
||||||
|
return if var1 != var2
|
||||||
|
|
||||||
|
message = format(MSG_EXISTS_AND_NOT_EMPTY, prefer: replacement(var1), current: node.source)
|
||||||
|
|
||||||
|
add_offense(node, message: message) do |corrector|
|
||||||
|
autocorrect(corrector, node)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def on_or(node)
|
||||||
|
exists_and_not_empty?(node) do |var1, var2|
|
||||||
|
return if var1 != var2
|
||||||
|
|
||||||
|
add_offense(node, message: MSG_EXISTS_AND_NOT_EMPTY) do |corrector|
|
||||||
|
autocorrect(corrector, node)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def autocorrect(corrector, node)
|
||||||
|
variable1, _variable2 = exists_and_not_empty?(node)
|
||||||
|
range = node.source_range
|
||||||
|
corrector.replace(range, replacement(variable1))
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def replacement(node)
|
||||||
|
node.respond_to?(:source) ? "#{node.source}.present?" : "present?"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
51
Library/Homebrew/rubocops/safe_navigation_with_blank.rb
Normal file
51
Library/Homebrew/rubocops/safe_navigation_with_blank.rb
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# typed: true
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module RuboCop
|
||||||
|
module Cop
|
||||||
|
module Homebrew
|
||||||
|
# Checks to make sure safe navigation isn't used with `blank?` in
|
||||||
|
# a conditional.
|
||||||
|
#
|
||||||
|
# @note
|
||||||
|
# While the safe navigation operator is generally a good idea, when
|
||||||
|
# checking `foo&.blank?` in a conditional, `foo` being `nil` will actually
|
||||||
|
# do the opposite of what the author intends.
|
||||||
|
#
|
||||||
|
# For example:
|
||||||
|
#
|
||||||
|
# [source,ruby]
|
||||||
|
# ----
|
||||||
|
# foo&.blank? #=> nil
|
||||||
|
# foo.blank? #=> true
|
||||||
|
# ----
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# # bad
|
||||||
|
# do_something if foo&.blank?
|
||||||
|
# do_something unless foo&.blank?
|
||||||
|
#
|
||||||
|
# # good
|
||||||
|
# do_something if foo.blank?
|
||||||
|
# do_something unless foo.blank?
|
||||||
|
#
|
||||||
|
class SafeNavigationWithBlank < Base
|
||||||
|
extend AutoCorrector
|
||||||
|
|
||||||
|
MSG = "Avoid calling `blank?` with the safe navigation operator in conditionals."
|
||||||
|
|
||||||
|
def_node_matcher :safe_navigation_blank_in_conditional?, <<~PATTERN
|
||||||
|
(if $(csend ... :blank?) ...)
|
||||||
|
PATTERN
|
||||||
|
|
||||||
|
def on_if(node)
|
||||||
|
return unless safe_navigation_blank_in_conditional?(node)
|
||||||
|
|
||||||
|
add_offense(node) do |corrector|
|
||||||
|
corrector.replace(safe_navigation_blank_in_conditional?(node).location.dot, ".")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
18163
Library/Homebrew/sorbet/rbi/gems/activesupport@6.1.7.6.rbi
generated
18163
Library/Homebrew/sorbet/rbi/gems/activesupport@6.1.7.6.rbi
generated
File diff suppressed because it is too large
Load Diff
@ -25,8 +25,6 @@ end
|
|||||||
#
|
#
|
||||||
# source://byebug//lib/byebug/attacher.rb#34
|
# source://byebug//lib/byebug/attacher.rb#34
|
||||||
module Kernel
|
module Kernel
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
|
|
||||||
# source://byebug//lib/byebug/attacher.rb#35
|
# source://byebug//lib/byebug/attacher.rb#35
|
||||||
def byebug; end
|
def byebug; end
|
||||||
|
|
||||||
|
|||||||
@ -1233,7 +1233,6 @@ Commander::VERSION = T.let(T.unsafe(nil), String)
|
|||||||
|
|
||||||
# source://commander//lib/commander/core_ext/object.rb#3
|
# source://commander//lib/commander/core_ext/object.rb#3
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
|
|||||||
11590
Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
generated
11590
Library/Homebrew/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
generated
File diff suppressed because it is too large
Load Diff
@ -3802,7 +3802,6 @@ end
|
|||||||
#
|
#
|
||||||
# source://highline//lib/highline/import.rb#30
|
# source://highline//lib/highline/import.rb#30
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
|
|||||||
@ -1743,8 +1743,6 @@ end
|
|||||||
#
|
#
|
||||||
# source://hpricot//lib/hpricot/blankslate.rb#37
|
# source://hpricot//lib/hpricot/blankslate.rb#37
|
||||||
module Kernel
|
module Kernel
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# Detect method additions to Kernel and remove them in the
|
# Detect method additions to Kernel and remove them in the
|
||||||
# BlankSlate class.
|
# BlankSlate class.
|
||||||
@ -1756,7 +1754,6 @@ end
|
|||||||
|
|
||||||
# source://hpricot//lib/hpricot/blankslate.rb#51
|
# source://hpricot//lib/hpricot/blankslate.rb#51
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
|
|||||||
2325
Library/Homebrew/sorbet/rbi/gems/i18n@1.14.1.rbi
generated
2325
Library/Homebrew/sorbet/rbi/gems/i18n@1.14.1.rbi
generated
File diff suppressed because it is too large
Load Diff
16
Library/Homebrew/sorbet/rbi/gems/parlour@8.1.0.rbi
generated
16
Library/Homebrew/sorbet/rbi/gems/parlour@8.1.0.rbi
generated
@ -913,7 +913,7 @@ class Parlour::RbiGenerator::Namespace < ::Parlour::RbiGenerator::RbiObject
|
|||||||
# @param block [T.proc.params(x: Attribute).void, nil]
|
# @param block [T.proc.params(x: Attribute).void, nil]
|
||||||
# @return [Attribute]
|
# @return [Attribute]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def create_attr(*args, **_arg1, &blk); end
|
def create_attr(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://parlour//lib/parlour/rbi_generator/namespace.rb#472
|
# source://parlour//lib/parlour/rbi_generator/namespace.rb#472
|
||||||
@ -1121,7 +1121,7 @@ class Parlour::RbiGenerator::Namespace < ::Parlour::RbiGenerator::RbiObject
|
|||||||
|
|
||||||
# @return [Array<RbiGenerator::TypeAlias>]
|
# @return [Array<RbiGenerator::TypeAlias>]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def type_aliases(*args, **_arg1, &blk); end
|
def type_aliases(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
private
|
private
|
||||||
@ -1885,7 +1885,7 @@ class Parlour::RbsGenerator::Namespace < ::Parlour::RbsGenerator::RbsObject
|
|||||||
# @param block [T.proc.params(x: Attribute).void, nil]
|
# @param block [T.proc.params(x: Attribute).void, nil]
|
||||||
# @return [Attribute]
|
# @return [Attribute]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def create_attr(*args, **_arg1, &blk); end
|
def create_attr(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://parlour//lib/parlour/rbs_generator/namespace.rb#347
|
# source://parlour//lib/parlour/rbs_generator/namespace.rb#347
|
||||||
@ -2052,7 +2052,7 @@ class Parlour::RbsGenerator::Namespace < ::Parlour::RbsGenerator::RbsObject
|
|||||||
|
|
||||||
# @return [Array<RbsGenerator::TypeAlias>]
|
# @return [Array<RbsGenerator::TypeAlias>]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def type_aliases(*args, **_arg1, &blk); end
|
def type_aliases(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
private
|
private
|
||||||
@ -2395,7 +2395,7 @@ class Parlour::TypeParser::IntermediateSig < ::T::Struct
|
|||||||
prop :params, T.nilable(T::Array[::Parser::AST::Node])
|
prop :params, T.nilable(T::Array[::Parser::AST::Node])
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2450,7 +2450,7 @@ class Parlour::TypedObject
|
|||||||
# @param comment [String, Array<String>]
|
# @param comment [String, Array<String>]
|
||||||
# @return [void]
|
# @return [void]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def add_comments(*args, **_arg1, &blk); end
|
def add_comments(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://parlour//lib/parlour/typed_object.rb#32
|
# source://parlour//lib/parlour/typed_object.rb#32
|
||||||
@ -2471,7 +2471,7 @@ class Parlour::TypedObject
|
|||||||
|
|
||||||
# @return [String]
|
# @return [String]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def inspect(*args, **_arg1, &blk); end
|
def inspect(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://parlour//lib/parlour/typed_object.rb#26
|
# source://parlour//lib/parlour/typed_object.rb#26
|
||||||
@ -2480,7 +2480,7 @@ class Parlour::TypedObject
|
|||||||
|
|
||||||
# @return [String]
|
# @return [String]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def to_s(*args, **_arg1, &blk); end
|
def to_s(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
protected
|
protected
|
||||||
|
|||||||
3
Library/Homebrew/sorbet/rbi/gems/pry@0.14.2.rbi
generated
3
Library/Homebrew/sorbet/rbi/gems/pry@0.14.2.rbi
generated
@ -22,7 +22,6 @@ end
|
|||||||
|
|
||||||
# source://pry//lib/pry/core_extensions.rb#24
|
# source://pry//lib/pry/core_extensions.rb#24
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
@ -969,8 +968,6 @@ Pry::BINDING_METHOD_IMPL = T.let(T.unsafe(nil), Array)
|
|||||||
# source://pry//lib/pry/basic_object.rb#4
|
# source://pry//lib/pry/basic_object.rb#4
|
||||||
class Pry::BasicObject < ::BasicObject
|
class Pry::BasicObject < ::BasicObject
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::ActiveSupport::ForkTracker::CoreExtPrivate
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# source://pry//lib/pry/basic_object.rb#6
|
# source://pry//lib/pry/basic_object.rb#6
|
||||||
|
|||||||
1
Library/Homebrew/sorbet/rbi/gems/racc@1.7.3.rbi
generated
1
Library/Homebrew/sorbet/rbi/gems/racc@1.7.3.rbi
generated
@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
# source://racc//lib/racc/compat.rb#14
|
# source://racc//lib/racc/compat.rb#14
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
end
|
end
|
||||||
|
|||||||
5183
Library/Homebrew/sorbet/rbi/gems/rack@3.0.8.rbi
generated
5183
Library/Homebrew/sorbet/rbi/gems/rack@3.0.8.rbi
generated
File diff suppressed because it is too large
Load Diff
@ -5,7 +5,6 @@
|
|||||||
# Please instead update this file by running `bin/tapioca gem rainbow`.
|
# Please instead update this file by running `bin/tapioca gem rainbow`.
|
||||||
|
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
|
|||||||
26
Library/Homebrew/sorbet/rbi/gems/rbi@0.1.6.rbi
generated
26
Library/Homebrew/sorbet/rbi/gems/rbi@0.1.6.rbi
generated
@ -1820,7 +1820,7 @@ class RBI::Rewriters::Merge::Conflict < ::T::Struct
|
|||||||
def to_s; end
|
def to_s; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11155/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2037,7 +2037,7 @@ class RBI::Rewriters::RemoveKnownDefinitions::Operation < ::T::Struct
|
|||||||
def to_s; end
|
def to_s; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11155/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2670,7 +2670,7 @@ class RBI::Tree < ::RBI::NodeWithComments
|
|||||||
sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
|
sig { params(annotation: ::String, annotate_scopes: T::Boolean, annotate_properties: T::Boolean).void }
|
||||||
def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
|
def annotate!(annotation, annotate_scopes: T.unsafe(nil), annotate_properties: T.unsafe(nil)); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#38
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#38
|
||||||
sig do
|
sig do
|
||||||
params(
|
params(
|
||||||
name: ::String,
|
name: ::String,
|
||||||
@ -2680,19 +2680,19 @@ class RBI::Tree < ::RBI::NodeWithComments
|
|||||||
end
|
end
|
||||||
def create_class(name, superclass_name: T.unsafe(nil), &block); end
|
def create_class(name, superclass_name: T.unsafe(nil), &block); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#45
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#45
|
||||||
sig { params(name: ::String, value: ::String).void }
|
sig { params(name: ::String, value: ::String).void }
|
||||||
def create_constant(name, value:); end
|
def create_constant(name, value:); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#55
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#55
|
||||||
sig { params(name: ::String).void }
|
sig { params(name: ::String).void }
|
||||||
def create_extend(name); end
|
def create_extend(name); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#50
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#50
|
||||||
sig { params(name: ::String).void }
|
sig { params(name: ::String).void }
|
||||||
def create_include(name); end
|
def create_include(name); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#89
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#89
|
||||||
sig do
|
sig do
|
||||||
params(
|
params(
|
||||||
name: ::String,
|
name: ::String,
|
||||||
@ -2705,19 +2705,19 @@ class RBI::Tree < ::RBI::NodeWithComments
|
|||||||
end
|
end
|
||||||
def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
|
def create_method(name, parameters: T.unsafe(nil), return_type: T.unsafe(nil), class_method: T.unsafe(nil), visibility: T.unsafe(nil), comments: T.unsafe(nil)); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#60
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#60
|
||||||
sig { params(name: ::String).void }
|
sig { params(name: ::String).void }
|
||||||
def create_mixes_in_class_methods(name); end
|
def create_mixes_in_class_methods(name); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#25
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#25
|
||||||
sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
|
sig { params(name: ::String, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
|
||||||
def create_module(name, &block); end
|
def create_module(name, &block); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#9
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#9
|
||||||
sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
|
sig { params(constant: ::Module, block: T.nilable(T.proc.params(scope: ::RBI::Scope).void)).returns(::RBI::Scope) }
|
||||||
def create_path(constant, &block); end
|
def create_path(constant, &block); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#74
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#74
|
||||||
sig do
|
sig do
|
||||||
params(
|
params(
|
||||||
name: ::String,
|
name: ::String,
|
||||||
@ -2779,11 +2779,11 @@ class RBI::Tree < ::RBI::NodeWithComments
|
|||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#116
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#116
|
||||||
sig { params(node: ::RBI::Node).returns(::RBI::Node) }
|
sig { params(node: ::RBI::Node).returns(::RBI::Node) }
|
||||||
def create_node(node); end
|
def create_node(node); end
|
||||||
|
|
||||||
# source://tapioca/0.11.13/lib/tapioca/rbi_ext/model.rb#111
|
# source://tapioca/0.12.0/lib/tapioca/rbi_ext/model.rb#111
|
||||||
sig { returns(T::Hash[::String, ::RBI::Node]) }
|
sig { returns(T::Hash[::String, ::RBI::Node]) }
|
||||||
def nodes_cache; end
|
def nodes_cache; end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -6269,12 +6269,6 @@ module RSpec::Core::HashImitatable
|
|||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def deconstruct_keys(*args, &block); end
|
def deconstruct_keys(*args, &block); end
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
|
||||||
def deep_merge(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
|
||||||
def deep_merge!(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def default(*args, &block); end
|
def default(*args, &block); end
|
||||||
|
|
||||||
@ -6341,12 +6335,6 @@ module RSpec::Core::HashImitatable
|
|||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def except(*args, &block); end
|
def except(*args, &block); end
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
|
||||||
def except!(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
|
||||||
def extract!(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def fetch(*args, &block); end
|
def fetch(*args, &block); end
|
||||||
|
|
||||||
@ -6497,9 +6485,6 @@ module RSpec::Core::HashImitatable
|
|||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def slice(*args, &block); end
|
def slice(*args, &block); end
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
|
||||||
def slice!(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
# source://rspec-core//lib/rspec/core/metadata.rb#367
|
||||||
def slice_after(*args, &block); end
|
def slice_after(*args, &block); end
|
||||||
|
|
||||||
@ -9337,15 +9322,6 @@ class RSpec::Core::OutputWrapper
|
|||||||
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
||||||
def noecho(*args, &block); end
|
def noecho(*args, &block); end
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
|
||||||
def nonblock(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
|
||||||
def nonblock=(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
|
||||||
def nonblock?(*args, &block); end
|
|
||||||
|
|
||||||
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
# source://rspec-core//lib/rspec/core/output_wrapper.rb#23
|
||||||
def nread(*args, &block); end
|
def nread(*args, &block); end
|
||||||
|
|
||||||
|
|||||||
@ -90,7 +90,7 @@ module RSpec::Sorbet::Doubles
|
|||||||
|
|
||||||
# @return [void]
|
# @return [void]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/private/methods/_methods.rb#255
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def allow_instance_doubles!(*args, **_arg1, &blk); end
|
def allow_instance_doubles!(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://rspec-sorbet//lib/rspec/sorbet/doubles.rb#36
|
# source://rspec-sorbet//lib/rspec/sorbet/doubles.rb#36
|
||||||
|
|||||||
@ -5134,9 +5134,6 @@ RuboCop::AST::NodePattern::Sets::SET_ABSTRACT_OVERRIDE_OVERRIDABLE_ETC = T.let(T
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_DEVELOPMENT_DEPENDENCY = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_ADD_DEPENDENCY_ADD_RUNTIME_DEPENDENCY_ADD_DEVELOPMENT_DEPENDENCY = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_AFTER_ACTION_APPEND_AFTER_ACTION_APPEND_AROUND_ACTION_ETC = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ALL_ANY_CLASS_OF_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_ALL_ANY_CLASS_OF_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5152,9 +5149,6 @@ RuboCop::AST::NodePattern::Sets::SET_ANY_EMPTY = T.let(T.unsafe(nil), Set)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ANY_EMPTY_NONE_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_ANY_EMPTY_NONE_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_AP_P_PP_ETC = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ASSERT_EQUAL_REFUTE_EQUAL = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_ASSERT_EQUAL_REFUTE_EQUAL = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5167,21 +5161,12 @@ RuboCop::AST::NodePattern::Sets::SET_ATTR_READER_ATTR_WRITER_ATTR_ACCESSOR_ATTR
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BACKGROUND_SCENARIO_XSCENARIO_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_BACKGROUND_SCENARIO_XSCENARIO_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BEFORE_AFTER = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BELONGS_TO_HAS_ONE_HAS_MANY_HAS_AND_BELONGS_TO_MANY = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BE_EQ_EQL_EQUAL = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_BE_EQ_EQL_EQUAL = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BE_TRUTHY_BE_FALSEY_BE_FALSY_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_BE_TRUTHY_BE_FALSEY_BE_FALSY_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BINWRITE_SYSWRITE_WRITE_WRITE_NONBLOCK = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_BRANCH_REF_TAG = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_BRANCH_REF_TAG = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5194,9 +5179,6 @@ RuboCop::AST::NodePattern::Sets::SET_CALL_RUN = T.let(T.unsafe(nil), Set)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_CAPTURE2_CAPTURE2E_CAPTURE3_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_CAPTURE2_CAPTURE2E_CAPTURE3_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_CHANGE_COLUMN_EXECUTE = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_CIPHER_DIGEST = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_CIPHER_DIGEST = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5224,12 +5206,6 @@ RuboCop::AST::NodePattern::Sets::SET_CONTEXT_SHARED_CONTEXT = T.let(T.unsafe(nil
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_COUNT_LENGTH_SIZE = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_COUNT_LENGTH_SIZE = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_CREATED_AT_UPDATED_AT = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_CREATED_AT_UPDATED_AT_2 = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_DEFINE_METHOD = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_DEFINE_METHOD = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5308,33 +5284,18 @@ RuboCop::AST::NodePattern::Sets::SET_FORMAT_SPRINTF_PRINTF = T.let(T.unsafe(nil)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_GETHOSTBYADDR_GETHOSTBYNAME = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_GETHOSTBYADDR_GETHOSTBYNAME = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_GET_POST_PUT_ETC = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_GSUB_GSUB = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_GSUB_GSUB = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_GSUB_GSUB_SUB_SUB = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_GSUB_GSUB_SUB_SUB = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_HAS_MANY_HAS_ONE = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_HAS_MANY_HAS_ONE_BELONGS_TO = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_IF_UNLESS = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_INCLUDE_EXTEND_PREPEND = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_INCLUDE_EXTEND_PREPEND = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_INCLUDE_MEMBER = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_INCLUDE_MEMBER = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_INSERT_INSERT = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_INSTANCE_EVAL_CLASS_EVAL_MODULE_EVAL = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_INSTANCE_EVAL_CLASS_EVAL_MODULE_EVAL = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5350,9 +5311,6 @@ RuboCop::AST::NodePattern::Sets::SET_IS_EXPECTED_SHOULD_SHOULD_NOT = T.let(T.uns
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_KEYS_VALUES = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_KEYS_VALUES = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_KEYS_VALUES_TO_H_TO_XML = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_KEY_HAS_KEY_FETCH_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_KEY_HAS_KEY_FETCH_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5371,15 +5329,15 @@ RuboCop::AST::NodePattern::Sets::SET_MAP_COLLECT = T.let(T.unsafe(nil), Set)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_MATCH_MATCH = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_MATCH_MATCH = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
|
RuboCop::AST::NodePattern::Sets::SET_MATCH_MATCH_ = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_MATCH__MATCH = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_MATCH__MATCH = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_MATCH___MATCH = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_MATCH___MATCH = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_MESSAGES_DETAILS = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_MODULE_FUNCTION_RUBY2_KEYWORDS = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_MODULE_FUNCTION_RUBY2_KEYWORDS = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5395,12 +5353,6 @@ RuboCop::AST::NodePattern::Sets::SET_NEW_OPEN = T.let(T.unsafe(nil), Set)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_NIL_ = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_NIL_ = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_NOTICE_ALERT = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ONLY_EXCEPT = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_PIPELINE_PIPELINE_R_PIPELINE_RW_ETC = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_PIPELINE_PIPELINE_R_PIPELINE_RW_ETC = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5452,24 +5404,12 @@ RuboCop::AST::NodePattern::Sets::SET_RECEIVE_RECEIVE_MESSAGE_CHAIN = T.let(T.uns
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_REDUCE_INJECT = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_REDUCE_INJECT = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_REFERER_REFERRER = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_REJECT_DELETE_IF_REJECT = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_REJECT_DELETE_IF_REJECT = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_RENDER_REDIRECT_TO = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_REQUIRE_REQUIRE_RELATIVE = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_REQUIRE_REQUIRE_RELATIVE = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_RETURNING_UNIQUE_BY = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ROOT_PUBLIC_PATH = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SELECT_FILTER_FIND_ALL = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SELECT_FILTER_FIND_ALL = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5482,15 +5422,15 @@ RuboCop::AST::NodePattern::Sets::SET_SELECT_SELECT = T.let(T.unsafe(nil), Set)
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SEND_PUBLIC_SEND___SEND__ = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
|
RuboCop::AST::NodePattern::Sets::SET_SEND___SEND__ = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SHOULD_SHOULD_NOT = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SIG_HELPERS = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SIG_HELPERS = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SKIP_AFTER_ACTION_SKIP_AROUND_ACTION_SKIP_BEFORE_ACTION_SKIP_ACTION_CALLBACK = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_SKIP_PENDING = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SKIP_PENDING = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5515,9 +5455,6 @@ RuboCop::AST::NodePattern::Sets::SET_START_WITH_STARTS_WITH_END_WITH_ENDS_WITH =
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_STATUS_CODE = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_STATUS_CODE = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_STDOUT_STDERR = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_STRUCT_CLASS = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
@ -5531,7 +5468,7 @@ RuboCop::AST::NodePattern::Sets::SET_STRUCT_IMMUTABLESTRUCT_INEXACTSTRUCT = T.le
|
|||||||
RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_SUCC_PRED_NEXT = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TIME_DATETIME = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_TEXT_EXACT_TEXT = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TO_ENUM_ENUM_FOR = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_TO_ENUM_ENUM_FOR = T.let(T.unsafe(nil), Set)
|
||||||
@ -5545,21 +5482,9 @@ RuboCop::AST::NodePattern::Sets::SET_TO_I_TO_F_TO_C_TO_R = T.let(T.unsafe(nil),
|
|||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TO_TO_NOT_NOT_TO = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_TO_TO_NOT_NOT_TO = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TRANSLATE_LOCALIZE = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TRANSLATE_T = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TRUE_FALSE = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_TRUE_FALSE = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_TRY_TRY = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
|
||||||
RuboCop::AST::NodePattern::Sets::SET_T_TRANSLATE_L_LOCALIZE = T.let(T.unsafe(nil), Set)
|
|
||||||
|
|
||||||
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
# source://rubocop-ast//lib/rubocop/ast/node_pattern/sets.rb#10
|
||||||
RuboCop::AST::NodePattern::Sets::SET_ZERO_POSITIVE_NEGATIVE = T.let(T.unsafe(nil), Set)
|
RuboCop::AST::NodePattern::Sets::SET_ZERO_POSITIVE_NEGATIVE = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
|
|||||||
@ -13,28 +13,28 @@ module RuboCop::Cop; end
|
|||||||
module RuboCop::Cop::Lint; end
|
module RuboCop::Cop::Lint; end
|
||||||
|
|
||||||
class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base
|
class RuboCop::Cop::Lint::UnusedMethodArgument < ::RuboCop::Cop::Base
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#66
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#66
|
||||||
def not_implemented?(param0 = T.unsafe(nil)); end
|
def not_implemented?(param0 = T.unsafe(nil)); end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#81
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#81
|
||||||
def autocorrect(corrector, node); end
|
def autocorrect(corrector, node); end
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#85
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#85
|
||||||
def check_argument(variable); end
|
def check_argument(variable); end
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#93
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#93
|
||||||
def ignored_method?(body); end
|
def ignored_method?(body); end
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#98
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#98
|
||||||
def message(variable); end
|
def message(variable); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://rubocop-performance//lib/rubocop-performance.rb#15
|
# source://rubocop-performance//lib/rubocop-performance.rb#15
|
||||||
def autocorrect_incompatible_with; end
|
def autocorrect_incompatible_with; end
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/lint/unused_method_argument.rb#75
|
# source://rubocop/1.60.2/lib/rubocop/cop/lint/unused_method_argument.rb#75
|
||||||
def joining_forces; end
|
def joining_forces; end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
9175
Library/Homebrew/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi
generated
9175
Library/Homebrew/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi
generated
File diff suppressed because it is too large
Load Diff
@ -5303,173 +5303,6 @@ RuboCop::Cop::RSpec::Rails::HaveHttpStatus::RESTRICT_ON_SEND = T.let(T.unsafe(ni
|
|||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/have_http_status.rb#24
|
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/have_http_status.rb#24
|
||||||
RuboCop::Cop::RSpec::Rails::HaveHttpStatus::RUNNERS = T.let(T.unsafe(nil), Set)
|
RuboCop::Cop::RSpec::Rails::HaveHttpStatus::RUNNERS = T.let(T.unsafe(nil), Set)
|
||||||
|
|
||||||
# Enforces use of symbolic or numeric value to describe HTTP status.
|
|
||||||
#
|
|
||||||
# This cop inspects only `have_http_status` calls.
|
|
||||||
# So, this cop does not check if a method starting with `be_*` is used
|
|
||||||
# when setting for `EnforcedStyle: symbolic` or
|
|
||||||
# `EnforcedStyle: numeric`.
|
|
||||||
#
|
|
||||||
# @example `EnforcedStyle: symbolic` (default)
|
|
||||||
# # bad
|
|
||||||
# it { is_expected.to have_http_status 200 }
|
|
||||||
# it { is_expected.to have_http_status 404 }
|
|
||||||
# it { is_expected.to have_http_status "403" }
|
|
||||||
#
|
|
||||||
# # good
|
|
||||||
# it { is_expected.to have_http_status :ok }
|
|
||||||
# it { is_expected.to have_http_status :not_found }
|
|
||||||
# it { is_expected.to have_http_status :forbidden }
|
|
||||||
# it { is_expected.to have_http_status :success }
|
|
||||||
# it { is_expected.to have_http_status :error }
|
|
||||||
# @example `EnforcedStyle: numeric`
|
|
||||||
# # bad
|
|
||||||
# it { is_expected.to have_http_status :ok }
|
|
||||||
# it { is_expected.to have_http_status :not_found }
|
|
||||||
# it { is_expected.to have_http_status "forbidden" }
|
|
||||||
#
|
|
||||||
# # good
|
|
||||||
# it { is_expected.to have_http_status 200 }
|
|
||||||
# it { is_expected.to have_http_status 404 }
|
|
||||||
# it { is_expected.to have_http_status 403 }
|
|
||||||
# it { is_expected.to have_http_status :success }
|
|
||||||
# it { is_expected.to have_http_status :error }
|
|
||||||
# @example `EnforcedStyle: be_status`
|
|
||||||
# # bad
|
|
||||||
# it { is_expected.to have_http_status :ok }
|
|
||||||
# it { is_expected.to have_http_status :not_found }
|
|
||||||
# it { is_expected.to have_http_status "forbidden" }
|
|
||||||
# it { is_expected.to have_http_status 200 }
|
|
||||||
# it { is_expected.to have_http_status 404 }
|
|
||||||
# it { is_expected.to have_http_status "403" }
|
|
||||||
#
|
|
||||||
# # good
|
|
||||||
# it { is_expected.to be_ok }
|
|
||||||
# it { is_expected.to be_not_found }
|
|
||||||
# it { is_expected.to have_http_status :success }
|
|
||||||
# it { is_expected.to have_http_status :error }
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#57
|
|
||||||
class RuboCop::Cop::RSpec::Rails::HttpStatus < ::RuboCop::Cop::RSpec::Base
|
|
||||||
include ::RuboCop::Cop::ConfigurableEnforcedStyle
|
|
||||||
extend ::RuboCop::Cop::AutoCorrector
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#63
|
|
||||||
def http_status(param0 = T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#67
|
|
||||||
def on_send(node); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#83
|
|
||||||
def checker_class; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#171
|
|
||||||
class RuboCop::Cop::RSpec::Rails::HttpStatus::BeStatusStyleChecker < ::RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#177
|
|
||||||
def offense_range; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#172
|
|
||||||
def offensive?; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#181
|
|
||||||
def prefer; end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#201
|
|
||||||
def normalize_str; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#197
|
|
||||||
def number; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#193
|
|
||||||
def symbol; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#150
|
|
||||||
class RuboCop::Cop::RSpec::Rails::HttpStatus::NumericStyleChecker < ::RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#151
|
|
||||||
def offensive?; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#155
|
|
||||||
def prefer; end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#165
|
|
||||||
def number; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#161
|
|
||||||
def symbol; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#60
|
|
||||||
RuboCop::Cop::RSpec::Rails::HttpStatus::RESTRICT_ON_SEND = T.let(T.unsafe(nil), Array)
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#95
|
|
||||||
class RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase
|
|
||||||
# @return [StyleCheckerBase] a new instance of StyleCheckerBase
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#102
|
|
||||||
def initialize(node); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#118
|
|
||||||
def allowed_symbol?; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#110
|
|
||||||
def current; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#122
|
|
||||||
def custom_http_status_code?; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#106
|
|
||||||
def message; end
|
|
||||||
|
|
||||||
# Returns the value of attribute node.
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#100
|
|
||||||
def node; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#114
|
|
||||||
def offense_range; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#98
|
|
||||||
RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase::ALLOWED_STATUSES = T.let(T.unsafe(nil), Array)
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#96
|
|
||||||
RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase::MSG = T.let(T.unsafe(nil), String)
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#129
|
|
||||||
class RuboCop::Cop::RSpec::Rails::HttpStatus::SymbolicStyleChecker < ::RuboCop::Cop::RSpec::Rails::HttpStatus::StyleCheckerBase
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#130
|
|
||||||
def offensive?; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#134
|
|
||||||
def prefer; end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#144
|
|
||||||
def number; end
|
|
||||||
|
|
||||||
# source://rubocop-rspec//lib/rubocop/cop/rspec/rails/http_status.rb#140
|
|
||||||
def symbol; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# Identifies redundant spec type.
|
# Identifies redundant spec type.
|
||||||
#
|
#
|
||||||
# After setting up rspec-rails, you will have enabled
|
# After setting up rspec-rails, you will have enabled
|
||||||
@ -7686,10 +7519,10 @@ class RuboCop::Cop::Style::TrailingCommaInArguments < ::RuboCop::Cop::Base
|
|||||||
include ::RuboCop::Cop::ConfigurableEnforcedStyle
|
include ::RuboCop::Cop::ConfigurableEnforcedStyle
|
||||||
include ::RuboCop::Cop::RangeHelp
|
include ::RuboCop::Cop::RangeHelp
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
|
# source://rubocop/1.60.2/lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
|
||||||
def on_csend(node); end
|
def on_csend(node); end
|
||||||
|
|
||||||
# source://rubocop/1.59.0/lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
|
# source://rubocop/1.60.2/lib/rubocop/cop/style/trailing_comma_in_arguments.rb#95
|
||||||
def on_send(node); end
|
def on_send(node); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|||||||
35
Library/Homebrew/sorbet/rbi/gems/rubocop@1.60.2.rbi
generated
35
Library/Homebrew/sorbet/rbi/gems/rubocop@1.60.2.rbi
generated
@ -5339,24 +5339,19 @@ RuboCop::Cop::EndKeywordAlignment::MSG = T.let(T.unsafe(nil), String)
|
|||||||
module RuboCop::Cop::EnforceSuperclass
|
module RuboCop::Cop::EnforceSuperclass
|
||||||
# @api private
|
# @api private
|
||||||
#
|
#
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop/cop/mixin/enforce_superclass.rb#19
|
# source://rubocop//lib/rubocop/cop/mixin/enforce_superclass.rb#35
|
||||||
def on_class(node); end
|
def on_class(node); end
|
||||||
|
|
||||||
# @api private
|
# @api private
|
||||||
#
|
#
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop/cop/mixin/enforce_superclass.rb#25
|
# source://rubocop//lib/rubocop/cop/mixin/enforce_superclass.rb#39
|
||||||
def on_send(node); end
|
def on_send(node); end
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop/cop/mixin/enforce_superclass.rb#33
|
|
||||||
def register_offense(offense_node); end
|
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# @api private
|
# @api private
|
||||||
# @private
|
# @private
|
||||||
#
|
#
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop/cop/mixin/enforce_superclass.rb#7
|
# source://rubocop//lib/rubocop/cop/mixin/enforce_superclass.rb#16
|
||||||
def included(base); end
|
def included(base); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -38899,7 +38894,7 @@ class RuboCop::Cop::Style::InverseMethods < ::RuboCop::Cop::Base
|
|||||||
def remove_end_parenthesis(corrector, node, method, method_call); end
|
def remove_end_parenthesis(corrector, node, method, method_call); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop-rails.rb#22
|
# source://rubocop//lib/rubocop/cop/style/inverse_methods.rb#56
|
||||||
def autocorrect_incompatible_with; end
|
def autocorrect_incompatible_with; end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -39940,7 +39935,7 @@ class RuboCop::Cop::Style::MethodCallWithArgsParentheses < ::RuboCop::Cop::Base
|
|||||||
def args_parenthesized?(node); end
|
def args_parenthesized?(node); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop-rails.rb#30
|
# source://rubocop//lib/rubocop/cop/style/method_call_with_args_parentheses.rb#213
|
||||||
def autocorrect_incompatible_with; end
|
def autocorrect_incompatible_with; end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -46496,7 +46491,7 @@ class RuboCop::Cop::Style::RedundantSelf < ::RuboCop::Cop::Base
|
|||||||
def regular_method_call?(node); end
|
def regular_method_call?(node); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://rubocop-rails/2.23.1/lib/rubocop-rails.rb#38
|
# source://rubocop//lib/rubocop/cop/style/redundant_self.rb#56
|
||||||
def autocorrect_incompatible_with; end
|
def autocorrect_incompatible_with; end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -55094,10 +55089,10 @@ RuboCop::Formatter::PacmanFormatter::FALLBACK_TERMINAL_WIDTH = T.let(T.unsafe(ni
|
|||||||
RuboCop::Formatter::PacmanFormatter::GHOST = T.let(T.unsafe(nil), String)
|
RuboCop::Formatter::PacmanFormatter::GHOST = T.let(T.unsafe(nil), String)
|
||||||
|
|
||||||
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#17
|
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#17
|
||||||
RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::NullPresenter)
|
RuboCop::Formatter::PacmanFormatter::PACDOT = T.let(T.unsafe(nil), Rainbow::Presenter)
|
||||||
|
|
||||||
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#16
|
# source://rubocop//lib/rubocop/formatter/pacman_formatter.rb#16
|
||||||
RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::NullPresenter)
|
RuboCop::Formatter::PacmanFormatter::PACMAN = T.let(T.unsafe(nil), Rainbow::Presenter)
|
||||||
|
|
||||||
# This formatter display dots for files with no offenses and
|
# This formatter display dots for files with no offenses and
|
||||||
# letters for files with problems in the them. In the end it
|
# letters for files with problems in the them. In the end it
|
||||||
@ -57374,4 +57369,18 @@ end
|
|||||||
# source://rubocop//lib/rubocop/core_ext/string.rb#4
|
# source://rubocop//lib/rubocop/core_ext/string.rb#4
|
||||||
class String
|
class String
|
||||||
include ::Comparable
|
include ::Comparable
|
||||||
|
|
||||||
|
# Checks whether a string is blank. A string is considered blank if it
|
||||||
|
# is either empty or contains only whitespace characters.
|
||||||
|
#
|
||||||
|
# @example
|
||||||
|
# ''.blank? #=> true
|
||||||
|
# @example
|
||||||
|
# ' '.blank? #=> true
|
||||||
|
# @example
|
||||||
|
# ' test'.blank? #=> false
|
||||||
|
# @return [Boolean] true is the string is blank, false otherwise
|
||||||
|
#
|
||||||
|
# source://rubocop//lib/rubocop/core_ext/string.rb#19
|
||||||
|
def blank?; end
|
||||||
end
|
end
|
||||||
|
|||||||
10
Library/Homebrew/sorbet/rbi/gems/ruby-prof@1.7.0.rbi
generated
10
Library/Homebrew/sorbet/rbi/gems/ruby-prof@1.7.0.rbi
generated
@ -5,15 +5,7 @@
|
|||||||
# Please instead update this file by running `bin/tapioca gem ruby-prof`.
|
# Please instead update this file by running `bin/tapioca gem ruby-prof`.
|
||||||
|
|
||||||
# source://ruby-prof//lib/ruby-prof/rack.rb#4
|
# source://ruby-prof//lib/ruby-prof/rack.rb#4
|
||||||
module Rack
|
module Rack; end
|
||||||
class << self
|
|
||||||
# source://rack/3.0.8/lib/rack/version.rb#31
|
|
||||||
def release; end
|
|
||||||
|
|
||||||
# source://rack/3.0.8/lib/rack/version.rb#23
|
|
||||||
def version; end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://ruby-prof//lib/ruby-prof/rack.rb#5
|
# source://ruby-prof//lib/ruby-prof/rack.rb#5
|
||||||
class Rack::RubyProf
|
class Rack::RubyProf
|
||||||
|
|||||||
30
Library/Homebrew/sorbet/rbi/gems/spoom@1.2.4.rbi
generated
30
Library/Homebrew/sorbet/rbi/gems/spoom@1.2.4.rbi
generated
@ -958,7 +958,7 @@ class Spoom::Coverage::D3::ColorPalette < ::T::Struct
|
|||||||
prop :strong, ::String
|
prop :strong, ::String
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1298,7 +1298,7 @@ class Spoom::Coverage::Snapshot < ::T::Struct
|
|||||||
sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
|
sig { params(obj: T::Hash[::String, T.untyped]).returns(::Spoom::Coverage::Snapshot) }
|
||||||
def from_obj(obj); end
|
def from_obj(obj); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1450,7 +1450,7 @@ class Spoom::Deadcode::Definition < ::T::Struct
|
|||||||
def module?; end
|
def module?; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2343,7 +2343,7 @@ class Spoom::Deadcode::Reference < ::T::Struct
|
|||||||
def method?; end
|
def method?; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2593,7 +2593,7 @@ class Spoom::Deadcode::Send < ::T::Struct
|
|||||||
def each_arg_assoc(&block); end
|
def each_arg_assoc(&block); end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2613,7 +2613,7 @@ class Spoom::ExecResult < ::T::Struct
|
|||||||
def to_s; end
|
def to_s; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2821,7 +2821,7 @@ class Spoom::FileTree::Node < ::T::Struct
|
|||||||
def path; end
|
def path; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2887,7 +2887,7 @@ class Spoom::Git::Commit < ::T::Struct
|
|||||||
def timestamp; end
|
def timestamp; end
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
|
|
||||||
# Parse a line formated as `%h %at` into a `Commit`
|
# Parse a line formated as `%h %at` into a `Commit`
|
||||||
@ -2999,7 +2999,7 @@ class Spoom::LSP::Diagnostic < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Diagnostic) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3032,7 +3032,7 @@ class Spoom::LSP::DocumentSymbol < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::DocumentSymbol) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3090,7 +3090,7 @@ class Spoom::LSP::Hover < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Hover) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3115,7 +3115,7 @@ class Spoom::LSP::Location < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Location) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3178,7 +3178,7 @@ class Spoom::LSP::Position < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Position) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3216,7 +3216,7 @@ class Spoom::LSP::Range < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::Range) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -3282,7 +3282,7 @@ class Spoom::LSP::SignatureHelp < ::T::Struct
|
|||||||
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
|
sig { params(json: T::Hash[T.untyped, T.untyped]).returns(::Spoom::LSP::SignatureHelp) }
|
||||||
def from_json(json); end
|
def from_json(json); end
|
||||||
|
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
12
Library/Homebrew/sorbet/rbi/gems/tapioca@0.12.0.rbi
generated
12
Library/Homebrew/sorbet/rbi/gems/tapioca@0.12.0.rbi
generated
@ -204,7 +204,7 @@ class RBI::TypedParam < ::T::Struct
|
|||||||
const :type, ::String
|
const :type, ::String
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -212,8 +212,6 @@ end
|
|||||||
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
|
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#5
|
||||||
module T::Generic
|
module T::Generic
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::ActiveSupport::ForkTracker::CoreExtPrivate
|
|
||||||
|
|
||||||
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
|
# source://tapioca//lib/tapioca/sorbet_ext/generic_name_patch.rb#13
|
||||||
def [](*types); end
|
def [](*types); end
|
||||||
@ -1123,7 +1121,7 @@ class Tapioca::ConfigHelper::ConfigError < ::T::Struct
|
|||||||
const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
|
const :message_parts, T::Array[::Tapioca::ConfigHelper::ConfigErrorMessagePart]
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -1134,7 +1132,7 @@ class Tapioca::ConfigHelper::ConfigErrorMessagePart < ::T::Struct
|
|||||||
const :colors, T::Array[::Symbol]
|
const :colors, T::Array[::Symbol]
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11218/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2434,7 +2432,7 @@ class Tapioca::Loaders::Loader
|
|||||||
# @param engine [T.class_of(Rails::Engine)]
|
# @param engine [T.class_of(Rails::Engine)]
|
||||||
# @return [Array<String>]
|
# @return [Array<String>]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11218/lib/types/private/methods/_methods.rb#252
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def eager_load_paths(*args, **_arg1, &blk); end
|
def eager_load_paths(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://tapioca//lib/tapioca/loaders/loader.rb#198
|
# source://tapioca//lib/tapioca/loaders/loader.rb#198
|
||||||
@ -3342,7 +3340,7 @@ module Tapioca::Static::SymbolLoader
|
|||||||
|
|
||||||
# @return [Array<T.class_of(Rails::Engine)>]
|
# @return [Array<T.class_of(Rails::Engine)>]
|
||||||
#
|
#
|
||||||
# source://sorbet-runtime/0.5.11218/lib/types/private/methods/_methods.rb#252
|
# source://sorbet-runtime/0.5.11219/lib/types/private/methods/_methods.rb#252
|
||||||
def engines(*args, **_arg1, &blk); end
|
def engines(*args, **_arg1, &blk); end
|
||||||
|
|
||||||
# source://tapioca//lib/tapioca/static/symbol_loader.rb#82
|
# source://tapioca//lib/tapioca/static/symbol_loader.rb#82
|
||||||
|
|||||||
5917
Library/Homebrew/sorbet/rbi/gems/tzinfo@2.0.6.rbi
generated
5917
Library/Homebrew/sorbet/rbi/gems/tzinfo@2.0.6.rbi
generated
File diff suppressed because it is too large
Load Diff
@ -381,7 +381,7 @@ class YARDSorbet::TStructProp < ::T::Struct
|
|||||||
const :types, T::Array[::String]
|
const :types, T::Array[::String]
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
# source://sorbet-runtime/0.5.11150/lib/types/struct.rb#13
|
# source://sorbet-runtime/0.5.11219/lib/types/struct.rb#13
|
||||||
def inherited(s); end
|
def inherited(s); end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
1
Library/Homebrew/sorbet/rbi/gems/yard@0.9.34.rbi
generated
1
Library/Homebrew/sorbet/rbi/gems/yard@0.9.34.rbi
generated
@ -464,7 +464,6 @@ class Module
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Object < ::BasicObject
|
class Object < ::BasicObject
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
include ::Kernel
|
include ::Kernel
|
||||||
include ::PP::ObjectMixin
|
include ::PP::ObjectMixin
|
||||||
|
|
||||||
|
|||||||
999
Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.6.12.rbi
generated
999
Library/Homebrew/sorbet/rbi/gems/zeitwerk@2.6.12.rbi
generated
@ -1,999 +0,0 @@
|
|||||||
# typed: true
|
|
||||||
|
|
||||||
# DO NOT EDIT MANUALLY
|
|
||||||
# This is an autogenerated file for types exported from the `zeitwerk` gem.
|
|
||||||
# Please instead update this file by running `bin/tapioca gem zeitwerk`.
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/kernel.rb#3
|
|
||||||
module Kernel
|
|
||||||
include ::ActiveSupport::ForkTracker::CoreExt
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/kernel.rb#27
|
|
||||||
def require(path); end
|
|
||||||
|
|
||||||
class << self
|
|
||||||
# source://zeitwerk//lib/zeitwerk/kernel.rb#27
|
|
||||||
def require(path); end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk.rb#3
|
|
||||||
module Zeitwerk
|
|
||||||
class << self
|
|
||||||
# This is a dangerous method.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk.rb#20
|
|
||||||
def with_loader; end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#4
|
|
||||||
class Zeitwerk::Error < ::StandardError; end
|
|
||||||
|
|
||||||
# Centralizes the logic for the trace point used to detect the creation of
|
|
||||||
# explicit namespaces, needed to descend into matching subdirectories right
|
|
||||||
# after the constant has been defined.
|
|
||||||
#
|
|
||||||
# The implementation assumes an explicit namespace is managed by one loader.
|
|
||||||
# Loaders that reopen namespaces owned by other projects are responsible for
|
|
||||||
# loading their constant before setup. This is documented.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#11
|
|
||||||
module Zeitwerk::ExplicitNamespace
|
|
||||||
extend ::Zeitwerk::RealModName
|
|
||||||
|
|
||||||
class << self
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#35
|
|
||||||
def __register(cpath, loader); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#53
|
|
||||||
def __registered?(cpath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#45
|
|
||||||
def __unregister_loader(loader); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# Maps constant paths that correspond to explicit namespaces according to
|
|
||||||
# the file system, to the loader responsible for them.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#20
|
|
||||||
def cpaths; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#58
|
|
||||||
def disable_tracer_if_unneeded; end
|
|
||||||
|
|
||||||
# Returns the value of attribute mutex.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#24
|
|
||||||
def mutex; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#35
|
|
||||||
def register(cpath, loader); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#53
|
|
||||||
def registered?(cpath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#65
|
|
||||||
def tracepoint_class_callback(event); end
|
|
||||||
|
|
||||||
# Returns the value of attribute tracer.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#28
|
|
||||||
def tracer; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/explicit_namespace.rb#45
|
|
||||||
def unregister_loader(loader); end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_inflector.rb#5
|
|
||||||
class Zeitwerk::GemInflector < ::Zeitwerk::Inflector
|
|
||||||
# @return [GemInflector] a new instance of GemInflector
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_inflector.rb#6
|
|
||||||
def initialize(root_file); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_inflector.rb#13
|
|
||||||
def camelize(basename, abspath); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_loader.rb#5
|
|
||||||
class Zeitwerk::GemLoader < ::Zeitwerk::Loader
|
|
||||||
# @return [GemLoader] a new instance of GemLoader
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_loader.rb#19
|
|
||||||
def initialize(root_file, namespace:, warn_on_extra_files:); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_loader.rb#34
|
|
||||||
def setup; end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_loader.rb#42
|
|
||||||
def warn_on_extra_files; end
|
|
||||||
|
|
||||||
class << self
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/gem_loader.rb#14
|
|
||||||
def __new(root_file, namespace:, warn_on_extra_files:); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def new(*_arg0); end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/inflector.rb#4
|
|
||||||
class Zeitwerk::Inflector
|
|
||||||
# Very basic snake case -> camel case conversion.
|
|
||||||
#
|
|
||||||
# inflector = Zeitwerk::Inflector.new
|
|
||||||
# inflector.camelize("post", ...) # => "Post"
|
|
||||||
# inflector.camelize("users_controller", ...) # => "UsersController"
|
|
||||||
# inflector.camelize("api", ...) # => "Api"
|
|
||||||
#
|
|
||||||
# Takes into account hard-coded mappings configured with `inflect`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/inflector.rb#15
|
|
||||||
def camelize(basename, _abspath); end
|
|
||||||
|
|
||||||
# Configures hard-coded inflections:
|
|
||||||
#
|
|
||||||
# inflector = Zeitwerk::Inflector.new
|
|
||||||
# inflector.inflect(
|
|
||||||
# "html_parser" => "HTMLParser",
|
|
||||||
# "mysql_adapter" => "MySQLAdapter"
|
|
||||||
# )
|
|
||||||
#
|
|
||||||
# inflector.camelize("html_parser", abspath) # => "HTMLParser"
|
|
||||||
# inflector.camelize("mysql_adapter", abspath) # => "MySQLAdapter"
|
|
||||||
# inflector.camelize("users_controller", abspath) # => "UsersController"
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/inflector.rb#32
|
|
||||||
def inflect(inflections); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# Hard-coded basename to constant name user maps that override the default
|
|
||||||
# inflection logic.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/inflector.rb#42
|
|
||||||
def overrides; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# This is a private module.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/internal.rb#4
|
|
||||||
module Zeitwerk::Internal
|
|
||||||
# source://zeitwerk//lib/zeitwerk/internal.rb#5
|
|
||||||
def internal(method_name); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#7
|
|
||||||
class Zeitwerk::Loader
|
|
||||||
include ::Zeitwerk::RealModName
|
|
||||||
include ::Zeitwerk::Loader::Callbacks
|
|
||||||
include ::Zeitwerk::Loader::Helpers
|
|
||||||
include ::Zeitwerk::Loader::Config
|
|
||||||
include ::Zeitwerk::Loader::EagerLoad
|
|
||||||
extend ::Zeitwerk::Internal
|
|
||||||
extend ::Zeitwerk::RealModName
|
|
||||||
|
|
||||||
# @return [Loader] a new instance of Loader
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#99
|
|
||||||
def initialize; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#43
|
|
||||||
def __autoloaded_dirs; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#33
|
|
||||||
def __autoloads; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#77
|
|
||||||
def __namespace_dirs; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#310
|
|
||||||
def __shadowed_file?(file); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#88
|
|
||||||
def __shadowed_files; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#59
|
|
||||||
def __to_unload; end
|
|
||||||
|
|
||||||
# @raise [Zeitwerk::Error]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#234
|
|
||||||
def cpath_expected_at(path); end
|
|
||||||
|
|
||||||
# Unloads all loaded code, and calls setup again so that the loader is able
|
|
||||||
# to pick any changes in the file system.
|
|
||||||
#
|
|
||||||
# This method is not thread-safe, please see how this can be achieved by
|
|
||||||
# client code in the README of the project.
|
|
||||||
#
|
|
||||||
# @raise [Zeitwerk::Error]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#223
|
|
||||||
def reload; end
|
|
||||||
|
|
||||||
# Sets autoloads in the root namespaces.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#119
|
|
||||||
def setup; end
|
|
||||||
|
|
||||||
# Removes loaded constants and configured autoloads.
|
|
||||||
#
|
|
||||||
# The objects the constants stored are no longer reachable through them. In
|
|
||||||
# addition, since said objects are normally not referenced from anywhere
|
|
||||||
# else, they are eligible for garbage collection, which would effectively
|
|
||||||
# unload them.
|
|
||||||
#
|
|
||||||
# This method is public but undocumented. Main interface is `reload`, which
|
|
||||||
# means `unload` + `setup`. This one is available to be used together with
|
|
||||||
# `unregister`, which is undocumented too.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#145
|
|
||||||
def unload; end
|
|
||||||
|
|
||||||
# Says if the given constant path would be unloaded on reload. This
|
|
||||||
# predicate returns `false` if reloading is disabled.
|
|
||||||
#
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#285
|
|
||||||
def unloadable_cpath?(cpath); end
|
|
||||||
|
|
||||||
# Returns an array with the constant paths that would be unloaded on reload.
|
|
||||||
# This predicate returns an empty array if reloading is disabled.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#293
|
|
||||||
def unloadable_cpaths; end
|
|
||||||
|
|
||||||
# This is a dangerous method.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#301
|
|
||||||
def unregister; end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#456
|
|
||||||
def autoload_file(parent, cname, file); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#514
|
|
||||||
def autoload_path_set_by_me_for?(parent, cname); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#426
|
|
||||||
def autoload_subdir(parent, cname, subdir); end
|
|
||||||
|
|
||||||
# We keep track of autoloaded directories to remove them from the registry
|
|
||||||
# at the end of eager loading.
|
|
||||||
#
|
|
||||||
# Files are removed as they are autoloaded, but directories need to wait due
|
|
||||||
# to concurrency (see why in Zeitwerk::Loader::Callbacks#on_dir_autoloaded).
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#43
|
|
||||||
def autoloaded_dirs; end
|
|
||||||
|
|
||||||
# Maps absolute paths for which an autoload has been set ---and not
|
|
||||||
# executed--- to their corresponding parent class or module and constant
|
|
||||||
# name.
|
|
||||||
#
|
|
||||||
# "/Users/fxn/blog/app/models/user.rb" => [Object, :User],
|
|
||||||
# "/Users/fxn/blog/app/models/hotel/pricing.rb" => [Hotel, :Pricing]
|
|
||||||
# ...
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#33
|
|
||||||
def autoloads; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#493
|
|
||||||
def define_autoload(parent, cname, abspath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#410
|
|
||||||
def define_autoloads_for_dir(dir, parent); end
|
|
||||||
|
|
||||||
# Returns the value of attribute dirs_autoload_monitor.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#96
|
|
||||||
def dirs_autoload_monitor; end
|
|
||||||
|
|
||||||
# Returns the value of attribute mutex.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#92
|
|
||||||
def mutex; end
|
|
||||||
|
|
||||||
# Maps namespace constant paths to their respective directories.
|
|
||||||
#
|
|
||||||
# For example, given this mapping:
|
|
||||||
#
|
|
||||||
# "Admin" => [
|
|
||||||
# "/Users/fxn/blog/app/controllers/admin",
|
|
||||||
# "/Users/fxn/blog/app/models/admin",
|
|
||||||
# ...
|
|
||||||
# ]
|
|
||||||
#
|
|
||||||
# when `Admin` gets defined we know that it plays the role of a namespace
|
|
||||||
# and that its children are spread over those directories. We'll visit them
|
|
||||||
# to set up the corresponding autoloads.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#77
|
|
||||||
def namespace_dirs; end
|
|
||||||
|
|
||||||
# `dir` is the directory that would have autovivified a namespace. `file` is
|
|
||||||
# the file where we've found the namespace is explicitly defined.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#482
|
|
||||||
def promote_namespace_from_implicit_to_explicit(dir:, file:, parent:, cname:); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#528
|
|
||||||
def raise_if_conflicting_directory(dir); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#523
|
|
||||||
def register_explicit_namespace(cpath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#552
|
|
||||||
def run_on_unload_callbacks(cpath, value, abspath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#310
|
|
||||||
def shadowed_file?(file); end
|
|
||||||
|
|
||||||
# A shadowed file is a file managed by this loader that is ignored when
|
|
||||||
# setting autoloads because its matching constant is already taken.
|
|
||||||
#
|
|
||||||
# This private set is populated as we descend. For example, if the loader
|
|
||||||
# has only scanned the top-level, `shadowed_files` does not have shadowed
|
|
||||||
# files that may exist deep in the project tree yet.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#88
|
|
||||||
def shadowed_files; end
|
|
||||||
|
|
||||||
# Stores metadata needed for unloading. Its entries look like this:
|
|
||||||
#
|
|
||||||
# "Admin::Role" => [".../admin/role.rb", [Admin, :Role]]
|
|
||||||
#
|
|
||||||
# The cpath as key helps implementing unloadable_cpath? The file name is
|
|
||||||
# stored in order to be able to delete it from $LOADED_FEATURES, and the
|
|
||||||
# pair [Module, Symbol] is used to remove_const the constant from the class
|
|
||||||
# or module object.
|
|
||||||
#
|
|
||||||
# If reloading is enabled, this hash is filled as constants are autoloaded
|
|
||||||
# or eager loaded. Otherwise, the collection remains empty.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#59
|
|
||||||
def to_unload; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#559
|
|
||||||
def unload_autoload(parent, cname); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#565
|
|
||||||
def unload_cref(parent, cname); end
|
|
||||||
|
|
||||||
class << self
|
|
||||||
# Returns an array with the absolute paths of the root directories of all
|
|
||||||
# registered loaders. This is a read-only collection.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#404
|
|
||||||
def all_dirs; end
|
|
||||||
|
|
||||||
# Returns the value of attribute default_logger.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#320
|
|
||||||
def default_logger; end
|
|
||||||
|
|
||||||
# Sets the attribute default_logger
|
|
||||||
#
|
|
||||||
# @param value the value to set the attribute default_logger to.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#320
|
|
||||||
def default_logger=(_arg0); end
|
|
||||||
|
|
||||||
# Broadcasts `eager_load` to all loaders. Those that have not been setup
|
|
||||||
# are skipped.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#376
|
|
||||||
def eager_load_all; end
|
|
||||||
|
|
||||||
# Broadcasts `eager_load_namespace` to all loaders. Those that have not
|
|
||||||
# been setup are skipped.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#390
|
|
||||||
def eager_load_namespace(mod); end
|
|
||||||
|
|
||||||
# This is a shortcut for
|
|
||||||
#
|
|
||||||
# require "zeitwerk"
|
|
||||||
#
|
|
||||||
# loader = Zeitwerk::Loader.new
|
|
||||||
# loader.tag = File.basename(__FILE__, ".rb")
|
|
||||||
# loader.inflector = Zeitwerk::GemInflector.new(__FILE__)
|
|
||||||
# loader.push_dir(__dir__)
|
|
||||||
#
|
|
||||||
# except that this method returns the same object in subsequent calls from
|
|
||||||
# the same file, in the unlikely case the gem wants to be able to reload.
|
|
||||||
#
|
|
||||||
# This method returns a subclass of Zeitwerk::Loader, but the exact type
|
|
||||||
# is private, client code can only rely on the interface.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#338
|
|
||||||
def for_gem(warn_on_extra_files: T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# This is a shortcut for
|
|
||||||
#
|
|
||||||
# require "zeitwerk"
|
|
||||||
#
|
|
||||||
# loader = Zeitwerk::Loader.new
|
|
||||||
# loader.tag = namespace.name + "-" + File.basename(__FILE__, ".rb")
|
|
||||||
# loader.inflector = Zeitwerk::GemInflector.new(__FILE__)
|
|
||||||
# loader.push_dir(__dir__, namespace: namespace)
|
|
||||||
#
|
|
||||||
# except that this method returns the same object in subsequent calls from
|
|
||||||
# the same file, in the unlikely case the gem wants to be able to reload.
|
|
||||||
#
|
|
||||||
# This method returns a subclass of Zeitwerk::Loader, but the exact type
|
|
||||||
# is private, client code can only rely on the interface.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#359
|
|
||||||
def for_gem_extension(namespace); end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#3
|
|
||||||
module Zeitwerk::Loader::Callbacks
|
|
||||||
include ::Zeitwerk::RealModName
|
|
||||||
extend ::Zeitwerk::Internal
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#41
|
|
||||||
def __on_dir_autoloaded(dir); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#10
|
|
||||||
def __on_file_autoloaded(file); end
|
|
||||||
|
|
||||||
# Invoked when a class or module is created or reopened, either from the
|
|
||||||
# tracer or from module autovivification. If the namespace has matching
|
|
||||||
# subdirectories, we descend into them now.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#81
|
|
||||||
def on_namespace_loaded(namespace); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#41
|
|
||||||
def on_dir_autoloaded(dir); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#10
|
|
||||||
def on_file_autoloaded(file); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/callbacks.rb#92
|
|
||||||
def run_on_load_callbacks(cpath, value, abspath); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#6
|
|
||||||
module Zeitwerk::Loader::Config
|
|
||||||
include ::Zeitwerk::RealModName
|
|
||||||
extend ::Zeitwerk::Internal
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#86
|
|
||||||
def initialize; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#296
|
|
||||||
def __ignores?(abspath); end
|
|
||||||
|
|
||||||
def __roots; end
|
|
||||||
|
|
||||||
# Configure directories or glob patterns to be collapsed.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#216
|
|
||||||
def collapse(*glob_patterns); end
|
|
||||||
|
|
||||||
# If `namespaces` is falsey (default), returns an array with the absolute
|
|
||||||
# paths of the root directories as strings. If truthy, returns a hash table
|
|
||||||
# instead. Keys are the absolute paths of the root directories as strings,
|
|
||||||
# values are their corresponding namespaces, class or module objects.
|
|
||||||
#
|
|
||||||
# If `ignored` is falsey (default), ignored root directories are filtered out.
|
|
||||||
#
|
|
||||||
# These are read-only collections, please add to them with `push_dir`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#156
|
|
||||||
def dirs(namespaces: T.unsafe(nil), ignored: T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# Let eager load ignore the given files or directories. The constants defined
|
|
||||||
# in those files are still autoloadable.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#198
|
|
||||||
def do_not_eager_load(*paths); end
|
|
||||||
|
|
||||||
# You need to call this method before setup in order to be able to reload.
|
|
||||||
# There is no way to undo this, either you want to reload or you don't.
|
|
||||||
#
|
|
||||||
# @raise [Zeitwerk::Error]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#177
|
|
||||||
def enable_reloading; end
|
|
||||||
|
|
||||||
# Configure files, directories, or glob patterns to be totally ignored.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#205
|
|
||||||
def ignore(*glob_patterns); end
|
|
||||||
|
|
||||||
# Returns the value of attribute inflector.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#11
|
|
||||||
def inflector; end
|
|
||||||
|
|
||||||
# Sets the attribute inflector
|
|
||||||
#
|
|
||||||
# @param value the value to set the attribute inflector to.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#11
|
|
||||||
def inflector=(_arg0); end
|
|
||||||
|
|
||||||
# Logs to `$stdout`, handy shortcut for debugging.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#288
|
|
||||||
def log!; end
|
|
||||||
|
|
||||||
# Returns the value of attribute logger.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#14
|
|
||||||
def logger; end
|
|
||||||
|
|
||||||
# Sets the attribute logger
|
|
||||||
#
|
|
||||||
# @param value the value to set the attribute logger to.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#14
|
|
||||||
def logger=(_arg0); end
|
|
||||||
|
|
||||||
# Configure a block to be invoked once a certain constant path is loaded.
|
|
||||||
# Supports multiple callbacks, and if there are many, they are executed in
|
|
||||||
# the order in which they were defined.
|
|
||||||
#
|
|
||||||
# loader.on_load("SomeApiClient") do |klass, _abspath|
|
|
||||||
# klass.endpoint = "https://api.dev"
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# Can also be configured for any constant loaded:
|
|
||||||
#
|
|
||||||
# loader.on_load do |cpath, value, abspath|
|
|
||||||
# # ...
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# @raise [TypeError]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#252
|
|
||||||
def on_load(cpath = T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
# Configure a block to be called after setup and on each reload.
|
|
||||||
# If setup was already done, the block runs immediately.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#228
|
|
||||||
def on_setup(&block); end
|
|
||||||
|
|
||||||
# Configure a block to be invoked right before a certain constant is removed.
|
|
||||||
# Supports multiple callbacks, and if there are many, they are executed in the
|
|
||||||
# order in which they were defined.
|
|
||||||
#
|
|
||||||
# loader.on_unload("Country") do |klass, _abspath|
|
|
||||||
# klass.clear_cache
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# Can also be configured for any removed constant:
|
|
||||||
#
|
|
||||||
# loader.on_unload do |cpath, value, abspath|
|
|
||||||
# # ...
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# @raise [TypeError]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#277
|
|
||||||
def on_unload(cpath = T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
# Pushes `path` to the list of root directories.
|
|
||||||
#
|
|
||||||
# Raises `Zeitwerk::Error` if `path` does not exist, or if another loader in
|
|
||||||
# the same process already manages that directory or one of its ascendants or
|
|
||||||
# descendants.
|
|
||||||
#
|
|
||||||
# @raise [Zeitwerk::Error]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#111
|
|
||||||
def push_dir(path, namespace: T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#190
|
|
||||||
def reloading_enabled?; end
|
|
||||||
|
|
||||||
# Returns the loader's tag.
|
|
||||||
#
|
|
||||||
# Implemented as a method instead of via attr_reader for symmetry with the
|
|
||||||
# writer below.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#135
|
|
||||||
def tag; end
|
|
||||||
|
|
||||||
# Sets a tag for the loader, useful for logging.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#142
|
|
||||||
def tag=(tag); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#314
|
|
||||||
def actual_roots; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#339
|
|
||||||
def collapse?(dir); end
|
|
||||||
|
|
||||||
# The actual collection of absolute directory names at the time the collapse
|
|
||||||
# glob patterns were expanded. Computed on setup, and recomputed on reload.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#57
|
|
||||||
def collapse_dirs; end
|
|
||||||
|
|
||||||
# Absolute paths of directories or glob patterns to be collapsed.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#50
|
|
||||||
def collapse_glob_patterns; end
|
|
||||||
|
|
||||||
# Absolute paths of files or directories not to be eager loaded.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#63
|
|
||||||
def eager_load_exclusions; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#326
|
|
||||||
def excluded_from_eager_load?(abspath); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#349
|
|
||||||
def expand_glob_patterns(glob_patterns); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#344
|
|
||||||
def expand_paths(paths); end
|
|
||||||
|
|
||||||
# Absolute paths of files, directories, or glob patterns to be totally
|
|
||||||
# ignored.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#36
|
|
||||||
def ignored_glob_patterns; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#309
|
|
||||||
def ignored_path?(abspath); end
|
|
||||||
|
|
||||||
# The actual collection of absolute file and directory names at the time the
|
|
||||||
# ignored glob patterns were expanded. Computed on setup, and recomputed on
|
|
||||||
# reload.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#44
|
|
||||||
def ignored_paths; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#296
|
|
||||||
def ignores?(abspath); end
|
|
||||||
|
|
||||||
# User-oriented callbacks to be fired when a constant is loaded.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#76
|
|
||||||
def on_load_callbacks; end
|
|
||||||
|
|
||||||
# User-oriented callbacks to be fired on setup and on reload.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#69
|
|
||||||
def on_setup_callbacks; end
|
|
||||||
|
|
||||||
# User-oriented callbacks to be fired before constants are removed.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#83
|
|
||||||
def on_unload_callbacks; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#361
|
|
||||||
def recompute_collapse_dirs; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#356
|
|
||||||
def recompute_ignored_paths; end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#321
|
|
||||||
def root_dir?(dir); end
|
|
||||||
|
|
||||||
# Absolute paths of the root directories, mapped to their respective root namespaces:
|
|
||||||
#
|
|
||||||
# "/Users/fxn/blog/app/channels" => Object,
|
|
||||||
# "/Users/fxn/blog/app/adapters" => ActiveJob::QueueAdapters,
|
|
||||||
# ...
|
|
||||||
#
|
|
||||||
# Stored in a hash to preserve order, easily handle duplicates, and have a
|
|
||||||
# fast lookup by directory.
|
|
||||||
#
|
|
||||||
# This is a private collection maintained by the loader. The public
|
|
||||||
# interface for it is `push_dir` and `dirs`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/config.rb#29
|
|
||||||
def roots; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#1
|
|
||||||
module Zeitwerk::Loader::EagerLoad
|
|
||||||
# Eager loads all files in the root directories, recursively. Files do not
|
|
||||||
# need to be in `$LOAD_PATH`, absolute file names are used. Ignored and
|
|
||||||
# shadowed files are not eager loaded. You can opt-out specifically in
|
|
||||||
# specific files and directories with `do_not_eager_load`, and that can be
|
|
||||||
# overridden passing `force: true`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#9
|
|
||||||
def eager_load(force: T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# @raise [Zeitwerk::SetupRequired]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#32
|
|
||||||
def eager_load_dir(path); end
|
|
||||||
|
|
||||||
# @raise [Zeitwerk::SetupRequired]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#74
|
|
||||||
def eager_load_namespace(mod); end
|
|
||||||
|
|
||||||
# Loads the given Ruby file.
|
|
||||||
#
|
|
||||||
# Raises if the argument is ignored, shadowed, or not managed by the receiver.
|
|
||||||
#
|
|
||||||
# The method is implemented as `constantize` for files, in a sense, to be able
|
|
||||||
# to descend orderly and make sure the file is loadable.
|
|
||||||
#
|
|
||||||
# @raise [Zeitwerk::Error]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#116
|
|
||||||
def load_file(path); end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
# The caller is responsible for making sure `namespace` is the namespace that
|
|
||||||
# corresponds to `dir`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#160
|
|
||||||
def actual_eager_load_dir(dir, namespace, force: T.unsafe(nil)); end
|
|
||||||
|
|
||||||
# In order to invoke this method, the caller has to ensure `child` is a
|
|
||||||
# strict namespace descendant of `root_namespace`.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/eager_load.rb#195
|
|
||||||
def eager_load_child_namespace(child, child_name, root_dir, root_namespace); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#3
|
|
||||||
module Zeitwerk::Loader::Helpers
|
|
||||||
private
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#128
|
|
||||||
def cdef?(parent, cname); end
|
|
||||||
|
|
||||||
# @raise [NameError]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#134
|
|
||||||
def cget(parent, cname); end
|
|
||||||
|
|
||||||
# @raise [Zeitwerk::NameError]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#149
|
|
||||||
def cname_for(basename, abspath); end
|
|
||||||
|
|
||||||
# Symbol#name was introduced in Ruby 3.0. It returns always the same
|
|
||||||
# frozen object, so we may save a few string allocations.
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#118
|
|
||||||
def cpath(parent, cname); end
|
|
||||||
|
|
||||||
# @raise [NameError]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#140
|
|
||||||
def crem(parent, cname); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#67
|
|
||||||
def dir?(path); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#45
|
|
||||||
def has_at_least_one_ruby_file?(dir); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#72
|
|
||||||
def hidden?(basename); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#7
|
|
||||||
def log(message); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#15
|
|
||||||
def ls(dir); end
|
|
||||||
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#62
|
|
||||||
def ruby?(path); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#109
|
|
||||||
def strict_autoload_path(parent, cname); end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#77
|
|
||||||
def walk_up(abspath); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader/helpers.rb#144
|
|
||||||
module Zeitwerk::Loader::Helpers::CNAME_VALIDATOR; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/loader.rb#21
|
|
||||||
Zeitwerk::Loader::MUTEX = T.let(T.unsafe(nil), Thread::Mutex)
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#13
|
|
||||||
class Zeitwerk::NameError < ::NameError; end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/real_mod_name.rb#3
|
|
||||||
module Zeitwerk::RealModName
|
|
||||||
# source://zeitwerk//lib/zeitwerk/real_mod_name.rb#14
|
|
||||||
def real_mod_name(mod); end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/real_mod_name.rb#4
|
|
||||||
Zeitwerk::RealModName::UNBOUND_METHOD_MODULE_NAME = T.let(T.unsafe(nil), UnboundMethod)
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#4
|
|
||||||
module Zeitwerk::Registry
|
|
||||||
class << self
|
|
||||||
# Maps absolute paths to the loaders responsible for them.
|
|
||||||
#
|
|
||||||
# This information is used by our decorated `Kernel#require` to be able to
|
|
||||||
# invoke callbacks and autovivify modules.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#26
|
|
||||||
def autoloads; end
|
|
||||||
|
|
||||||
# Registers gem loaders to let `for_gem` be idempotent in case of reload.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#17
|
|
||||||
def gem_loaders_by_root_file; end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
# @return [Boolean]
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#113
|
|
||||||
def inception?(cpath); end
|
|
||||||
|
|
||||||
# This hash table addresses an edge case in which an autoload is ignored.
|
|
||||||
#
|
|
||||||
# For example, let's suppose we want to autoload in a gem like this:
|
|
||||||
#
|
|
||||||
# # lib/my_gem.rb
|
|
||||||
# loader = Zeitwerk::Loader.new
|
|
||||||
# loader.push_dir(__dir__)
|
|
||||||
# loader.setup
|
|
||||||
#
|
|
||||||
# module MyGem
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# if you require "my_gem", as Bundler would do, this happens while setting
|
|
||||||
# up autoloads:
|
|
||||||
#
|
|
||||||
# 1. Object.autoload?(:MyGem) returns `nil` because the autoload for
|
|
||||||
# the constant is issued by Zeitwerk while the same file is being
|
|
||||||
# required.
|
|
||||||
# 2. The constant `MyGem` is undefined while setup runs.
|
|
||||||
#
|
|
||||||
# Therefore, a directory `lib/my_gem` would autovivify a module according to
|
|
||||||
# the existing information. But that would be wrong.
|
|
||||||
#
|
|
||||||
# To overcome this fundamental limitation, we keep track of the constant
|
|
||||||
# paths that are in this situation ---in the example above, "MyGem"--- and
|
|
||||||
# take this collection into account for the autovivification logic.
|
|
||||||
#
|
|
||||||
# Note that you cannot generally address this by moving the setup code
|
|
||||||
# below the constant definition, because we want libraries to be able to
|
|
||||||
# use managed constants in the module body:
|
|
||||||
#
|
|
||||||
# module MyGem
|
|
||||||
# include MyConcern
|
|
||||||
# end
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#65
|
|
||||||
def inceptions; end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#121
|
|
||||||
def loader_for(path); end
|
|
||||||
|
|
||||||
# This method returns always a loader, the same instance for the same root
|
|
||||||
# file. That is how Zeitwerk::Loader.for_gem is idempotent.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#89
|
|
||||||
def loader_for_gem(root_file, namespace:, warn_on_extra_files:); end
|
|
||||||
|
|
||||||
# Keeps track of all loaders. Useful to broadcast messages and to prevent
|
|
||||||
# them from being garbage collected.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#11
|
|
||||||
def loaders; end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#127
|
|
||||||
def on_unload(loader); end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#95
|
|
||||||
def register_autoload(loader, abspath); end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#107
|
|
||||||
def register_inception(cpath, abspath, loader); end
|
|
||||||
|
|
||||||
# Registers a loader.
|
|
||||||
#
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#71
|
|
||||||
def register_loader(loader); end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#101
|
|
||||||
def unregister_autoload(abspath); end
|
|
||||||
|
|
||||||
# @private
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/registry.rb#77
|
|
||||||
def unregister_loader(loader); end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#7
|
|
||||||
class Zeitwerk::ReloadingDisabledError < ::Zeitwerk::Error
|
|
||||||
# @return [ReloadingDisabledError] a new instance of ReloadingDisabledError
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#8
|
|
||||||
def initialize; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#16
|
|
||||||
class Zeitwerk::SetupRequired < ::Zeitwerk::Error
|
|
||||||
# @return [SetupRequired] a new instance of SetupRequired
|
|
||||||
#
|
|
||||||
# source://zeitwerk//lib/zeitwerk/error.rb#17
|
|
||||||
def initialize; end
|
|
||||||
end
|
|
||||||
|
|
||||||
# source://zeitwerk//lib/zeitwerk/version.rb#4
|
|
||||||
Zeitwerk::VERSION = T.let(T.unsafe(nil), String)
|
|
||||||
@ -11,10 +11,6 @@ class AbstractDownloadStrategy
|
|||||||
include ::FileUtils::StreamUtils_
|
include ::FileUtils::StreamUtils_
|
||||||
end
|
end
|
||||||
|
|
||||||
class ActiveSupport::Deprecation
|
|
||||||
def self.initialize(*arg, **arg1, &arg2); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Addrinfo
|
class Addrinfo
|
||||||
def connect_internal(local_addrinfo, timeout=T.unsafe(nil)); end
|
def connect_internal(local_addrinfo, timeout=T.unsafe(nil)); end
|
||||||
end
|
end
|
||||||
@ -27,8 +23,6 @@ class Array
|
|||||||
|
|
||||||
def shelljoin(); end
|
def shelljoin(); end
|
||||||
|
|
||||||
def to_default_s(); end
|
|
||||||
|
|
||||||
def to_h(); end
|
def to_h(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -79,10 +73,6 @@ class Benchmark::Tms
|
|||||||
def to_h(); end
|
def to_h(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
module Benchmark
|
|
||||||
def self.ms(&block); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class BigDecimal
|
class BigDecimal
|
||||||
def clone(); end
|
def clone(); end
|
||||||
|
|
||||||
@ -93,8 +83,6 @@ class BigDecimal
|
|||||||
def precision_scale(); end
|
def precision_scale(); end
|
||||||
|
|
||||||
def scale(); end
|
def scale(); end
|
||||||
|
|
||||||
def to_digits(); end
|
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1944,6 +1932,8 @@ class Bundler::Thor::CoreExt::HashWithIndifferentAccess
|
|||||||
|
|
||||||
def reverse_merge(other); end
|
def reverse_merge(other); end
|
||||||
|
|
||||||
|
def reverse_merge!(other_hash); end
|
||||||
|
|
||||||
def values_at(*indices); end
|
def values_at(*indices); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -3473,18 +3463,6 @@ class Class
|
|||||||
def json_creatable?(); end
|
def json_creatable?(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Complex
|
|
||||||
def to_d(*args); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Concurrent::SerializedExecutionDelegator
|
|
||||||
RUBYGEMS_ACTIVATION_MONITOR = ::T.let(nil, ::T.untyped)
|
|
||||||
end
|
|
||||||
|
|
||||||
class Concurrent::SynchronizedDelegator
|
|
||||||
RUBYGEMS_ACTIVATION_MONITOR = ::T.let(nil, ::T.untyped)
|
|
||||||
end
|
|
||||||
|
|
||||||
module CopHelper
|
module CopHelper
|
||||||
def _investigate(cop, processed_source); end
|
def _investigate(cop, processed_source); end
|
||||||
|
|
||||||
@ -3507,17 +3485,7 @@ module CopHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Date
|
class Date
|
||||||
def compare_without_coercion(arg); end
|
|
||||||
|
|
||||||
def default_inspect(); end
|
|
||||||
|
|
||||||
def infinite?(); end
|
def infinite?(); end
|
||||||
|
|
||||||
def minus_without_duration(arg); end
|
|
||||||
|
|
||||||
def plus_without_duration(arg); end
|
|
||||||
|
|
||||||
def to_default_s(); end
|
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -4131,6 +4099,8 @@ class Etc::Passwd
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Exception
|
class Exception
|
||||||
|
def as_json(*arg); end
|
||||||
|
|
||||||
def to_json(*args); end
|
def to_json(*args); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -4193,6 +4163,7 @@ module Fiddle
|
|||||||
TYPE_INT32_T = ::T.let(nil, ::T.untyped)
|
TYPE_INT32_T = ::T.let(nil, ::T.untyped)
|
||||||
TYPE_INT64_T = ::T.let(nil, ::T.untyped)
|
TYPE_INT64_T = ::T.let(nil, ::T.untyped)
|
||||||
TYPE_INT8_T = ::T.let(nil, ::T.untyped)
|
TYPE_INT8_T = ::T.let(nil, ::T.untyped)
|
||||||
|
TYPE_VARIADIC = ::T.let(nil, ::T.untyped)
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
WINDOWS = ::T.let(nil, ::T.untyped)
|
WINDOWS = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
@ -5444,8 +5415,123 @@ class IO
|
|||||||
def winsize(); end
|
def winsize(); end
|
||||||
|
|
||||||
def winsize=(winsize); end
|
def winsize=(winsize); end
|
||||||
|
PRIORITY = ::T.let(nil, ::T.untyped)
|
||||||
|
READABLE = ::T.let(nil, ::T.untyped)
|
||||||
|
WRITABLE = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class IO::Buffer
|
||||||
|
include ::Comparable
|
||||||
|
def clear(*arg); end
|
||||||
|
|
||||||
|
def copy(*arg); end
|
||||||
|
|
||||||
|
def empty?(); end
|
||||||
|
|
||||||
|
def external?(); end
|
||||||
|
|
||||||
|
def free(); end
|
||||||
|
|
||||||
|
def get_string(*arg); end
|
||||||
|
|
||||||
|
def get_value(arg, arg1); end
|
||||||
|
|
||||||
|
def hexdump(); end
|
||||||
|
|
||||||
|
def initialize(*arg); end
|
||||||
|
|
||||||
|
def internal?(); end
|
||||||
|
|
||||||
|
def locked(); end
|
||||||
|
|
||||||
|
def locked?(); end
|
||||||
|
|
||||||
|
def mapped?(); end
|
||||||
|
|
||||||
|
def null?(); end
|
||||||
|
|
||||||
|
def pread(arg, arg1, arg2); end
|
||||||
|
|
||||||
|
def pwrite(arg, arg1, arg2); end
|
||||||
|
|
||||||
|
def read(arg, arg1); end
|
||||||
|
|
||||||
|
def readonly?(); end
|
||||||
|
|
||||||
|
def resize(arg); end
|
||||||
|
|
||||||
|
def set_string(*arg); end
|
||||||
|
|
||||||
|
def set_value(arg, arg1, arg2); end
|
||||||
|
|
||||||
|
def size(); end
|
||||||
|
|
||||||
|
def slice(arg, arg1); end
|
||||||
|
|
||||||
|
def transfer(); end
|
||||||
|
|
||||||
|
def valid?(); end
|
||||||
|
|
||||||
|
def write(arg, arg1); end
|
||||||
|
BIG_ENDIAN = ::T.let(nil, ::T.untyped)
|
||||||
|
DEFAULT_SIZE = ::T.let(nil, ::T.untyped)
|
||||||
|
EXTERNAL = ::T.let(nil, ::T.untyped)
|
||||||
|
HOST_ENDIAN = ::T.let(nil, ::T.untyped)
|
||||||
|
INTERNAL = ::T.let(nil, ::T.untyped)
|
||||||
|
LITTLE_ENDIAN = ::T.let(nil, ::T.untyped)
|
||||||
|
LOCKED = ::T.let(nil, ::T.untyped)
|
||||||
|
MAPPED = ::T.let(nil, ::T.untyped)
|
||||||
|
NETWORK_ENDIAN = ::T.let(nil, ::T.untyped)
|
||||||
|
PAGE_SIZE = ::T.let(nil, ::T.untyped)
|
||||||
|
PRIVATE = ::T.let(nil, ::T.untyped)
|
||||||
|
READONLY = ::T.let(nil, ::T.untyped)
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::AccessError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::AccessError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::AllocationError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::AllocationError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::InvalidatedError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::InvalidatedError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::LockedError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer::LockedError
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::Buffer
|
||||||
|
def self.for(arg); end
|
||||||
|
|
||||||
|
def self.map(*arg); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::ConsoleMode
|
||||||
|
def echo=(echo); end
|
||||||
|
|
||||||
|
def raw(*arg); end
|
||||||
|
|
||||||
|
def raw!(*arg); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class IO::ConsoleMode
|
||||||
|
end
|
||||||
|
|
||||||
|
IO::EWOULDBLOCKWaitReadable = IO::EAGAINWaitReadable
|
||||||
|
|
||||||
|
IO::EWOULDBLOCKWaitWritable = IO::EAGAINWaitWritable
|
||||||
|
|
||||||
class IO
|
class IO
|
||||||
def self.console(*arg); end
|
def self.console(*arg); end
|
||||||
|
|
||||||
@ -5841,8 +5927,6 @@ end
|
|||||||
module Kernel
|
module Kernel
|
||||||
extend ::Forwardable
|
extend ::Forwardable
|
||||||
def self.at_exit(); end
|
def self.at_exit(); end
|
||||||
|
|
||||||
def self.load(*arg); end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class KeyError
|
class KeyError
|
||||||
@ -5887,6 +5971,10 @@ class LinuxRunnerSpec
|
|||||||
def self.inherited(s); end
|
def self.inherited(s); end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class LoadError
|
||||||
|
include ::DidYouMean::Correctable
|
||||||
|
end
|
||||||
|
|
||||||
class Logger
|
class Logger
|
||||||
def debug!(); end
|
def debug!(); end
|
||||||
|
|
||||||
@ -6015,208 +6103,10 @@ class Method
|
|||||||
def public?(); end
|
def public?(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
module Minitest::Assertions
|
|
||||||
def assert_mock(mock); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Expectation
|
|
||||||
def ctx(); end
|
|
||||||
|
|
||||||
def ctx=(_); end
|
|
||||||
|
|
||||||
def target(); end
|
|
||||||
|
|
||||||
def target=(_); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Expectation
|
|
||||||
def self.[](*arg); end
|
|
||||||
|
|
||||||
def self.keyword_init?(); end
|
|
||||||
|
|
||||||
def self.members(); end
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Expectations
|
|
||||||
def must_be(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_close_to(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_empty(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_instance_of(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_kind_of(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_nil(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_same_as(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_silent(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_within_delta(*args, **arg); end
|
|
||||||
|
|
||||||
def must_be_within_epsilon(*args, **arg); end
|
|
||||||
|
|
||||||
def must_equal(*args, **arg); end
|
|
||||||
|
|
||||||
def must_include(*args, **arg); end
|
|
||||||
|
|
||||||
def must_match(*args, **arg); end
|
|
||||||
|
|
||||||
def must_output(*args, **arg); end
|
|
||||||
|
|
||||||
def must_pattern_match(*args, **arg); end
|
|
||||||
|
|
||||||
def must_raise(*args, **arg); end
|
|
||||||
|
|
||||||
def must_respond_to(*args, **arg); end
|
|
||||||
|
|
||||||
def must_throw(*args, **arg); end
|
|
||||||
|
|
||||||
def path_must_exist(*args, **arg); end
|
|
||||||
|
|
||||||
def path_wont_exist(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_close_to(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_empty(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_instance_of(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_kind_of(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_nil(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_same_as(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_within_delta(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_be_within_epsilon(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_equal(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_include(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_match(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_pattern_match(*args, **arg); end
|
|
||||||
|
|
||||||
def wont_respond_to(*args, **arg); end
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Expectations
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Mock
|
|
||||||
def ===(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def __call(name, data); end
|
|
||||||
|
|
||||||
def __respond_to?(*arg); end
|
|
||||||
|
|
||||||
def class(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def expect(name, retval, args=T.unsafe(nil), **kwargs, &blk); end
|
|
||||||
|
|
||||||
def initialize(delegator=T.unsafe(nil)); end
|
|
||||||
|
|
||||||
def inspect(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def instance_eval(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def instance_variables(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def method_missing(sym, *args, **kwargs, &block); end
|
|
||||||
|
|
||||||
def object_id(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def public_send(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def respond_to?(sym, include_private=T.unsafe(nil)); end
|
|
||||||
|
|
||||||
def send(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def to_s(*args, **kwargs, &b); end
|
|
||||||
|
|
||||||
def verify(); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Mock
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Spec
|
|
||||||
include ::Minitest::Spec::DSL::InstanceMethods
|
|
||||||
TYPES = ::T.let(nil, ::T.untyped)
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Spec::DSL
|
|
||||||
def after(_type=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def before(_type=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def children(); end
|
|
||||||
|
|
||||||
def create(name, desc); end
|
|
||||||
|
|
||||||
def desc(); end
|
|
||||||
|
|
||||||
def describe_stack(); end
|
|
||||||
|
|
||||||
def it(desc=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def let(name, &block); end
|
|
||||||
|
|
||||||
def name(); end
|
|
||||||
|
|
||||||
def nuke_test_methods!(); end
|
|
||||||
|
|
||||||
def register_spec_type(*args, &block); end
|
|
||||||
|
|
||||||
def spec_type(desc, *additional); end
|
|
||||||
|
|
||||||
def specify(desc=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def subject(&block); end
|
|
||||||
|
|
||||||
def to_s(); end
|
|
||||||
TYPES = ::T.let(nil, ::T.untyped)
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Spec::DSL::InstanceMethods
|
|
||||||
def _(value=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def before_setup(); end
|
|
||||||
|
|
||||||
def expect(value=T.unsafe(nil), &block); end
|
|
||||||
|
|
||||||
def value(value=T.unsafe(nil), &block); end
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Spec::DSL::InstanceMethods
|
|
||||||
end
|
|
||||||
|
|
||||||
module Minitest::Spec::DSL
|
|
||||||
def self.extended(obj); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Minitest::Spec
|
|
||||||
extend ::Minitest::Spec::DSL
|
|
||||||
def self.current(); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Mktemp
|
class Mktemp
|
||||||
include ::FileUtils::StreamUtils_
|
include ::FileUtils::StreamUtils_
|
||||||
end
|
end
|
||||||
|
|
||||||
class MockExpectationError
|
|
||||||
end
|
|
||||||
|
|
||||||
class MockExpectationError
|
|
||||||
end
|
|
||||||
|
|
||||||
class Module
|
class Module
|
||||||
def context(*a, &b); end
|
def context(*a, &b); end
|
||||||
|
|
||||||
@ -6228,8 +6118,6 @@ class Module
|
|||||||
|
|
||||||
def fdescribe(*a, &b); end
|
def fdescribe(*a, &b); end
|
||||||
|
|
||||||
def infect_an_assertion(meth, new_name, dont_flip=T.unsafe(nil)); end
|
|
||||||
|
|
||||||
def shared_context(name, *args, &block); end
|
def shared_context(name, *args, &block); end
|
||||||
|
|
||||||
def shared_examples(name, *args, &block); end
|
def shared_examples(name, *args, &block); end
|
||||||
@ -6279,8 +6167,9 @@ class MonitorMixin::ConditionVariable
|
|||||||
def initialize(monitor); end
|
def initialize(monitor); end
|
||||||
end
|
end
|
||||||
|
|
||||||
module Mutex_m
|
class NameError
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
include ::ErrorHighlight::CoreExt
|
||||||
|
include ::DidYouMean::Correctable
|
||||||
end
|
end
|
||||||
|
|
||||||
class Net::BufferedIO
|
class Net::BufferedIO
|
||||||
@ -6324,8 +6213,6 @@ class Net::HTTP
|
|||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
Net::HTTP::ProxyMod = Net::HTTP::ProxyDelta
|
|
||||||
|
|
||||||
class Net::HTTPAlreadyReported
|
class Net::HTTPAlreadyReported
|
||||||
HAS_BODY = ::T.let(nil, ::T.untyped)
|
HAS_BODY = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
@ -6346,13 +6233,9 @@ end
|
|||||||
|
|
||||||
Net::HTTPFatalErrorCode = Net::HTTPClientError
|
Net::HTTPFatalErrorCode = Net::HTTPClientError
|
||||||
|
|
||||||
class Net::HTTPInformation
|
Net::HTTPInformation::EXCEPTION_TYPE = Net::HTTPError
|
||||||
end
|
|
||||||
|
|
||||||
Net::HTTPInformationCode::EXCEPTION_TYPE = Net::HTTPError
|
Net::HTTPInformationCode = Net::HTTPInformation
|
||||||
|
|
||||||
class Net::HTTPInformation
|
|
||||||
end
|
|
||||||
|
|
||||||
class Net::HTTPLoopDetected
|
class Net::HTTPLoopDetected
|
||||||
HAS_BODY = ::T.let(nil, ::T.untyped)
|
HAS_BODY = ::T.let(nil, ::T.untyped)
|
||||||
@ -6400,8 +6283,6 @@ end
|
|||||||
class Net::HTTPRangeNotSatisfiable
|
class Net::HTTPRangeNotSatisfiable
|
||||||
end
|
end
|
||||||
|
|
||||||
Net::HTTPRedirection::EXCEPTION_TYPE = Net::HTTPRetriableError
|
|
||||||
|
|
||||||
Net::HTTPRedirectionCode = Net::HTTPRedirection
|
Net::HTTPRedirectionCode = Net::HTTPRedirection
|
||||||
|
|
||||||
Net::HTTPRequestURITooLarge = Net::HTTPURITooLong
|
Net::HTTPRequestURITooLarge = Net::HTTPURITooLong
|
||||||
@ -6432,9 +6313,13 @@ Net::HTTPServerErrorCode = Net::HTTPServerError
|
|||||||
|
|
||||||
Net::HTTPSession = Net::HTTP
|
Net::HTTPSession = Net::HTTP
|
||||||
|
|
||||||
Net::HTTPSuccess::EXCEPTION_TYPE = Net::HTTPError
|
class Net::HTTPSuccess
|
||||||
|
end
|
||||||
|
|
||||||
Net::HTTPSuccessCode = Net::HTTPSuccess
|
Net::HTTPSuccessCode::EXCEPTION_TYPE = Net::HTTPError
|
||||||
|
|
||||||
|
class Net::HTTPSuccess
|
||||||
|
end
|
||||||
|
|
||||||
class Net::HTTPURITooLong
|
class Net::HTTPURITooLong
|
||||||
HAS_BODY = ::T.let(nil, ::T.untyped)
|
HAS_BODY = ::T.let(nil, ::T.untyped)
|
||||||
@ -6476,7 +6361,6 @@ end
|
|||||||
|
|
||||||
class NilClass
|
class NilClass
|
||||||
include ::JSON::Ext::Generator::GeneratorMethods::NilClass
|
include ::JSON::Ext::Generator::GeneratorMethods::NilClass
|
||||||
def to_d(); end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class NoMatchingPatternKeyError
|
class NoMatchingPatternKeyError
|
||||||
@ -6525,14 +6409,11 @@ end
|
|||||||
|
|
||||||
class Object
|
class Object
|
||||||
include ::JSON::Ext::Generator::GeneratorMethods::Object
|
include ::JSON::Ext::Generator::GeneratorMethods::Object
|
||||||
include ::Minitest::Expectations
|
|
||||||
include ::SystemCommand::Mixin
|
include ::SystemCommand::Mixin
|
||||||
def __send(*arg); end
|
def __send(*arg); end
|
||||||
|
|
||||||
def __send!(*arg); end
|
def __send!(*arg); end
|
||||||
|
|
||||||
def stub(name, val_or_callable, *block_args, **block_kwargs, &block); end
|
|
||||||
|
|
||||||
def to_yaml(options=T.unsafe(nil)); end
|
def to_yaml(options=T.unsafe(nil)); end
|
||||||
ARGF = ::T.let(nil, ::T.untyped)
|
ARGF = ::T.let(nil, ::T.untyped)
|
||||||
ARGV = ::T.let(nil, ::T.untyped)
|
ARGV = ::T.let(nil, ::T.untyped)
|
||||||
@ -6686,7 +6567,6 @@ class OpenSSL::BN
|
|||||||
end
|
end
|
||||||
|
|
||||||
module OpenSSL::Buffering
|
module OpenSSL::Buffering
|
||||||
include ::ActiveSupport::ToJsonWithActiveSupportEncoder
|
|
||||||
def getbyte(); end
|
def getbyte(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -8021,7 +7901,9 @@ module RSpec::Core::HashImitatable
|
|||||||
|
|
||||||
def compact_blank(*args, &block); end
|
def compact_blank(*args, &block); end
|
||||||
|
|
||||||
def compact_blank!(*args, &block); end
|
def deep_merge(*args, &block); end
|
||||||
|
|
||||||
|
def deep_merge!(*args, &block); end
|
||||||
|
|
||||||
def deep_stringify_keys(*args, &block); end
|
def deep_stringify_keys(*args, &block); end
|
||||||
|
|
||||||
@ -8041,39 +7923,9 @@ module RSpec::Core::HashImitatable
|
|||||||
|
|
||||||
def exclude?(*args, &block); end
|
def exclude?(*args, &block); end
|
||||||
|
|
||||||
def excluding(*args, &block); end
|
|
||||||
|
|
||||||
def extractable_options?(*args, &block); end
|
|
||||||
|
|
||||||
def including(*args, &block); end
|
|
||||||
|
|
||||||
def index_by(*args, &block); end
|
|
||||||
|
|
||||||
def index_with(*args, &block); end
|
|
||||||
|
|
||||||
def many?(*args, &block); end
|
|
||||||
|
|
||||||
def pick(*args, &block); end
|
|
||||||
|
|
||||||
def pluck(*args, &block); end
|
|
||||||
|
|
||||||
def save_plist(*args, &block); end
|
def save_plist(*args, &block); end
|
||||||
|
|
||||||
def stringify_keys(*args, &block); end
|
|
||||||
|
|
||||||
def stringify_keys!(*args, &block); end
|
|
||||||
|
|
||||||
def symbolize_keys(*args, &block); end
|
|
||||||
|
|
||||||
def symbolize_keys!(*args, &block); end
|
|
||||||
|
|
||||||
def to_options(*args, &block); end
|
|
||||||
|
|
||||||
def to_options!(*args, &block); end
|
|
||||||
|
|
||||||
def to_plist(*args, &block); end
|
def to_plist(*args, &block); end
|
||||||
|
|
||||||
def without(*args, &block); end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
module RSpec::Core::MockingAdapters
|
module RSpec::Core::MockingAdapters
|
||||||
@ -8100,8 +7952,6 @@ module RSpec::Core::MockingAdapters
|
|||||||
end
|
end
|
||||||
|
|
||||||
class RSpec::Core::OutputWrapper
|
class RSpec::Core::OutputWrapper
|
||||||
def as_json(*args, &block); end
|
|
||||||
|
|
||||||
def readline_nonblock(*args, &block); end
|
def readline_nonblock(*args, &block); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -8219,6 +8069,12 @@ module Reline
|
|||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Reline::ANSI
|
||||||
|
CAPNAME_KEY_BINDINGS = ::T.let(nil, ::T.untyped)
|
||||||
|
END_BRACKETED_PASTE = ::T.let(nil, ::T.untyped)
|
||||||
|
START_BRACKETED_PASTE = ::T.let(nil, ::T.untyped)
|
||||||
|
end
|
||||||
|
|
||||||
class Reline::Config
|
class Reline::Config
|
||||||
KEYSEQ_PATTERN = ::T.let(nil, ::T.untyped)
|
KEYSEQ_PATTERN = ::T.let(nil, ::T.untyped)
|
||||||
VARIABLE_NAMES = ::T.let(nil, ::T.untyped)
|
VARIABLE_NAMES = ::T.let(nil, ::T.untyped)
|
||||||
@ -8229,7 +8085,7 @@ class Reline::Core
|
|||||||
ATTR_READER_NAMES = ::T.let(nil, ::T.untyped)
|
ATTR_READER_NAMES = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
|
|
||||||
Reline::IOGate = Reline::GeneralIO
|
Reline::IOGate = Reline::ANSI
|
||||||
|
|
||||||
Reline::Key = Struct::Key
|
Reline::Key = Struct::Key
|
||||||
|
|
||||||
@ -8990,47 +8846,21 @@ end
|
|||||||
module RuboCop::AST::CollectionNode
|
module RuboCop::AST::CollectionNode
|
||||||
def compact_blank(*args, **arg, &block); end
|
def compact_blank(*args, **arg, &block); end
|
||||||
|
|
||||||
def compact_blank!(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def exclude?(*args, **arg, &block); end
|
def exclude?(*args, **arg, &block); end
|
||||||
|
|
||||||
def excluding(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def extract_options!(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def fifth(*args, **arg, &block); end
|
def fifth(*args, **arg, &block); end
|
||||||
|
|
||||||
def fourth(*args, **arg, &block); end
|
def fourth(*args, **arg, &block); end
|
||||||
|
|
||||||
def including(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def index_by(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def index_with(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def many?(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def pick(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def pluck(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def save_plist(*args, **arg, &block); end
|
def save_plist(*args, **arg, &block); end
|
||||||
|
|
||||||
def second(*args, **arg, &block); end
|
def second(*args, **arg, &block); end
|
||||||
|
|
||||||
def third(*args, **arg, &block); end
|
def third(*args, **arg, &block); end
|
||||||
|
|
||||||
def to_default_s(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def to_formatted_s(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def to_plist(*args, **arg, &block); end
|
def to_plist(*args, **arg, &block); end
|
||||||
|
|
||||||
def to_sentence(*args, **arg, &block); end
|
def to_sentence(*args, **arg, &block); end
|
||||||
|
|
||||||
def to_xml(*args, **arg, &block); end
|
|
||||||
|
|
||||||
def without(*args, **arg, &block); end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
class RuboCop::AST::Node
|
class RuboCop::AST::Node
|
||||||
@ -9058,16 +8888,12 @@ module RuboCop::AST::NodePattern::Sets
|
|||||||
SET_BASH_COMPLETION_ZSH_COMPLETION_FISH_COMPLETION = ::T.let(nil, ::T.untyped)
|
SET_BASH_COMPLETION_ZSH_COMPLETION_FISH_COMPLETION = ::T.let(nil, ::T.untyped)
|
||||||
SET_BUILD_RECOMMENDED_TEST_OPTIONAL = ::T.let(nil, ::T.untyped)
|
SET_BUILD_RECOMMENDED_TEST_OPTIONAL = ::T.let(nil, ::T.untyped)
|
||||||
SET_DEPENDS_ON_USES_FROM_MACOS = ::T.let(nil, ::T.untyped)
|
SET_DEPENDS_ON_USES_FROM_MACOS = ::T.let(nil, ::T.untyped)
|
||||||
SET_HTML_HTML5 = ::T.let(nil, ::T.untyped)
|
|
||||||
SET_INCLUDE_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
|
SET_INCLUDE_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
|
||||||
SET_MAC_LINUX = ::T.let(nil, ::T.untyped)
|
SET_MAC_LINUX = ::T.let(nil, ::T.untyped)
|
||||||
SET_MATCH_MATCH_ = ::T.let(nil, ::T.untyped)
|
|
||||||
SET_ON_ARM_ON_INTEL_ON_SONOMA_ETC = ::T.let(nil, ::T.untyped)
|
SET_ON_ARM_ON_INTEL_ON_SONOMA_ETC = ::T.let(nil, ::T.untyped)
|
||||||
SET_ON_INTEL_ON_ARM = ::T.let(nil, ::T.untyped)
|
SET_ON_INTEL_ON_ARM = ::T.let(nil, ::T.untyped)
|
||||||
SET_OR_NEWER_OR_OLDER = ::T.let(nil, ::T.untyped)
|
SET_OR_NEWER_OR_OLDER = ::T.let(nil, ::T.untyped)
|
||||||
SET_SEND___SEND__ = ::T.let(nil, ::T.untyped)
|
|
||||||
SET_SYSTEM_SHELL_OUTPUT_PIPE_OUTPUT = ::T.let(nil, ::T.untyped)
|
SET_SYSTEM_SHELL_OUTPUT_PIPE_OUTPUT = ::T.let(nil, ::T.untyped)
|
||||||
SET_TEXT_EXACT_TEXT = ::T.let(nil, ::T.untyped)
|
|
||||||
SET_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
|
SET_WITH_WITHOUT = ::T.let(nil, ::T.untyped)
|
||||||
SET____ETC_5 = ::T.let(nil, ::T.untyped)
|
SET____ETC_5 = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
@ -9355,10 +9181,38 @@ module RuboCop::Cop::HelperFunctions
|
|||||||
extend ::T::Private::Methods::SingletonMethodHooks
|
extend ::T::Private::Methods::SingletonMethodHooks
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::Blank
|
||||||
|
def nil_or_empty?(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::CompactBlank
|
||||||
|
def reject_with_block?(param0=T.unsafe(nil)); end
|
||||||
|
|
||||||
|
def reject_with_block_pass?(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
class RuboCop::Cop::Homebrew::MoveToExtendOS
|
class RuboCop::Cop::Homebrew::MoveToExtendOS
|
||||||
def os_check?(param0=T.unsafe(nil)); end
|
def os_check?(param0=T.unsafe(nil)); end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::NegateInclude
|
||||||
|
def negate_include_call?(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::Presence
|
||||||
|
def redundant_negative_receiver_and_other(param0=T.unsafe(nil)); end
|
||||||
|
|
||||||
|
def redundant_receiver_and_other(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::Present
|
||||||
|
def exists_and_not_empty?(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
|
class RuboCop::Cop::Homebrew::SafeNavigationWithBlank
|
||||||
|
def safe_navigation_blank_in_conditional?(param0=T.unsafe(nil)); end
|
||||||
|
end
|
||||||
|
|
||||||
module RuboCop::Cop::OnSystemConditionalsHelper
|
module RuboCop::Cop::OnSystemConditionalsHelper
|
||||||
def hardware_cpu_search(param0, method:); end
|
def hardware_cpu_search(param0, method:); end
|
||||||
|
|
||||||
@ -9506,21 +9360,6 @@ module RubyVM::MJIT
|
|||||||
def self.resume(); end
|
def self.resume(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
module RubyVM::YJIT
|
|
||||||
end
|
|
||||||
|
|
||||||
module RubyVM::YJIT
|
|
||||||
def self.enabled?(); end
|
|
||||||
|
|
||||||
def self.reset_stats!(); end
|
|
||||||
|
|
||||||
def self.runtime_stats(); end
|
|
||||||
|
|
||||||
def self.simulate_oom!(); end
|
|
||||||
|
|
||||||
def self.stats_enabled?(); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class RubyVM
|
class RubyVM
|
||||||
def self.keep_script_lines(); end
|
def self.keep_script_lines(); end
|
||||||
|
|
||||||
@ -9602,6 +9441,7 @@ class Socket
|
|||||||
AF_PUP = ::T.let(nil, ::T.untyped)
|
AF_PUP = ::T.let(nil, ::T.untyped)
|
||||||
AF_SIP = ::T.let(nil, ::T.untyped)
|
AF_SIP = ::T.let(nil, ::T.untyped)
|
||||||
AF_SYSTEM = ::T.let(nil, ::T.untyped)
|
AF_SYSTEM = ::T.let(nil, ::T.untyped)
|
||||||
|
AF_VSOCK = ::T.let(nil, ::T.untyped)
|
||||||
AI_DEFAULT = ::T.let(nil, ::T.untyped)
|
AI_DEFAULT = ::T.let(nil, ::T.untyped)
|
||||||
AI_MASK = ::T.let(nil, ::T.untyped)
|
AI_MASK = ::T.let(nil, ::T.untyped)
|
||||||
AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped)
|
AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped)
|
||||||
@ -9624,6 +9464,7 @@ class Socket
|
|||||||
IPV6_PATHMTU = ::T.let(nil, ::T.untyped)
|
IPV6_PATHMTU = ::T.let(nil, ::T.untyped)
|
||||||
IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped)
|
IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped)
|
||||||
IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped)
|
IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped)
|
||||||
|
IP_DONTFRAG = ::T.let(nil, ::T.untyped)
|
||||||
IP_PORTRANGE = ::T.let(nil, ::T.untyped)
|
IP_PORTRANGE = ::T.let(nil, ::T.untyped)
|
||||||
IP_RECVDSTADDR = ::T.let(nil, ::T.untyped)
|
IP_RECVDSTADDR = ::T.let(nil, ::T.untyped)
|
||||||
IP_RECVIF = ::T.let(nil, ::T.untyped)
|
IP_RECVIF = ::T.let(nil, ::T.untyped)
|
||||||
@ -9658,6 +9499,7 @@ class Socket
|
|||||||
PF_RTIP = ::T.let(nil, ::T.untyped)
|
PF_RTIP = ::T.let(nil, ::T.untyped)
|
||||||
PF_SIP = ::T.let(nil, ::T.untyped)
|
PF_SIP = ::T.let(nil, ::T.untyped)
|
||||||
PF_SYSTEM = ::T.let(nil, ::T.untyped)
|
PF_SYSTEM = ::T.let(nil, ::T.untyped)
|
||||||
|
PF_VSOCK = ::T.let(nil, ::T.untyped)
|
||||||
PF_XTP = ::T.let(nil, ::T.untyped)
|
PF_XTP = ::T.let(nil, ::T.untyped)
|
||||||
SCM_CREDS = ::T.let(nil, ::T.untyped)
|
SCM_CREDS = ::T.let(nil, ::T.untyped)
|
||||||
SO_DONTTRUNC = ::T.let(nil, ::T.untyped)
|
SO_DONTTRUNC = ::T.let(nil, ::T.untyped)
|
||||||
@ -9695,6 +9537,7 @@ module Socket::Constants
|
|||||||
AF_PUP = ::T.let(nil, ::T.untyped)
|
AF_PUP = ::T.let(nil, ::T.untyped)
|
||||||
AF_SIP = ::T.let(nil, ::T.untyped)
|
AF_SIP = ::T.let(nil, ::T.untyped)
|
||||||
AF_SYSTEM = ::T.let(nil, ::T.untyped)
|
AF_SYSTEM = ::T.let(nil, ::T.untyped)
|
||||||
|
AF_VSOCK = ::T.let(nil, ::T.untyped)
|
||||||
AI_DEFAULT = ::T.let(nil, ::T.untyped)
|
AI_DEFAULT = ::T.let(nil, ::T.untyped)
|
||||||
AI_MASK = ::T.let(nil, ::T.untyped)
|
AI_MASK = ::T.let(nil, ::T.untyped)
|
||||||
AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped)
|
AI_V4MAPPED_CFG = ::T.let(nil, ::T.untyped)
|
||||||
@ -9717,6 +9560,7 @@ module Socket::Constants
|
|||||||
IPV6_PATHMTU = ::T.let(nil, ::T.untyped)
|
IPV6_PATHMTU = ::T.let(nil, ::T.untyped)
|
||||||
IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped)
|
IPV6_RECVPATHMTU = ::T.let(nil, ::T.untyped)
|
||||||
IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped)
|
IPV6_USE_MIN_MTU = ::T.let(nil, ::T.untyped)
|
||||||
|
IP_DONTFRAG = ::T.let(nil, ::T.untyped)
|
||||||
IP_PORTRANGE = ::T.let(nil, ::T.untyped)
|
IP_PORTRANGE = ::T.let(nil, ::T.untyped)
|
||||||
IP_RECVDSTADDR = ::T.let(nil, ::T.untyped)
|
IP_RECVDSTADDR = ::T.let(nil, ::T.untyped)
|
||||||
IP_RECVIF = ::T.let(nil, ::T.untyped)
|
IP_RECVIF = ::T.let(nil, ::T.untyped)
|
||||||
@ -9751,6 +9595,7 @@ module Socket::Constants
|
|||||||
PF_RTIP = ::T.let(nil, ::T.untyped)
|
PF_RTIP = ::T.let(nil, ::T.untyped)
|
||||||
PF_SIP = ::T.let(nil, ::T.untyped)
|
PF_SIP = ::T.let(nil, ::T.untyped)
|
||||||
PF_SYSTEM = ::T.let(nil, ::T.untyped)
|
PF_SYSTEM = ::T.let(nil, ::T.untyped)
|
||||||
|
PF_VSOCK = ::T.let(nil, ::T.untyped)
|
||||||
PF_XTP = ::T.let(nil, ::T.untyped)
|
PF_XTP = ::T.let(nil, ::T.untyped)
|
||||||
SCM_CREDS = ::T.let(nil, ::T.untyped)
|
SCM_CREDS = ::T.let(nil, ::T.untyped)
|
||||||
SO_DONTTRUNC = ::T.let(nil, ::T.untyped)
|
SO_DONTTRUNC = ::T.let(nil, ::T.untyped)
|
||||||
@ -9871,16 +9716,12 @@ end
|
|||||||
|
|
||||||
class String
|
class String
|
||||||
include ::JSON::Ext::Generator::GeneratorMethods::String
|
include ::JSON::Ext::Generator::GeneratorMethods::String
|
||||||
def ends_with?(*arg); end
|
|
||||||
|
|
||||||
def fast_xs(); end
|
def fast_xs(); end
|
||||||
|
|
||||||
def shellescape(); end
|
def shellescape(); end
|
||||||
|
|
||||||
def shellsplit(); end
|
def shellsplit(); end
|
||||||
|
|
||||||
def starts_with?(*arg); end
|
|
||||||
|
|
||||||
def to_nfc(); end
|
def to_nfc(); end
|
||||||
|
|
||||||
def to_nfd(); end
|
def to_nfd(); end
|
||||||
@ -9931,10 +9772,6 @@ module Superenv
|
|||||||
end
|
end
|
||||||
|
|
||||||
class Symbol
|
class Symbol
|
||||||
def ends_with?(*arg); end
|
|
||||||
|
|
||||||
def starts_with?(*arg); end
|
|
||||||
|
|
||||||
def to_msgpack_ext(); end
|
def to_msgpack_ext(); end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -9972,22 +9809,6 @@ class Thread
|
|||||||
def self.new(*arg); end
|
def self.new(*arg); end
|
||||||
end
|
end
|
||||||
|
|
||||||
class Time
|
|
||||||
def compare_without_coercion(arg); end
|
|
||||||
|
|
||||||
def eql_without_coercion(arg); end
|
|
||||||
|
|
||||||
def minus_without_duration(arg); end
|
|
||||||
|
|
||||||
def plus_without_duration(arg); end
|
|
||||||
|
|
||||||
def to_default_s(); end
|
|
||||||
end
|
|
||||||
|
|
||||||
class Time
|
|
||||||
def self.at_without_coercion(time, subsec=T.unsafe(nil), unit=T.unsafe(nil), in: T.unsafe(nil)); end
|
|
||||||
end
|
|
||||||
|
|
||||||
module Timeout
|
module Timeout
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
VERSION = ::T.let(nil, ::T.untyped)
|
||||||
end
|
end
|
||||||
@ -10243,12 +10064,6 @@ class Version::Token
|
|||||||
extend ::T::Private::Abstract::Hooks
|
extend ::T::Private::Abstract::Hooks
|
||||||
end
|
end
|
||||||
|
|
||||||
class WeakRef
|
|
||||||
def initialize(orig); end
|
|
||||||
RUBYGEMS_ACTIVATION_MONITOR = ::T.let(nil, ::T.untyped)
|
|
||||||
VERSION = ::T.let(nil, ::T.untyped)
|
|
||||||
end
|
|
||||||
|
|
||||||
module YARDSorbet::Directives
|
module YARDSorbet::Directives
|
||||||
extend ::T::Private::Methods::MethodHooks
|
extend ::T::Private::Methods::MethodHooks
|
||||||
extend ::T::Private::Methods::SingletonMethodHooks
|
extend ::T::Private::Methods::SingletonMethodHooks
|
||||||
|
|||||||
@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
# This should not be made a constant or Tapioca will think it is part of a gem.
|
# This should not be made a constant or Tapioca will think it is part of a gem.
|
||||||
dependency_require_map = {
|
dependency_require_map = {
|
||||||
"activesupport" => "active_support/all",
|
|
||||||
"ruby-macho" => "macho",
|
"ruby-macho" => "macho",
|
||||||
}.freeze
|
}.freeze
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
# typed: true
|
# typed: true
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# Disable Rails cops, as we haven't required active_support yet.
|
|
||||||
# rubocop:disable Rails
|
|
||||||
homebrew_bootsnap_enabled = ENV["HOMEBREW_NO_BOOTSNAP"].nil? && !ENV["HOMEBREW_BOOTSNAP"].nil?
|
homebrew_bootsnap_enabled = ENV["HOMEBREW_NO_BOOTSNAP"].nil? && !ENV["HOMEBREW_BOOTSNAP"].nil?
|
||||||
|
|
||||||
# we need some development tools to build bootsnap native code
|
# we need some development tools to build bootsnap native code
|
||||||
@ -49,4 +47,3 @@ if homebrew_bootsnap_enabled
|
|||||||
$stderr.puts "Error: HOMEBREW_BOOTSNAP could not `require \"bootsnap\"`!\n\n"
|
$stderr.puts "Error: HOMEBREW_BOOTSNAP could not `require \"bootsnap\"`!\n\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
# rubocop:enable Rails
|
|
||||||
|
|||||||
@ -7,9 +7,4 @@ describe "brew", :integration_test do
|
|||||||
.and not_to_output.to_stderr
|
.and not_to_output.to_stderr
|
||||||
.and be_a_success
|
.and be_a_success
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not require i18n" do
|
|
||||||
# This is a transitive dependency of activesupport, but we don't use it.
|
|
||||||
expect { I18n }.to raise_error(NameError)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
106
Library/Homebrew/test/rubocops/blank_spec.rb
Normal file
106
Library/Homebrew/test/rubocops/blank_spec.rb
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/blank"
|
||||||
|
|
||||||
|
describe RuboCop::Cop::Homebrew::Blank, :config do
|
||||||
|
shared_examples "offense" do |source, correction, message|
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY, source: source, message: message)
|
||||||
|
#{source}
|
||||||
|
^{source} #{message}
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
#{correction}
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking nil?" do
|
||||||
|
expect_no_offenses("foo.nil?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking empty?" do
|
||||||
|
expect_no_offenses("foo.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking nil? || empty? on different objects" do
|
||||||
|
expect_no_offenses("foo.nil? || bar.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
# Bug: https://github.com/rubocop/rubocop/issues/4171
|
||||||
|
it "does not break when RHS of `or` is a naked falsiness check" do
|
||||||
|
expect_no_offenses("foo.empty? || bar")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not break when LHS of `or` is a naked falsiness check" do
|
||||||
|
expect_no_offenses("bar || foo.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
# Bug: https://github.com/rubocop/rubocop/issues/4814
|
||||||
|
it "does not break when LHS of `or` is a send node with an argument" do
|
||||||
|
expect_no_offenses("x(1) || something")
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when nil or empty" do
|
||||||
|
it_behaves_like "offense", "foo.nil? || foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of `foo.nil? || foo.empty?`."
|
||||||
|
it_behaves_like "offense", "nil? || empty?", "blank?", "Use `blank?` instead of `nil? || empty?`."
|
||||||
|
it_behaves_like "offense", "foo == nil || foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of `foo == nil || foo.empty?`."
|
||||||
|
it_behaves_like "offense", "nil == foo || foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of `nil == foo || foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!foo || foo.empty?", "foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of `!foo || foo.empty?`."
|
||||||
|
|
||||||
|
it_behaves_like "offense", "foo.nil? || !!foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of `foo.nil? || !!foo.empty?`."
|
||||||
|
it_behaves_like "offense", "foo == nil || !!foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of " \
|
||||||
|
"`foo == nil || !!foo.empty?`."
|
||||||
|
it_behaves_like "offense", "nil == foo || !!foo.empty?",
|
||||||
|
"foo.blank?",
|
||||||
|
"Use `foo.blank?` instead of " \
|
||||||
|
"`nil == foo || !!foo.empty?`."
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when checking all variable types" do
|
||||||
|
it_behaves_like "offense", "foo.bar.nil? || foo.bar.empty?",
|
||||||
|
"foo.bar.blank?",
|
||||||
|
"Use `foo.bar.blank?` instead of " \
|
||||||
|
"`foo.bar.nil? || foo.bar.empty?`."
|
||||||
|
it_behaves_like "offense", "FOO.nil? || FOO.empty?",
|
||||||
|
"FOO.blank?",
|
||||||
|
"Use `FOO.blank?` instead of `FOO.nil? || FOO.empty?`."
|
||||||
|
it_behaves_like "offense", "Foo.nil? || Foo.empty?",
|
||||||
|
"Foo.blank?",
|
||||||
|
"Use `Foo.blank?` instead of `Foo.nil? || Foo.empty?`."
|
||||||
|
it_behaves_like "offense", "Foo::Bar.nil? || Foo::Bar.empty?",
|
||||||
|
"Foo::Bar.blank?",
|
||||||
|
"Use `Foo::Bar.blank?` instead of " \
|
||||||
|
"`Foo::Bar.nil? || Foo::Bar.empty?`."
|
||||||
|
it_behaves_like "offense", "@foo.nil? || @foo.empty?",
|
||||||
|
"@foo.blank?",
|
||||||
|
"Use `@foo.blank?` instead of `@foo.nil? || @foo.empty?`."
|
||||||
|
it_behaves_like "offense", "$foo.nil? || $foo.empty?",
|
||||||
|
"$foo.blank?",
|
||||||
|
"Use `$foo.blank?` instead of `$foo.nil? || $foo.empty?`."
|
||||||
|
it_behaves_like "offense", "@@foo.nil? || @@foo.empty?",
|
||||||
|
"@@foo.blank?",
|
||||||
|
"Use `@@foo.blank?` instead of " \
|
||||||
|
"`@@foo.nil? || @@foo.empty?`."
|
||||||
|
it_behaves_like "offense", "foo[bar].nil? || foo[bar].empty?",
|
||||||
|
"foo[bar].blank?",
|
||||||
|
"Use `foo[bar].blank?` instead of " \
|
||||||
|
"`foo[bar].nil? || foo[bar].empty?`."
|
||||||
|
it_behaves_like "offense", "foo(bar).nil? || foo(bar).empty?",
|
||||||
|
"foo(bar).blank?",
|
||||||
|
"Use `foo(bar).blank?` instead of " \
|
||||||
|
"`foo(bar).nil? || foo(bar).empty?`."
|
||||||
|
end
|
||||||
|
end
|
||||||
114
Library/Homebrew/test/rubocops/compact_blank_spec.rb
Normal file
114
Library/Homebrew/test/rubocops/compact_blank_spec.rb
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/compact_blank"
|
||||||
|
|
||||||
|
RSpec.describe RuboCop::Cop::Homebrew::CompactBlank, :config do
|
||||||
|
it "registers and corrects an offense when using `reject { |e| e.blank? }`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.reject { |e| e.blank? }
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^ Use `compact_blank` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `reject(&:blank?)`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.reject(&:blank?)
|
||||||
|
^^^^^^^^^^^^^^^^ Use `compact_blank` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `delete_if { |e| e.blank? }`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.delete_if { |e| e.blank? }
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^ Use `compact_blank!` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank!
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `delete_if(&:blank?)`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.delete_if(&:blank?)
|
||||||
|
^^^^^^^^^^^^^^^^^^^ Use `compact_blank!` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank!
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `reject! { |e| e.blank? }`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.reject! { |e| e.blank? }
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^ Use `compact_blank!` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank!
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `reject!(&:blank?)`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
collection.reject!(&:blank?)
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `compact_blank!` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
collection.compact_blank!
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers and corrects an offense when using `reject(&:blank?)` in block" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
hash.transform_values { |value| value.reject(&:blank?) }
|
||||||
|
^^^^^^^^^^^^^^^^ Use `compact_blank` instead.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
hash.transform_values { |value| value.compact_blank }
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `compact_blank`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
collection.compact_blank
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `compact_blank!`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
collection.compact_blank!
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `reject { |k, v| k.blank? }`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
collection.reject { |k, v| k.blank? }
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using the receiver of `blank?` is not a block variable" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
def foo(arg)
|
||||||
|
collection.reject { |_| arg.blank? }
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `reject { |e| e.empty? }`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
collection.reject { |e| e.empty? }
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
29
Library/Homebrew/test/rubocops/negate_include_spec.rb
Normal file
29
Library/Homebrew/test/rubocops/negate_include_spec.rb
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/negate_include"
|
||||||
|
|
||||||
|
RSpec.describe RuboCop::Cop::Homebrew::NegateInclude, :config do
|
||||||
|
it "registers an offense and corrects when using `!include?`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
!array.include?(2)
|
||||||
|
^^^^^^^^^^^^^^^^^^ Use `.exclude?` and remove the negation part.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
array.exclude?(2)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `!include?` without receiver" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
!include?(2)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `include?` or `exclude?`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
array.include?(2)
|
||||||
|
array.exclude?(2)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
446
Library/Homebrew/test/rubocops/presence_spec.rb
Normal file
446
Library/Homebrew/test/rubocops/presence_spec.rb
Normal file
@ -0,0 +1,446 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/presence"
|
||||||
|
|
||||||
|
RSpec.describe RuboCop::Cop::Homebrew::Presence, :config do
|
||||||
|
it "registers an offense and corrects when `a.present? ? a : nil`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.present? ? a : nil
|
||||||
|
^^^^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `a.present? ? a : nil`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `!a.present? ? nil: a`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
!a.present? ? nil: a
|
||||||
|
^^^^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `!a.present? ? nil: a`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.blank? ? nil : a`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.blank? ? nil : a
|
||||||
|
^^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `a.blank? ? nil : a`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `!a.blank? ? a : nil`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
!a.blank? ? a : nil
|
||||||
|
^^^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `!a.blank? ? a : nil`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.present? ? a : b`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.present? ? a : b
|
||||||
|
^^^^^^^^^^^^^^^^^^ Use `a.presence || b` instead of `a.present? ? a : b`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `!a.present? ? b : a`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
!a.present? ? b : a
|
||||||
|
^^^^^^^^^^^^^^^^^^^ Use `a.presence || b` instead of `!a.present? ? b : a`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.blank? ? b : a`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.blank? ? b : a
|
||||||
|
^^^^^^^^^^^^^^^^ Use `a.presence || b` instead of `a.blank? ? b : a`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `!a.blank? ? a : b`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
!a.blank? ? a : b
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `a.presence || b` instead of `!a.blank? ? a : b`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.present? ? a : 1`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.present? ? a : 1
|
||||||
|
^^^^^^^^^^^^^^^^^^ Use `a.presence || 1` instead of `a.present? ? a : 1`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || 1
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.blank? ? 1 : a`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.blank? ? 1 : a
|
||||||
|
^^^^^^^^^^^^^^^^ Use `a.presence || 1` instead of `a.blank? ? 1 : a`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || 1
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a(:bar).map(&:baz).present? ? a(:bar).map(&:baz) : nil`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a(:bar).map(&:baz).present? ? a(:bar).map(&:baz) : nil
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use `a(:bar).map(&:baz).presence` instead of `a(:bar).map(&:baz).present? ? a(:bar).map(&:baz) : nil`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a(:bar).map(&:baz).presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a.present? ? a : b[:c]`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.present? ? a : b[:c]
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^ Use `a.presence || b[:c]` instead of `a.present? ? a : b[:c]`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b[:c]
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when multi-line if node" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
^^^^^^^^^^^^^ Use `a.presence` instead of `if a.present? ... end`.
|
||||||
|
a
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when multi-line unless node" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
unless a.present?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `unless a.present? ... end`.
|
||||||
|
nil
|
||||||
|
else
|
||||||
|
a
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when multi-line if node with `+` operators in the else branch" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
^^^^^^^^^^^^^ Use `a.presence || b.to_f + 12.0` instead of `if a.present? ... end`.
|
||||||
|
a
|
||||||
|
else
|
||||||
|
b.to_f + 12.0
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b.to_f + 12.0
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when multi-line if `*` operators in the else branch" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
^^^^^^^^^^^^^ Use `a.presence || b.to_f * 12.0` instead of `if a.present? ... end`.
|
||||||
|
a
|
||||||
|
else
|
||||||
|
b.to_f * 12.0
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence || b.to_f * 12.0
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a if a.present?`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a if a.present?
|
||||||
|
^^^^^^^^^^^^^^^ Use `a.presence` instead of `a if a.present?`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `a unless a.blank?`" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a unless a.blank?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `a.presence` instead of `a unless a.blank?`.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense and corrects when `.present?` with method chain" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if [1, 2, 3].map { |num| num + 1 }
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use `[1, 2, 3].map { |num| num + 1 }.map { |num| num + 2 }.presence || b` instead of `if [1, 2, 3].map { |num| num + 1 }.map { |num| num + 2 }.present? ... end`.
|
||||||
|
.map { |num| num + 2 }
|
||||||
|
.present?
|
||||||
|
[1, 2, 3].map { |num| num + 1 }.map { |num| num + 2 }
|
||||||
|
else
|
||||||
|
b
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
[1, 2, 3].map { |num| num + 1 }
|
||||||
|
.map { |num| num + 2 }.presence || b
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when multiline ternary can be replaced" do
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
a.present? ?
|
||||||
|
^^^^^^^^^^^^ Use `a.presence` instead of `a.present? ? a : nil`.
|
||||||
|
a :
|
||||||
|
nil
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when a method argument of `else` branch is enclosed in parentheses" do
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if value.present?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `value.presence || do_something(value)` instead of `if value.present? ... end`.
|
||||||
|
value
|
||||||
|
else
|
||||||
|
do_something(value)
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
value.presence || do_something(value)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when a method argument of `else` branch is not enclosed in parentheses" do
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if value.present?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `value.presence || do_something(value)` instead of `if value.present? ... end`.
|
||||||
|
value
|
||||||
|
else
|
||||||
|
do_something value
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
value.presence || do_something(value)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when multiple method arguments of `else` branch is not enclosed in parentheses" do
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if value.present?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `value.presence || do_something(arg1, arg2)` instead of `if value.present? ... end`.
|
||||||
|
value
|
||||||
|
else
|
||||||
|
do_something arg1, arg2
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
value.presence || do_something(arg1, arg2)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when a method argument with a receiver of `else` branch is not enclosed in parentheses" do
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
if value.present?
|
||||||
|
^^^^^^^^^^^^^^^^^ Use `value.presence || foo.do_something(value)` instead of `if value.present? ... end`.
|
||||||
|
value
|
||||||
|
else
|
||||||
|
foo.do_something value
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
value.presence || foo.do_something(value)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when a right-hand side of the relational operator" do
|
||||||
|
%w[< > <= >= == !=].each do |operator|
|
||||||
|
it "registers an offense and corrects when `#{operator}`" do
|
||||||
|
expect_offense(<<~RUBY, operator: operator)
|
||||||
|
a #{operator} if b.present?
|
||||||
|
_{operator} ^^^^^^^^^^^^^ Use `(b.presence || c)` instead of `if b.present? ... end`.
|
||||||
|
b
|
||||||
|
else
|
||||||
|
c
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
a #{operator} (b.presence || c)
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using `#presence`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
a.presence
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the expression does not return the receiver of `#present?`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
a.present? ? b : nil
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
puts foo if present?
|
||||||
|
puts foo if !present?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the expression does not return the receiver of `#blank?`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
a.blank? ? nil : b
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
puts foo if blank?
|
||||||
|
puts foo if !blank?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when if or unless modifier is used" do
|
||||||
|
[
|
||||||
|
"a if a.blank?",
|
||||||
|
"a unless a.present?",
|
||||||
|
].each { |source| expect_no_offenses(source) }
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the else block is multiline" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
a
|
||||||
|
else
|
||||||
|
something
|
||||||
|
something
|
||||||
|
something
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the else block has multiple statements" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
a
|
||||||
|
else
|
||||||
|
something; something; something
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when including the elsif block" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
a
|
||||||
|
elsif b
|
||||||
|
b
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the else block has `if` node" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
a
|
||||||
|
else
|
||||||
|
b if c
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the else block has `rescue` node" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if something_method.present?
|
||||||
|
something_method
|
||||||
|
else
|
||||||
|
invalid_method rescue StandardError
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when the else block has `while` node" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if a.present?
|
||||||
|
a
|
||||||
|
else
|
||||||
|
fetch_state while waiting?
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense when using #present? with elsif block" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
if something?
|
||||||
|
a
|
||||||
|
elsif b.present?
|
||||||
|
b
|
||||||
|
end
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
92
Library/Homebrew/test/rubocops/present_spec.rb
Normal file
92
Library/Homebrew/test/rubocops/present_spec.rb
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/present"
|
||||||
|
|
||||||
|
describe RuboCop::Cop::Homebrew::Present, :config do
|
||||||
|
shared_examples "offense" do |source, correction, message|
|
||||||
|
it "registers an offense and corrects" do
|
||||||
|
expect_offense(<<~RUBY, source: source, message: message)
|
||||||
|
#{source}
|
||||||
|
^{source} #{message}
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
#{correction}
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking nil?" do
|
||||||
|
expect_no_offenses("foo.nil?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking empty?" do
|
||||||
|
expect_no_offenses("foo.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking nil? || empty? on different objects" do
|
||||||
|
expect_no_offenses("foo.nil? || bar.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "accepts checking existence && not empty? on different objects" do
|
||||||
|
expect_no_offenses("foo && !bar.empty?")
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like "offense", "foo && !foo.empty?",
|
||||||
|
"foo.present?",
|
||||||
|
"Use `foo.present?` instead of `foo && !foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!foo.nil? && !foo.empty?",
|
||||||
|
"foo.present?",
|
||||||
|
"Use `foo.present?` instead of `!foo.nil? && !foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!nil? && !empty?", "present?",
|
||||||
|
"Use `present?` instead of `!nil? && !empty?`."
|
||||||
|
it_behaves_like "offense", "foo != nil && !foo.empty?",
|
||||||
|
"foo.present?",
|
||||||
|
"Use `foo.present?` instead of `foo != nil && !foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!!foo && !foo.empty?",
|
||||||
|
"foo.present?",
|
||||||
|
"Use `foo.present?` instead of `!!foo && !foo.empty?`."
|
||||||
|
|
||||||
|
context "when checking all variable types" do
|
||||||
|
it_behaves_like "offense", "!foo.nil? && !foo.empty?",
|
||||||
|
"foo.present?",
|
||||||
|
"Use `foo.present?` instead of " \
|
||||||
|
"`!foo.nil? && !foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!foo.bar.nil? && !foo.bar.empty?",
|
||||||
|
"foo.bar.present?",
|
||||||
|
"Use `foo.bar.present?` instead of " \
|
||||||
|
"`!foo.bar.nil? && !foo.bar.empty?`."
|
||||||
|
it_behaves_like "offense", "!FOO.nil? && !FOO.empty?",
|
||||||
|
"FOO.present?",
|
||||||
|
"Use `FOO.present?` instead of " \
|
||||||
|
"`!FOO.nil? && !FOO.empty?`."
|
||||||
|
it_behaves_like "offense", "!Foo.nil? && !Foo.empty?",
|
||||||
|
"Foo.present?",
|
||||||
|
"Use `Foo.present?` instead of " \
|
||||||
|
"`!Foo.nil? && !Foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!@foo.nil? && !@foo.empty?",
|
||||||
|
"@foo.present?",
|
||||||
|
"Use `@foo.present?` instead of " \
|
||||||
|
"`!@foo.nil? && !@foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!$foo.nil? && !$foo.empty?",
|
||||||
|
"$foo.present?",
|
||||||
|
"Use `$foo.present?` instead of " \
|
||||||
|
"`!$foo.nil? && !$foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!@@foo.nil? && !@@foo.empty?",
|
||||||
|
"@@foo.present?",
|
||||||
|
"Use `@@foo.present?` instead of " \
|
||||||
|
"`!@@foo.nil? && !@@foo.empty?`."
|
||||||
|
it_behaves_like "offense", "!foo[bar].nil? && !foo[bar].empty?",
|
||||||
|
"foo[bar].present?",
|
||||||
|
"Use `foo[bar].present?` instead of " \
|
||||||
|
"`!foo[bar].nil? && !foo[bar].empty?`."
|
||||||
|
it_behaves_like "offense", "!Foo::Bar.nil? && !Foo::Bar.empty?",
|
||||||
|
"Foo::Bar.present?",
|
||||||
|
"Use `Foo::Bar.present?` instead of " \
|
||||||
|
"`!Foo::Bar.nil? && !Foo::Bar.empty?`."
|
||||||
|
it_behaves_like "offense", "!foo(bar).nil? && !foo(bar).empty?",
|
||||||
|
"foo(bar).present?",
|
||||||
|
"Use `foo(bar).present?` instead of " \
|
||||||
|
"`!foo(bar).nil? && !foo(bar).empty?`."
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -0,0 +1,43 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "rubocops/safe_navigation_with_blank"
|
||||||
|
|
||||||
|
RSpec.describe RuboCop::Cop::Homebrew::SafeNavigationWithBlank, :config do
|
||||||
|
context "when in a conditional" do
|
||||||
|
it "registers an offense on a single conditional" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
do_something unless foo&.blank?
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Avoid calling `blank?` with the safe navigation operator in conditionals.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
do_something unless foo.blank?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "registers an offense on chained conditionals" do
|
||||||
|
expect_offense(<<~RUBY)
|
||||||
|
do_something unless foo&.bar&.blank?
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Avoid calling `blank?` with the safe navigation operator in conditionals.
|
||||||
|
RUBY
|
||||||
|
|
||||||
|
expect_correction(<<~RUBY)
|
||||||
|
do_something unless foo&.bar.blank?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not register an offense on `.blank?`" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
return if foo.blank?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
context "when outside a conditional" do
|
||||||
|
it "registers no offense" do
|
||||||
|
expect_no_offenses(<<~RUBY)
|
||||||
|
bar = foo&.blank?
|
||||||
|
RUBY
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -14,7 +14,7 @@ module Homebrew
|
|||||||
|
|
||||||
# Bump this whenever a committed vendored gem is later added to or exclusion removed from gitignore.
|
# Bump this whenever a committed vendored gem is later added to or exclusion removed from gitignore.
|
||||||
# This will trigger it to reinstall properly if `brew install-bundler-gems` needs it.
|
# This will trigger it to reinstall properly if `brew install-bundler-gems` needs it.
|
||||||
VENDOR_VERSION = 5
|
VENDOR_VERSION = 6
|
||||||
private_constant :VENDOR_VERSION
|
private_constant :VENDOR_VERSION
|
||||||
|
|
||||||
RUBY_BUNDLE_VENDOR_DIRECTORY = (HOMEBREW_LIBRARY_PATH/"vendor/bundle/ruby").freeze
|
RUBY_BUNDLE_VENDOR_DIRECTORY = (HOMEBREW_LIBRARY_PATH/"vendor/bundle/ruby").freeze
|
||||||
|
|||||||
@ -27,12 +27,6 @@ else
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/concurrent-ruby-1.2.3/lib/concurrent-ruby")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/i18n-1.14.1/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/minitest-5.21.2/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/tzinfo-2.0.6/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/zeitwerk-2.6.12/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/activesupport-6.1.7.6/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/public_suffix-5.0.4/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/public_suffix-5.0.4/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/addressable-2.8.6/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/addressable-2.8.6/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ast-2.4.2/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ast-2.4.2/lib")
|
||||||
@ -63,6 +57,7 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
|||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json_schemer-2.1.1/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/json_schemer-2.1.1/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/language_server-protocol-3.17.0.3/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/language_server-protocol-3.17.0.3/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/method_source-1.0.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/method_source-1.0.0/lib")
|
||||||
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/minitest-5.21.2/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/mustache-1.1.1/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/mustache-1.1.1/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/netrc-0.11.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/netrc-0.11.0/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel-1.24.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/parallel-1.24.0/lib")
|
||||||
@ -79,7 +74,6 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
|||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/x86_64-darwin-15/#{Gem.extension_api_version}/prism-0.19.0")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/x86_64-darwin-15/#{Gem.extension_api_version}/prism-0.19.0")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/prism-0.19.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/prism-0.19.0/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/pry-0.14.2/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/pry-0.14.2/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rack-3.0.8/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbi-0.1.6/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rbi-0.1.6/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/x86_64-darwin-15/#{Gem.extension_api_version}/rdiscount-2.2.7.3")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/extensions/x86_64-darwin-15/#{Gem.extension_api_version}/rdiscount-2.2.7.3")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rdiscount-2.2.7.3/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rdiscount-2.2.7.3/lib")
|
||||||
@ -102,7 +96,6 @@ $:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version
|
|||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-capybara-2.20.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-capybara-2.20.0/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-factory_bot-2.25.1/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-factory_bot-2.25.1/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-performance-1.20.2/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-performance-1.20.2/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rails-2.23.1/lib")
|
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rspec-2.26.1/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-rspec-2.26.1/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-sorbet-0.7.6/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/rubocop-sorbet-0.7.6/lib")
|
||||||
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-macho-4.0.0/lib")
|
$:.unshift File.expand_path("#{__dir__}/../#{RUBY_ENGINE}/#{Gem.ruby_api_version}/gems/ruby-macho-4.0.0/lib")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user